Saya memiliki pekerjaan cs rsync yang mendorong beban server dan memicu peringatan monitor. Jika saya mengatur pekerjaan yang akan dijalankan dengan tingkat yang bagus, apakah itu akan secara efektif mengurangi dampaknya pada nilai beban sistem?
10
Jawaban:
Itu tidak akan mengurangi beban Anda.
Itu hanya akan membiarkan proses lain menggunakan waktu CPU lebih sering jika ada pertentangan sumber daya yang mungkin (beberapa proses "bersaing" untuk waktu CPU yang tidak cukup tersedia).
sumber
Mengubah nilai yang bagus tidak akan secara langsung mengurangi beban sistem. Namun itu dapat digunakan untuk menyisakan lebih banyak sumber daya untuk proses yang tersisa, yang saya duga adalah yang Anda inginkan.
Dari http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Jadi ya, Anda ingin menjalankan pekerjaan cron di tingkat yang lebih tinggi daripada proses lain jika Anda ingin memastikan bahwa proses lain mendapatkan prioritas.
Untuk melakukan ini, Anda ingin skrip cron Anda dieksekusi seperti ini:
Ini akan menjalankan skrip cron pada tingkat kebaikan meningkat sebesar 10. Anda mungkin ingin menguji sedikit untuk menemukan keseimbangan (pun tidak dimaksudkan) yang bagus antara proses yang tersisa dan waktu eksekusi skrip.
Lihat juga Bagaimana cara kerja yang bagus? dan http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/ untuk rincian lebih lanjut.
sumber
Mengubah tingkat proses yang baik tidak akan memengaruhi nilai beban sistem. Nilai beban sistem adalah panjang rata - rata antrian proses , yang pada dasarnya adalah jumlah proses yang ingin menggunakan CPU.
Jika Anda menjalankan proses yang terikat CPU (rsync tidak, tetapi hanya sebagai contoh), maka itu akan selalu ingin menggunakan waktu CPU setiap kali ada beberapa yang tersedia. Karena selalu ingin dijalankan, itu akan menyumbangkan nilai beban 1,0 ke nilai beban sistem. Tidak masalah apa tingkat proses yang baik, karena panjang rata-rata antrian proses tidak terpengaruh oleh urutan proses dalam antrian proses.
sumber
Anda mungkin mempertimbangkan 3 cara untuk mengurangi dampak proses pada beban sistem / waktu CPU:
nice
perintah untuk secara manual menurunkan prioritas tugas.cpulimit
perintah untuk berulang kali menghentikan proses sehingga tidak melebihi batas tertentu.built-in control groups
, sebuah mekanisme yang memberi tahu scheduler untuk membatasi jumlah sumber daya yang tersedia untuk proses.Sumber daya
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
sumber