Moin,
eine Kunde von uns hat eine Applikation die ganz schön viel RAM braucht (so 80GB) auf RH 6.x. Wenn er diese stoppt kann sie anschließend nicht wieder korrekt gestartet werden. Er hat heraus gefunden, daß man den Cache vom OS vorher explizit leeren kann und dann fährt die Applikation wieder hoch.
echo 3 > /proc/sys/vm/drop_caches .
Laut kernel-Doku: sysctl/vm.txt
<snip> drop_caches
Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
To free pagecache: echo 1 > /proc/sys/vm/drop_caches To free dentries and inodes: echo 2 > /proc/sys/vm/drop_caches To free pagecache, dentries and inodes: echo 3 > /proc/sys/vm/drop_caches
As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first. <snap>
wird hier nur der Cache gelöscht. Dies sollte aus meiner Sicht unnötig sein, da der Cache (auch der belegte) jederzeit frei gegeben wird.
Kernelbug? Oder blöde race condition?
H.