機械があります。メモリリーク(アプリケーションを再起動した後でも) - 両方のシステムが同様のワークロードで同様のアプリケーションを実行し、わずかに異なる4.xカーネルバージョン
Active(file)
明らかな違いは、+(/ proc / meminfoで)と比較された++Inactive(file)
の総数が次shmem
のようになることです。Cached
Buffer
その他悪い機械と同じ良い(そして他の)機械のために。
この値は同じでなければなりませんか?カーネルのバグ/リークのように見えますか?
詳しくは...
/proc/meminfo
(MBに換算)
Bad m Good m
48042 48042 mB MemTotal:
376 495 mB MemFree:
25904 26086 mB MemAvailable:
0 0 mB Buffers:
3589 11034 mB Cached:
29 69 mB SwapCached:
31825 24374 mB Active:
14010 5505 mB Inactive:
19263 19191 mB Active(anon):
1889 2090 mB Inactive(anon):
12561 5183 mB Active(file):
12121 3414 mB Inactive(file):
655 2436 mB Shmem:
計算が少し...
4877 28240 mB Cache+Slab Mem:buffer/cache
42788 19307 mB MemTotal-MemFree-Cached-Slab Mem:used
25338 11034 mB Active(file)+Inactive(file)+shmem
3589 11034 mB Cached
-21750 0 mB diff
さらなる調査によると、このようなスクリプトを実行すると(不良コアのみ)、空き容量がほぼゼロになるまで差分が増加してバランスを保つことがわかりました。
#!/bin/ksh
while true
do
X=`/bin/echo 1`
done