Ne ess pánikba!
A kosod rendben van!

Mi történik?

A Linux kihasználatlan memóriát kölcsönöz a lemezek gyorsítótárazásához. Ez úgy néz ki, mintha kevés lenne a memóriádból, de mégsem az! Minden rendben!

megette

Miért teszi ezt?

A lemezes gyorsítótár gyorsabbá és gyorsabbá teszi a rendszert! Nincsenek hátrányai, kivéve a zavaros újoncokat. Soha, soha nem veszi el a memóriát az alkalmazásoktól!

Mi van, ha több alkalmazást szeretnék futtatni?

Ha az alkalmazásai több memóriára vágynak, csak visszavesznek egy darabot, amelyet a lemez gyorsítótár kölcsönzött. A lemezes gyorsítótár mindig azonnal visszaadható az alkalmazásoknak! Nem vagy kevés a kosban!

Kell még csere?

Nem, a lemezes gyorsítótár csak azt a ramot veszi kölcsön, amelyre az alkalmazások jelenleg nem vágynak. Nem fogja használni a swap-ot. Ha az alkalmazások több memóriát akarnak, akkor egyszerűen visszaveszik a lemez gyorsítótárából. Nem fognak cserélni.

Hogyan akadályozhatom meg a Linuxot ebben?

Nem tilthatja le a lemezek gyorsítótárát. Az egyetlen ok, amiért bárki ki akarja tiltani a lemezes gyorsítótárat, az az, hogy szerinte elveszi a memóriát az alkalmazásaitól, ami nem! A lemezes gyorsítótár gyorsítja az alkalmazások gyorsabb és gördülékenyebb futtatását, de SOHA SOHA nem veszi el tőlük a memóriát! Ezért semmilyen ok nincs a letiltására!

Ha mégis úgy találja, hogy gyorsan ki kell törölnie egy RAM-ot, hogy megkerülhesse egy másik problémát, például a virtuális gép nem megfelelő viselkedését, akkor az echo 3 | sudo tee/proc/sys/vm/drop_cache .

Miért mondja felül és szabadon, hogy az összes ramot használom, ha nem?

Ez csak különbség a terminológiában. Te és a Linux is egyetértenek abban, hogy az alkalmazások által elfoglalt memória "használt", míg a semmire sem használt memória "szabad".

De hogyan számolja a memóriát, amelyet jelenleg valamire használnak, de még mindig elérhetővé tehető az alkalmazások számára?

Lehet, hogy ezt a memóriát "szabadnak" és/vagy "elérhetőnek" tartja. A Linux ehelyett "használtnak" számít, de "elérhetőnek" is:

Az a memória, amelyet hívhatna Linuxnak
alkalmazások által használt Használt Használt
használt, de elérhetővé tehető Ingyenes (vagy elérhető) Használt (és elérhető)
semmire sem használják Ingyenes Ingyenes

Ez a "valami" (nagyjából) az, ami a felső és az ingyenes hívásokat "puffereknek" és "gyorsítótáraknak" nevezi. Mivel az ön és a Linux terminológiája eltér, azt gondolhatja, hogy kevés a ram, amikor nem.

Hogyan látom, hogy valójában mennyi szabad ramom van?

Ha meg szeretné tudni, hogy az alkalmazások mennyi ramot használhatnak felcsere nélkül, futtassa a free -m parancsot, és nézze meg az "elérhető" oszlopot:

(A 2016 előtti telepítéseknél inkább a "-" oszlopot nézze meg a "-/+ buffers/cache" sorban.)

Ez a válaszod a MiB-ben. Ha csak naivan nézi a "használt" és a "szabad", azt gondolja, hogy a kosa 99% -ban tele van, amikor valójában csak 47%!

Részletesebb és technikai leírást arról, hogy mi számít a Linux "elérhetőnek", olvassa el a mezőt hozzáadó kötelezettségvállalást.

Mikor kezdjek aggódni?

A egészséges Linux rendszer több mint elegendő memóriával egy ideig futás után a következő várható és ártalmatlan viselkedést mutatják:

  • a szabad memória közel van a 0-hoz
  • a felhasznált memória közel teljes
  • a rendelkezésre álló memória (vagy "szabad + pufferek/gyorsítótár") elegendő helyet foglal el (mondjuk az összes 20% -át +)
  • a használt csere nem változik

Figyelmeztető jelek valódi memóriahiányról van szó, amelyet érdemes megvizsgálni:

  • a rendelkezésre álló memória (vagy "szabad + pufferek/gyorsítótár") közel nulla
  • a használt csere növekszik vagy ingadozik
  • dmesg | A grep oom-killer az OutOfMemory-gyilkost mutatja be a munkahelyén

Hogyan tudom ellenőrizni ezeket a dolgokat?

Ezen az oldalon további részletek találhatók arról, hogy miként kísérletezhet a lemez gyorsítótárával az itt leírt effektusok bemutatásához. Néhány dolog miatt jobban értékeled a lemezek gyorsítótárát, mint hogy egy nagyságrendű gyorsítást mérj a saját hardvereden!