Sunucu yükünü iten ve monitör uyarılarını tetikleyen bir rsync cron işim var. İşi yüksek hoş bir düzeyle yürütülecek şekilde ayarlarsam, bu sistem yük değerleri üzerindeki etkisini etkili bir şekilde azaltır mı?
Sunucu yükünü iten ve monitör uyarılarını tetikleyen bir rsync cron işim var. İşi yüksek hoş bir düzeyle yürütülecek şekilde ayarlarsam, bu sistem yük değerleri üzerindeki etkisini etkili bir şekilde azaltır mı?
Yanıtlar:
Hoş değerin değiştirilmesi sistem yükünü doğrudan azaltmaz. Bununla birlikte, gerçekten istediğiniz şey olduğundan şüphelendiğim geri kalan süreçler için daha fazla kaynak bırakmak için kullanılabilir.
Gönderen http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Çekirdek, güzel değere dayanan bir işlem için ne kadar işlemci süresi gerektiğini belirler. Olası hoş değer aralığı: -20 ila 20. Güzel değeri -20 olan bir işlem çok yüksek önceliğe sahiptir. Güzel bir değeri 20 olan süreç çok düşük önceliğe sahiptir.
Yani evet, diğer işlemlerin öncelikli olduğundan emin olmak istiyorsanız cron işini diğer işlemlerden daha yüksek bir seviyede çalıştırmak istiyorsunuz.
Bunu yapmak için cron betiğinizin şu şekilde yürütülmesini istiyorsunuz:
/bin/nice -n 10 /path/to/cron-script
Bu, cron betiğini 10 oranında artırılmış bir güzellikte çalıştırır.
Ayrıca bkz Ne güzel çalışıyor? ve daha fazla ayrıntı için http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/ adresini ziyaret edin.
Bir işlemin iyi düzeyini değiştirmek, sistem yük değerini etkilemez. Sistem yük değeri, temel olarak CPU kullanmak isteyen işlemlerin sayısı olan çalışma kuyruğunun ortalama uzunluğudur .
CPU'ya bağlı bir işlem kullanıyorsanız (rsync değil, sadece örneğin), her zaman kullanılabilir olduğunda CPU zamanını kullanmak isteyecektir. Her zaman çalıştırmak istediğinden, sistem yük değerine 1.0 yük değeri katacaktır. Çalışma kuyrukta ortalama uzunluğu etkilenmez çünkü süreç güzel seviyesi, ne önemi yoktur sırayla çalıştırmak kuyrukta süreçlerin.
Süreçlerinizin sistem yükü / CPU süresi üzerindeki etkisini azaltmanın 3 yolunu düşünebilirsiniz:
nice
Görevin önceliğini manuel olarak düşürmek için komutu kullanın .cpulimit
Belirli bir sınırı aşmaması için işlemi art arda duraklatmak için komutu kullanın .built-in control groups
Zamanlayıcıya işlem için kullanılabilir kaynak miktarını sınırlamasını söyleyen bir mekanizma olan Linux'ları kullanın .kaynaklar