Hallo,
wir haben da eine Linux-Maschine mit insgesamt 8GB RAM, vmstat meldet 6GB als "cached" aber die Maschine swappt und die Performance geht dabei deutlich in die Knie (vmstat-Auszug mit 10s Intervallen):
procs memory swap io system cpu r b swpd free buff cache si so bi bo in cs us sy wa id 0 1 2434644 17808 31724 6317256 4 526 1710 617 3777 1847 10 1 3 86 4 0 2433344 18056 31756 6318276 80 189 650 278 585 1425 17 1 3 78 1 2 2431696 18912 31896 6315524 142 1262 6463 1447 5850 3467 45 7 14 34 4 3 2430444 18988 32040 6315624 161 1291 6517 3754 6547 3148 27 3 33 36 3 3 2434348 18304 32148 6318568 1141 2710 8542 11458 6785 3576 18 5 45 32 0 2 2432716 19280 31904 6327232 991 3114 6990 15082 6450 4543 12 4 56 29 0 2 2423084 18664 31988 6327236 723 218 4417 522 1822 3827 9 1 31 58 4 1 2421428 17876 32104 6327640 602 296 4050 506 1777 3016 19 1 27 53 2 1 2418336 18216 32268 6327800 396 1764 3619 2129 2087 3075 19 2 26 52 1 3 2417108 18064 32436 6333196 169 1164 5834 1450 3286 2554 26 3 28 44
Der Kernel ist ein 2.4'er und die hauptsächlich laufenden Prozesse sind ein Java mit 2GB RAM (oder besser virtuellem Speicher) und eine Oracle-Datenbank (mit ebenfalls ca. 2GB). Dass Linux freien RAM als Plattencache benutzt ist soweit ok, ich wäre jedoch davon ausgegangen, dass es den Cache wieder reduziert, wenn die Anwendungen den RAM brauchen. Stattdessen scheint es hier aber lieber zu swappen und den Cache zu behalten. Warum? Kann man die Swap-Rate durch Aufrüsten des RAM reduzieren oder haben wir dann z.B. 8GB Cache und immernoch Swapping?
Ist der auch unter "Cached" angegebene Wert von /proc/meminfo reiner Cache für block devices oder gehen da noch andere Bereiche mit ein?
Danke für Tips oder Pointer! Mirko