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?
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?
Jawaban:
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/
Kernel memutuskan berapa banyak waktu prosesor yang diperlukan untuk suatu proses berdasarkan nilai yang bagus. Kisaran nilai bagus yang mungkin adalah: -20 hingga 20. Sebuah proses yang memiliki nilai bagus -20 adalah prioritas yang sangat tinggi. Proses yang memiliki nilai bagus 20 adalah prioritas sangat rendah.
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:
/bin/nice -n 10 /path/to/cron-script
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.
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.
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