Hali!
A memóriacache-t így lehet törölni (2.6.16 óta):
# sync
# echo 3 > /proc/sys/vm/drop_caches
A sync azért kell, mert a dirty cuccokat ez írja ki a lemezre, mert
a "echo 3 > /proc/sys/vm/drop_caches" nem törli csak azokat
a bejegyzéseket, amik tényleg törölhetőek.
A kérdésem:
# free
total used free shared buffers cached
Mem: 2066408 1928980 137428 0 604 675100
-/+ buffers/cache: 1253276 813132
Swap: 3911788 0 3911788
# sync
# echo 3 > /proc/sys/vm/drop_caches
# free
total used free shared buffers cached
Mem: 2066408 1926968 139440 0 324 673804
-/+ buffers/cache: 1252840 813568
Swap: 3911788 0 3911788
Szóval "válámi van" de az a 600 mega nem akar eltűnni...
Mit tudok még mondani sync-en kívül?
Tudok olyat mondani, amivel megnézem, hogy a cache pontosan hogy néz ki?
Esetleg vmi más ötlet?
*szerk: bbcode, hogy olvasható legyen
- 1212 megtekintés
Hozzászólások
Az nem is fog eltunni, csak ha valami processznek szuksege van arra a memoriateruletre.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Hali!
ez nem teljesen van így...
egy másik gépen:
# free
total used free shared buffers cached
Mem: 514732 508288 6444 0 0 281860
-/+ buffers/cache: 226428 288304
Swap: 2097144 71992 2025152
# sync
# echo 3 > /proc/sys/vm/drop_caches
# free
total used free shared buffers cached
Mem: 514732 309896 204836 0 0 87748
-/+ buffers/cache: 222148 292584
Swap: 2097144 71992 2025152
Itt is maradt valami, de itt lényegesen kisebb lett a cache mérete.
Találtam egy ilyet: http://linux-mm.org/Drop_Caches
Ez alapján valszeg azért nem törlődött teljesen, mert a "echo 3 > /proc/sys/vm/drop_caches" és a "free" között eltelt idő alatt újabb dirty flagek lettek beállítva, ill. a cache tartalmaz nem fájlokhoz kötődő dolgokat is.
Ez alapján még mindig az a kérdésem, hogy ki lehet vhonnan deríteni, hogy mi van a cache-ban?
- A hozzászóláshoz be kell jelentkezni
Persze, ha debugolod a kernelt biztosan.
Kulonben meg nem mindegy? Ha a rendszernek szuksege van ra, a kernel felszabaditja ezeket a helyeket, hidd el. Vagy most kernelt akarsz hekkelni? Vagy nem ertem a problema lenyeget...
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
A kérdés arra irányult, hogy kernel debugolás nélkül meg tudom-e valahonnan.
Van-e olyan exotikus parancs, vagy a /proc alatt valami, ami ezt megmondja nekem?
Tudom, hogy ha szükség van rá, akkor felszabadítja a memóriát a kernel.
A probléma lényege egyszerű: érdekel. Szeretnék beleszólni ebbe a folyamatba, mert csak.
- A hozzászóláshoz be kell jelentkezni
Szerintem nincs ut a cache nezegetesehez, espedig biztonsagi okokbol: ott meg erzekeny adatok is lehetnek. Jobb, ha egy virus legalabb ilyesmihez nem fer hozza.
Azt tudom ajanlani, hogy nezegesd a kernelforrast, esetleg dobj egy mailt a kernel-devel -re, hatha ott reszletesebb valaszt adnak.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
irsz 2 soros c progit, ami lefoglalja az osszes memoriat.
- A hozzászóláshoz be kell jelentkezni