4 GBのTomcatサーバーが実行されている8GB RAMのLinuxボックスがあります。それらの1つは3000MBメモリー(jvm -Xmsおよび-Xmx設定)に設定され、その他は1500MBに設定されます。スワップパーティションも8ギガに設定されています。これらのサーバーを起動すると、スワップファイルの使用率が低くなります。ただし、1日のうちの1つまたはすべてのサーバーがピーク状態にある特定の時間帯に、スワップの使用量が増加し始めます。次に、典型的なsar -r出力を示します。
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
現在使用されている14.2%のスワップを示しています。面白いことに、この%は決して減少しません。それは増加し続け、最大30-40%に達します。サーバーは毎週再起動します。
%swpusedは、ピークアクティビティの期間中に増加し、アクティビティの少ない期間中に減少すると想定します。または、少なくとも一定のままです。これは、スワップスペースがOSによって再利用されることはないようです。
freeの出力:free -mキャッシュされた使用済みの共有バッファの合計Mem:7982 7937 45 0 32 2088-/ + buffers / cache:5816 2166 Swap:8191 1163 7028
つまり、少なくとも2gの無料のRAMがあります。それで問題は、なぜスワップ領域が増え続け、OSによって解放されないのかということです。またはこれをデバッグして何が起こっているかを理解する方法..