Saya tahu apa fungsinya ... Saya rasa saya ingin tahu mengapa ini memperbaiki masalah dalam aplikasi yang saya warisi. Saya mengambil alih aplikasi kucing jantan yang cukup besar yang bertindak sebagai server Red5 untuk sekelompok klien fleksibel, dan menangani banyak data interaksi real-time, yang akhirnya dibuang ke api rel. Masalahnya adalah di bawah banyak beban dari waktu ke waktu istirahat untuk klien ini tumbuh menjadi 3-400 ms di mana biasanya <100 ms. Klien menduga itu adalah masalah memori yang kami benar-benar tidak pernah bisa mengonfirmasi. Suatu hari server pementasan saya menjalankan tes beban pada bascially berhenti menerima permintaan atau sangat lambat. Atas kemauan saya mengirim
sync && echo 3 > /proc/sys/vm/drop_caches
dan secara ajaib server kembali hidup dan mulai berjalan dengan kecepatan penuh melayani koneksi ini. Apakah ini kebetulan atau apakah perilaku ini masuk akal dan mengapa?
sync
atau baru saja echo
. Kemudian cobalah mencari tahu mengapa server lambat dalam kasus perbaikan ini (apakah CPU maks? Apakah IO maks? Apakah paging sistem?)