Saya memiliki proses untuk aplikasi yang perlu dijalankan, tetapi akhirnya menggunakan terlalu banyak penggunaan IO untuk apa yang dilakukannya. Dan benar-benar crash komputer saya, membuatnya tidak mungkin untuk melakukan hal lain ketika sedang berjalan.
Jadi saya bertanya-tanya apakah ada cara untuk membatasi penggunaan IO, RAM dan CPU untuk proses yang diberikan? Dan sub-prosesnya tentu saja.
Ini ada di sistem Ubuntu 18.04 LTS saya.
ionice
,renice
- dan mungkinulimit -s
perintah, dan hanya itu.cgroups-io
jadi tidak tahu :)Jawaban:
Anda harus menggunakan kombinasi semuanya
cgexec
,cpulimit
danionice
:Batasi RAM dan SWAP:
Perintah di atas membuat grup kontrol bernama
szMyGroup
(Misalnya dalam kasus Andagroup-great-uncle
), menetapkan batas untuk proses yang berjalan di bawahszMyGroup
hingga 512 MB memori fisik dan hingga 1024 MB swap dan kemudian:yang akan menjalankan program Anda di bawah
szMyGroup
kelompok kontrol, sehingga memastikan mereka mematuhi batasbatasi IO disk:
Perintah di atas digunakan
pgrep
dengan menggunakan kembali bagian dari baris perintah saat ini untuk membatasi akses disk-nya hanya menggunakan disk ketika tidak ada program lain yang menggunakannyaBatasi CPU:
CPU program sekarang dibatasi hingga 25% dari maksimum
Jika program tidak menggunakan banyak CPU untuk memulai, turunkan nilai cpulimit menjadi setengah atau kurang dari apa yang saat ini digunakan.
sumber