您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux上如何清除RAM內存高速緩存”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
像任何其他的操作系統一樣,GNU / Linux已經有效地實施了內存管理甚至更多。但是,如果有任何進程正在蠶食你的內存,你要清除它,Linux提供了一個方法來刷新或清除RAM緩存。
在Linux中如何清除緩存?
每一個Linux系統有三個選項來清除緩存而不中斷任何進程或服務。1,僅清除緩存頁
sync; echo 1 > /proc/sys/vm/drop_cachessync; echo 1 > /proc/sys/vm/drop_caches
2,清除目錄項和inodes
sync; echo 2 > /proc/sys/vm/drop_caches
3,清除,緩存頁,目錄項和inodes
sync; echo 3 > /proc/sys/vm/drop_caches
上述命令的說明:sync將刷新文件系統緩存,命令通過“;”分隔,順序執行,shell等待終止在序列中的每一個命令執行之前。正如內核文檔中提到的,寫到drop_cache將清空緩存而不殺死任何應用程序/服務,echo命令做寫入文件的工作。如果你必須清除磁盤高速緩存,第一個命令在企業和生產環境中是最安全,“…echo 1> …”只會清除頁緩存。不建議使用上面第三個選項在生產環境中“…echo 3 >” ,除非你明確自己在做什么,因為它會清除緩存頁,目錄項和inodes。在Linux上釋放Buffer和Cache要用到內核是否是個好主意?當你請求許多設定想要檢查時,如果它實際上是專門實施對I/O 廣泛的基準測試,那么你可能需要清除緩存。你可以如上所示刪除緩存,無需重新啟動系統即無需停機。Linux被設計成它在尋找磁盤之前到磁盤緩存尋找的方式。如果它發現該資源在緩存中,則該請求不到達磁盤。如果我們清理緩存,磁盤緩存將沒有用處,系統會到磁盤上尋找資源。此外,當清除緩存后它也將減慢系統運行速度,系統會重新加載每一個被請求的資源再次到磁盤緩存中。現在,我們將通過一個cron任務調度器創建一個shell腳本在每天下午2點自動清除RAM緩存。創建一個shell腳本clearcache.sh并在其中添加以下行:
#!/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文件設置執行權限
# chmod 755 clearcache.sh
現在,當你需要清除RAM緩存時只需要調用腳本。現在設置一個定時任務來清除RAM緩存每天在下午2點,打開crontab進行編輯。
# crontab -e
添加以下行,保存并退出。
0 3 * * * /path/to/clearcache.sh
有關如何創建一個定時任務,更多細節你可以查看我們的文章11 Cron Scheduling Jobs。在生產環境的服務器上自動清除RAM是否是一個好主意?不!它不是。想想一個情況,當你已經預定腳本來清除RAM緩存每天在下午2點。每天下午2點該腳本會執行并刷新你的RAM緩存。在一天中的任何時候,您網站用戶的在線量可能會超過預期的,并從你的服務器請求資源。同時調度器運行著腳本,并在高速緩存中清除一切。當所有的用戶都從磁盤讀取數據時,這將導致服務器崩潰并損壞數據庫。因此,清除緩存僅在必要時并且在你的預料之中,否則你就是個Cargo Cult System Administrator。
如何清除Linux的交換空間?
如果你想清除交換空間,你可以運行下面的命令:
# swapoff -a && swapon -a
此外,了解有關風險后,您可能會將上面的命令添加到cron中。現在,我們將上面兩種命令結合成一個命令寫出正確的腳本來同時清除RAM緩存和交換空間。
# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'
或
su -c 'echo 3 >/proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'
在測試上面的命令之前,我們先運行“free -m” 然后執行腳本檢查緩存。
“Linux上如何清除RAM內存高速緩存”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。