Bagaimana saya bisa membuat dan menggunakan Linux cgroups sebagai pengguna non-root?
21
Bagaimana saya bisa membuat dan menggunakan cgroup sebagai pengguna non-root?
Misalnya, bisakah saya, sepenuhnya sebagai pengguna non-root:
buat cgroup dengan akses ke satu CPU
buat proses baru di cgroup itu
?
Saya pertama kali bertanya di sini tetapi saya tidak menerima jawaban yang lengkap. Saya juga bertanya di stackoverflow , tetapi pertanyaan itu ditutup sebagai off topic.
Anda tidak dapat melakukan itu sebagai pengguna biasa. Tetapi Anda dapat mengatur cgroup sebagai root, dan membuatnya dapat dikonfigurasi oleh pengguna Anda.
Jika Anda belum memiliki pengontrol cgroup default yang dipasang oleh eg systemd:
$ sudo mount -t tmpfs cgroup_root /sys/fs/cgroup
$ sudo mkdir /sys/fs/cgroup/cpuset
$ sudo mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset
bagaimana Anda menghapus subkelompok? rm -rgagal untuk saya
hbogert
1
rm -rakan mencoba untuk menghapus file terlebih dahulu, yang gagal. Gunakan rmdiruntuk menghapus cgroup.
Dennis B.
Anda tidak bisa rmdirsampai tasksfile tersebut kosong. root akan perlu melihat file tugas di subkelompok, dan menggemakan setiap pid di sana ke dalam file tugas root cgroup ( /dev/cpuset/taskspada kotak RHEL 6.7 [kernel 2.6.32-358] saya, tetapi sepertinya /sys/fs/cgroup/cpuset/tasksmungkin sesuai di sini).
Mike S
1
Jika Anda menggunakan Ubuntu, Anda (pengguna root) dapat menginstal cgroup-lite dan menambahkan apa yang Anda butuhkan ke /etc/cgconfig.conf, termasuk pengguna mana yang dapat mengubah konfigurasi cgroup. Ini berjalan saat boot.
Gagal bahwa Anda (pengguna root) dapat menambahkan skrip Anda sendiri untuk dijalankan saat boot.
Ada serangkaian artikel tentang LWN di cgroups, lihat bagian 1 , atau lihat pencarian di sana. Systemd mencakup seperangkat pembantu untuk mengelola (proses yang dikurung oleh) grup.
rm -r
gagal untuk sayarm -r
akan mencoba untuk menghapus file terlebih dahulu, yang gagal. Gunakanrmdir
untuk menghapus cgroup.rmdir
sampaitasks
file tersebut kosong. root akan perlu melihat file tugas di subkelompok, dan menggemakan setiap pid di sana ke dalam file tugas root cgroup (/dev/cpuset/tasks
pada kotak RHEL 6.7 [kernel 2.6.32-358] saya, tetapi sepertinya/sys/fs/cgroup/cpuset/tasks
mungkin sesuai di sini).Jika Anda menggunakan Ubuntu, Anda (pengguna root) dapat menginstal cgroup-lite dan menambahkan apa yang Anda butuhkan ke /etc/cgconfig.conf, termasuk pengguna mana yang dapat mengubah konfigurasi cgroup. Ini berjalan saat boot.
Gagal bahwa Anda (pengguna root) dapat menambahkan skrip Anda sendiri untuk dijalankan saat boot.
sumber
Ada serangkaian artikel tentang LWN di cgroups, lihat bagian 1 , atau lihat pencarian di sana. Systemd mencakup seperangkat pembantu untuk mengelola (proses yang dikurung oleh) grup.
sumber