Ne işe yaradığını biliyorum ... Sanırım neden miras aldığım bir uygulamada bir sorunu çözdüğünü merak ediyorum. Bir dizi esnek istemci için Red5 sunucusu olarak çalışan ve sonunda bir ray api'sine akıtılan gerçek zamanlı etkileşim verilerini bir sürü işleyen oldukça büyük bir tomcat uygulamasını devraldım. Sorun zaman içinde bir sürü yük altındaydı bu istemcilere önerileri normalde <100 ms olan 3-400 ms büyüyordu. Müşteri, bunun asla onaylayamadığımız bir hafıza sorunu olduğundan şüphelendi. Bir gün bir evreleme sunucusu ben temelde istekleri alarak durdu bir yük testi çalıştırıyordu ya da son derece yavaştı. Gönderdiğim bir hevesle
sync && echo 3 > /proc/sys/vm/drop_caches
ve sihirli bir şekilde sunucu hayata döndü ve bu bağlantıyı sunarak tam hızda çalışmaya başladı. Bu bir rastlantı mıydı yoksa bu davranış mantıklı mı ve neden?
sync
veya sadece echo
. Sonra bu düzeltmelerde sunucunun neden yavaş olduğunu anlamaya çalışın (CPU maksimum mu? IO maksimum mu? Sistem çağrı yapıyor mu?)