Weboldal keresés

A RAM memória gyorsítótár, puffer és csere törlése Linuxon


Mint minden más operációs rendszer, a GNU/Linux is hatékonyan és még ennél is többet valósított meg a memóriakezelést. Ha azonban bármilyen folyamat felemészti a memóriát, és szeretné törölni azt, a Linux lehetőséget biztosít a RAM gyorsítótár kiürítésére vagy törlésére.

Ebben a cikkben megvizsgáljuk, hogyan lehet törölni a RAM-memória gyorsítótárát, a puffert és a csereterületet Linux rendszeren az általános teljesítmény javítása érdekében.

A RAM memória gyorsítótár, puffer és csereterület megértése

Fedezze fel a RAM-memória-gyorsítótárat, a puffert és a csereterületet Linux rendszeren.

RAM memória gyorsítótár

A RAM-memória-gyorsítótár egy olyan mechanizmus, amelyet a kernel használ a rendszeresen elért adatok tárolására. Noha ez növeli a rendszer válaszkészségét, a túlterhelt gyorsítótár az elavult adatok megtartásához vezethet, ami befolyásolja a teljesítményt.

Puffer

A gyorsítótárhoz hasonlóan a puffer ideiglenesen tárol adatokat, de célja eltérő. A pufferek tárolják a komponensek, például a CPU és a merevlemez közötti átvitelt, megkönnyítve a kommunikációt. A túl sok pufferolt adat azonban akadályozhatja a rendszer sebességét.

Helycsere

A Swap terület egy lefoglalt terület a merevlemezen, amely virtuális memóriaként működik, amikor a fizikai RAM kimerül. Bár megakadályozza a rendszer összeomlását az alacsony memória miatt, túlzott használat esetén lelassíthatja a rendszert.

Gyorsítótár, puffer és csereterület törlése Linux alatt

Bizonyos helyzetekben előfordulhat, hogy törölnie kell a gyorsítótárat, a puffert vagy a csereterületet az alábbiak szerint.

Hogyan lehet törölni a RAM memória gyorsítótárát Linux alatt?

Minden Linux rendszernek három lehetősége van a gyorsítótár törlésére a folyamatok vagy szolgáltatások megszakítása nélkül.

A PageCache törlése

1. Csak a PageCache törléséhez használhatja a következő parancsot, amely kifejezetten a PageCache-t törli, segítve a memóriaforrások felszabadítását.

sudo sync; echo 1 > /proc/sys/vm/drop_caches

Fogak és inódák törlése

2. Csak a dentries és az inode törléséhez használja a következő parancsot, amely szinkronizálja a fájlrendszert, és törli mind a dentries, mind az inode-okat, a rendszer teljesítményének javítása a gyorsítótárazott címtár- és bemeneti információk kiadásával.

sudo sync; echo 2 > /proc/sys/vm/drop_caches

PageCache, Dentries és Inodes törlése

3. Az oldalgyorsítótár, a dentries és az inodes törléséhez használja a következő parancsot, amely szinkronizál a fájlrendszert, és törölje a lapgyorsítótárat, a dentries-t és az inode-okat, ezzel segítve a memória felszabadítását és a rendszer teljesítményének javítását.

sudo sync; echo 3 > /proc/sys/vm/drop_caches 

Íme a fenti parancs egyes részeinek magyarázata:

  • A sudo a parancs szuperfelhasználóként történő végrehajtására szolgál.
  • A sync kiüríti a fájlrendszer pufferét.
  • A “; A ” pontosvessző több parancs elválasztására szolgál egyetlen sorban.
  • Az echo 3 > /proc/sys/vm/drop_caches parancs az oldal gyorsítótárának eldobására szolgál, amely a legutóbb elért fájlok ideiglenes tárolóterülete.

Megjegyzés: A drop_caches fájl szabályozza, hogy milyen típusú gyorsítótárazott adatokat kell törölni, és az értékek a következők:

  • 1 – Csak az oldal gyorsítótárát törli.
  • 2 – Törli a dentry-eket és az inode-okat.
  • 3 – Törli az oldal gyorsítótárát, a dentrit és az inode-okat.

Ahogy a kernel dokumentációjában is említettük, a drop_caches fájlba való írás megtisztítja a gyorsítótárat anélkül, hogy bármilyen alkalmazást/szolgáltatást megsemmisítene, az echo parancs pedig a fájlba írást végzi.

Ha törölnie kell a lemez gyorsítótárát, az első parancs a legbiztonságosabb vállalati és éles környezetben: “...echo 1 > …. ” csak a PageCache-t törli.

Nem javasolt a “...echo 3 > ” feletti harmadik opció használata éles környezetben, amíg nem tudja, mit csinál, mivel törli az oldalgyorsítótárat, >dentries, és inodes.

Hogyan lehet kiüríteni a csereterületet Linuxon?

A csereterület felszabadításához használhatja a swapoff parancsot a -a kapcsolóval, amely letiltja az összes swap partíciót.

sudo swapoff -a

Ezután kapcsolja vissza a következő parancs futtatásával, amely aktiválja az összes swap partíciót.

sudo swapon -a

Tanácsos a puffer, a gyorsítótár és a csere felszabadítása Linuxon?

Általánosságban elmondható, hogy nem jó ötlet manuálisan felszabadítani a puffert és a gyorsítótárat a Linuxban, amelyeket a Linux kernel használhat, amely az erőforrások hatékony kezelésére szolgál, és ezek kézi törlése megzavarhatja a rendszer teljesítményét.

Előfordulhatnak azonban olyan ritka helyzetek, amikor törölnie kell a puffert és a gyorsítótárat, például ha komoly memórianyomást tapasztal, és nem tud más módon felszabadítani a memóriát. Ezekben az esetekben óvatosan kell eljárnia, és tisztában kell lennie a teljesítményre gyakorolt lehetséges hatásokkal.

Hasonlóképpen, a Linuxban a swapterület felszabadítása általában nem rutin és nem ajánlott gyakorlat normál körülmények között.

Memóriaoptimalizálás automatizálása

A folyamat automatizálása és a memória rendszeres törlése érdekében beállíthat egy cron feladatot, amely meghatározott időközönként futtatja a parancsokat.

Nyissa meg a crontab konfigurációját.

crontab -e

Adja hozzá a következő sorokat a gyorsítótár, a puffer és a csereterület törléséhez naponta éjfélkor:

0 0 * * * sudo sync; echo 3 > /proc/sys/vm/drop_caches
0 0 * * * sudo echo 1 > /proc/sys/vm/drop_caches
0 0 * * * sudo sync; echo 2 > /proc/sys/vm/drop_caches
0 0 * * * sudo swapoff -a && sudo swapon -a

A cronnal végzett munka ütemezésével kapcsolatos további információkért olvassa el a „11 Cron Scheduling Jobs” című cikkünket.

Tanácsos a RAM gyorsítótár törlése egy Linux Production Server-en?

Nem, ez nem. Vegyünk egy olyan forgatókönyvet, amelyben minden nap hajnali 2-kor ütemezett egy parancsfájlt a RAM-gyorsítótár törlésére. Minden nap hajnali 2-kor a szkript lefut, és kiüríti a RAM-gyorsítótárat. Egy napon azonban váratlanul sok felhasználó online van webhelyén, ami jelentős igényt támaszt a szerver erőforrásaira.

Ezzel egyidejűleg az ütemezett szkript lefut, és mindent töröl a gyorsítótárból. Most minden felhasználó lekéri az adatokat a lemezről, ami a szerver összeomlásához és az adatbázis sérüléséhez vezethet. Ezért elengedhetetlen, hogy a RAM-gyorsítótárat csak akkor törölje, ha szükséges, ügyelve tevékenységeire. Ellenkező esetben azt kockáztatja, hogy Cargo Cult rendszeradminisztrátor lesz.

Következtetés

A hatékony memóriakezelés kulcsfontosságú a zökkenőmentesen működő Linux rendszerhez. A RAM memória gyorsítótárának, pufferének és swap területének rendszeres törlése jelentősen javíthatja a rendszer teljesítményét. Ha megérti ezeket a mechanizmusokat, és alkalmazza a megadott parancsokat, akkor Linux rendszere a lehető legjobban futhat.

Ez minden most. Ha tetszett a cikk, ne felejtse el megosztani értékes visszajelzéseit a megjegyzésekben. Ossza meg velünk véleményét arról, hogy Ön szerint mi a jó módszer a RAM gyorsítótár és puffer törlésére éles és vállalati környezetben.