Linux File Cache leeren
Für den Fall, das der komplette Arbeitsspeicher belegt ist, kann das vom File System Cache kommen.
Es kommt immer mal wieder vor, das die gecachten Daten nicht richtig oder nur sehr langsam freigegeben werden.
Mit folgender Kommandozeile kann man alles frei machen, was frei gemacht werden soll.
free && sync && echo 3 > /proc/sys/vm/drop_caches && free
total used free shared buffers cached
Mem: 2058636 1923244 135392 1628 129472 925808
-/+ buffers/cache: 867964 1190672
Swap: 392188 4232 387956
total used free shared buffers cached
Mem: 2058636 841904 1216732 1628 832 37600
-/+ buffers/cache: 803472 1255164
Swap: 392188 4232 387956
Alternativ kann man den Kernel aber auch bescheid geben das er bestimmte Caches leeren soll.
Um den PageCache zu leeren:
echo 1 > /proc/sys/vm/drop_caches
Um den Dentries und Inodes zu leeren:
echo 2 > /proc/sys/vm/drop_caches
Um alle drei Caaches zu leeren:
echo 3 > /proc/sys/vm/drop_caches
Egal welche Version verwendet wird. Das ganze muss immer als root User oder via sudo ausgeführt werden.