Hi
vielleicht hat ein schlauer "Entwickler" eine Prüfroutine drin die checkt ob genügent RAM frei ist.
Ansich sollte es keine Probleme geben Chaches wieder zuverwenden, warum es nur geht wenn man alles löscht.
Vielleicht ist es ein Kernelkäfer möglicherweise aber auch ein Hardwarefehler der deshalb auftritt das wenn Cache nicht gelehrt wird, ein kaputter Bereich genommen wird.
Andreas
Hilmar Preusse hille42@web.de schrieb am 23:20 Sonntag, 19.Januar 2014:
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.
Command, n.: Statement presented by a human and accepted by a computer in such a manner as to make the human feel as if he is in control. http://www.hilmar-preusse.de.vu/ _______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd