Hogyan lehet törölni a RAM memória gyorsítótárát, puffert és Swap helyet Linuxon

mint bármely más operációs rendszer, a GNU / Linux hatékonyan és még ennél is többet hajtott végre. De ha bármilyen folyamat eszik el a memóriát, és azt szeretné, hogy törölje azt, Linux egy módja annak, hogy flush vagy törölje ram cache.

RAM gyorsítótár törlése és csere Linuxban

hogyan lehet törölni a gyorsítótárat Linuxban?

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

1. Tiszta PageCache csak.

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

2. Tiszta dentries és inodes.

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

3. Tiszta PageCache, dentries és inodes.

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

a fenti parancs magyarázata.

sync öblítse le a fájlrendszer puffer. Parancs elválasztva ";” Futtatás egymás után. A shell várja meg, amíg minden parancs befejeződik, mielőtt végrehajtja a következő parancsot a sorrendben. Amint azt a kernel dokumentációjában említettük, a drop_cache-re történő írás megtisztítja a gyorsítótárat anélkül, hogy bármilyen alkalmazást/szolgáltatást megölne, a command echo a fájlba történő írást végzi.

ha törölnie kell a lemez gyorsítótárát, az első parancs a legbiztonságosabb a vállalkozásban és a gyártásban, mivel"...echo 1 > ….” csak a PageCache törlődik. Nem ajánlott a harmadik opció felett "...echo 3 >” a termelés, amíg nem tudja, mit csinál, mivel ez törli PageCache, dentries és inodes.

jó ötlet a Linux Kernel által használt puffer és gyorsítótár felszabadítása?

amikor különböző beállításokat alkalmaz, és ellenőrizni szeretné, hogy valóban kifejezetten az I/O-kiterjedt benchmarkon hajtják-e végre, akkor lehet, hogy törölnie kell a puffer gyorsítótárat. A gyorsítótárat a fentiek szerint le lehet dobni a rendszer újraindítása nélkül, azaz nincs szükség leállásra.

a Linuxot úgy tervezték meg, hogy a lemez gyorsítótárába nézzen, mielőtt a lemezre nézne. Ha megtalálja az erőforrást a gyorsítótárban, akkor a kérés nem éri el a lemezt. Ha megtisztítjuk a gyorsítótárat, a lemez gyorsítótár kevésbé lesz hasznos, mivel az operációs rendszer megkeresi az erőforrást a lemezen.

ezenkívül a gyorsítótár tisztítása közben néhány másodpercig lassítja a rendszert, majd az operációs rendszer által igényelt összes erőforrás újra betöltődik a lemez-gyorsítótárba.

most létrehozunk egy shell szkriptet a RAM gyorsítótár automatikus törléséhez naponta 2-kor egy cron ütemező feladat segítségével. Hozzon létre egy shell szkriptet clearcache.sh adja hozzá a következő sorokat.

#!/bin/bash# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"echo "echo 3 > /proc/sys/vm/drop_caches"

clearcache.sh akta.

# chmod 755 clearcache.sh

most hívhatja a szkriptet, amikor szükséges a ram gyorsítótár törlése.

most állítson be egy cron-t a RAM gyorsítótár törléséhez minden nap 2 órakor. Nyissa meg a crontab szerkesztést.

# crontab -e

csatolja az alábbi sort, mentse és lépjen ki, hogy naponta 2 órakor futtassa.

0 2 * * * /path/to/clearcache.sh

további részletekért arról, hogyan lehet munkát végezni, érdemes megnézni cikkünket a 11 Cron ütemezési munkáról.

jó ötlet a RAM gyorsítótár automatikus törlése a termelési kiszolgálón?

nem! nem az. Gondolj egy olyan helyzetre,amikor a szkriptet naponta 2-kor törölte a ram gyorsítótárat. Minden nap 2-kor a szkript végrehajtásra kerül, és lemossák a RAM-gyorsítótárat. Egy nap bármilyen okból, lehet, hogy a vártnál több felhasználó van online a webhelyén, és erőforrást keres a szerverről.

ugyanakkor ütemezett script fut, és törli mindent cache. Most minden felhasználó lekéri az adatokat a lemezről. Ez a szerver összeomlásához és az adatbázis sérüléséhez vezet. Tehát törölje ram-cache csak akkor, ha szükséges, és ismert a lábát lépéseket, különben egy rakomány kultusz rendszergazda.

hogyan lehet törölni a Swap helyet Linuxban?

Ha törölni szeretné a Swap helyet, akkor érdemes futtatni az alábbi parancsot.

# swapoff -a && swapon -a

a fenti parancsot is hozzáadhatja egy cron szkripthez, miután megértette az összes kapcsolódó kockázatot.

most mindkét fenti parancsot egyetlen parancsba egyesítjük, hogy megfelelő szkriptet készítsünk a RAM gyorsítótár törléséhez és a hely cseréjéhez.

# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'OR$ su -c "echo 3 >'/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'" root

a fenti parancs tesztelése után futtatjuk a “free-h” parancsot a szkript futtatása előtt és után, majd ellenőrizzük a gyorsítótárat.

RAM gyorsítótár törlése és csere hely

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük