Saya memiliki kotak linux RAM 8GB di mana 4 server kucing jantan sedang berjalan. Salah satunya diatur ke memori 3000MB (pengaturan jvm -Xms dan -Xmx) dan lainnya diatur ke 1500MB. Partisi swap juga diatur ke 8Gigs. Ketika saya memulai server ini, penggunaan file swap rendah. Tetapi selama beberapa hari dan selama waktu-waktu tertentu ketika satu / semua server berada dalam aktivitas puncak, penggunaan swap mulai meningkat. Berikut ini adalah keluaran sar -r yang khas.
kbmemfree kbmemused% memused kbbuffers kbcached kbswpfree kbswpused % swpused kbswpcad
48260 8125832 99.41 196440 2761852 7197688 1190912 14.20 316044
75504 8098588 99.08 198032 2399460 7197688 1190912 14.20 316032
Ini menunjukkan 14,2% swap yang digunakan saat ini. Yang lucu adalah% ini TIDAK PERNAH berkurang . Itu terus meningkat dan mencapai hingga 30-40% . Kami me-restart server kami setiap minggu.
Saya akan mengasumsikan % swpused meningkat selama periode aktivitas puncak dan menurun selama periode aktivitas rendah .. Atau setidaknya tetap konstan. Ini sepertinya ruang swap tidak pernah direklamasi oleh OS ..
Output gratis: gratis -m total yang digunakan buffer bersama yang disimpan dalam cache Mem: 7982 7937 45 0 32 2088 - / + buffer / cache: 5816 2166 Swap: 8191 1163 7028
Jadi setidaknya ada 2g Ram gratis. Jadi pertanyaannya adalah mengapa ruang swap terus meningkat dan tidak direklamasi oleh OS? Atau cara debug ini untuk mencari tahu apa yang terjadi ..