Ada banyak pertanyaan serupa tetapi tidak ada yang membantu saya dengan masalah saya.
Saya memiliki ubuntu 11.10 di server (ini versi desktop). Saya memiliki situs web berjalan di atasnya. Ada satu proses yang sangat penting, tetapi tidak harus dijalankan dengan prioritas tinggi. Saya ingin membatasi penggunaan CPU untuk proses , bukan untuk pengguna. Proses ini dijalankan oleh fungsi exec (itu fungsi php, bukan proses sistem).
Jadi saya melihat 2 opsi: 1. Tambahkan semacam batas setiap fungsi waktu dijalankan. 2. Batasi penggunaan cpu secara permanen untuk proses ini.
Saya telah mencoba menggunakan "nice" dan cpulimit, tetapi sepertinya tidak ada yang berhasil. Nice tidak memiliki efek apa pun dan cpulimit (dengan -e) mengatakan: "tidak ada proses target yang ditemukan".
Saya seorang pemula, jadi anggaplah saya tidak tahu apa-apa.
cgsnapshot -s
untuk mengambil informasi tanpa menulis file konfigurasi secara manual, yang terakhir tidak direkomendasikan.Jawaban:
Dengan tidak adanya detail yang diminta ...
Inilah cara saya menggunakan cgroup di ubuntu.
Sepanjang posting ini, Anda perlu mengubah variabel "$ USER" ke pengguna yang menjalankan proses
Saya menambahkan informasi untuk memori dan juga akan menjadi FAQ, jika Anda tidak membutuhkannya, jangan menggunakannya.
1) Pasang
cgroup-bin
2) Reboot. cgroups sekarang berada di
/sys/fs/cgroup
3) Buat cgroup untuk pengguna Anda (pemilik proses)
4) Pengguna Anda dapat mereka mengelola sumber daya. Secara default pengguna mendapatkan 1024 unit cpu (saham), jadi untuk membatasi hingga sekitar 10% CPU, memori dalam byte ...
5) Mulai proses Anda (ubah exec ke cgexec)
Konfigurasi
Dengan asumsi cgroup bekerja untuk Anda;)
Edit
/etc/cgconfig.conf
, tambahkan cgroup khusus AndaTambahkan cgroup Anda. Sekali lagi ubah $ USER ke nama pengguna yang memiliki proses.
Anda juga dapat menentukan grup
gid=$GROUP
, /etc/cgconfig.conf dikomentari dengan baik.Sekarang jalankan lagi proses Anda dengan
cgexec -g cpu:$USER command <options>
Anda dapat melihat proses Anda (dengan PID) di
/sys/fs/cgroup/cpu/$USER/tasks
Contoh
Untuk informasi tambahan, lihat: http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/
sumber