91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下如何清除Cache和Buffer

發布時間:2022-01-26 10:26:01 來源:億速云 閱讀:947 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Linux下如何清除Cache和Buffer的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

buffer和cache是兩個在計算機技術中被用濫的名詞,在Linux的內存管理中,這里的buffer指Linux內存的:Buffer cache。這里的cache指Linux內存中的:Page cache,翻譯成中文可以叫做緩沖區緩存和頁面緩存。

Linux下如何清除Cache和Buffer

如何在 Linux 中清除緩存(Cache)?

每個 Linux 系統有三種選項來清除緩存而不需要中斷任何進程或服務。

(LCTT 譯注:Cache,譯作“緩存”,指 CPU 和內存之間高速緩存。Buffer,譯作“緩沖區”,指在寫入磁盤前的存儲再內存中的內容。在本文中,Buffer 和 Cache 有時候會通指。)

  1. 僅清除頁面緩存(PageCache)

     # sync; echo 1 > /proc/sys/vm/drop_caches
  2. 清除目錄項和inode

     # sync; echo 2 > /proc/sys/vm/drop_caches
  3. 清除頁面緩存,目錄項和inode

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

上述命令的說明:

sync 將刷新文件系統緩沖區(buffer),命令通過“;”分隔,順序執行,shell在執行序列中的下一個命令之前會等待命令的終止。正如內核文檔中提到的,寫入到drop_cache將清空緩存而不會殺死任何應用程序/服務,echo命令做寫入文件的工作。

如果你必須清除磁盤高速緩存,第一個命令在企業和生產環境中是最安全,"...echo 1> ..."只會清除頁面緩存。 在生產環境中不建議使用上面的第三個選項"...echo 3 > ..." ,除非你明確自己在做什么,因為它會清除緩存頁,目錄項和inodes。

在Linux上釋放也許被內核所使用的緩沖區(Buffer)和緩存(Cache)是否是個好主意?

當你設置許多設定想要檢查效果時,如果它實際上是專門針對 I/O 范圍的基準測試,那么你可能需要清除緩沖區和緩存。你可以如上所示刪除緩存,無需重新啟動系統(即無需停機)。

Linux被設計成它在尋找磁盤之前到磁盤緩存尋找的方式。如果它發現該資源在緩存中,則該請求不會發送到磁盤。如果我們清理緩存,磁盤緩存就起不到作用了,系統會到磁盤上尋找資源。

此外,當清除緩存后它也將減慢系統運行速度,系統會將每一個被請求的資源再次加載到磁盤緩存中。

現在,我們將創建一個 shell 腳本,通過一個 cron 調度任務在每天下午2點自動清除RAM緩存。如下創建一個 shell 腳本 clearcache.sh 并在其中添加以下行:

 #!/bin/bash# 注意,我們這里使用了 "echo 3",但是不推薦使用在產品環境中,應該使用 "echo 1"echo "echo 3 > /proc/sys/vm/drop_caches"

給clearcache.sh文件設置執行權限

 # chmod 755 clearcache.sh

現在,當你需要清除內存緩存時只需要調用腳本。

現在設置一個每天下午2點的定時任務來清除RAM緩存,打開crontab進行編輯。

 # crontab -e

添加以下行,保存并退出。

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

有關如何創建一個定時任務,更多細節你可以查看我們的文章 11 個定時調度任務的例子

在生產環境的服務器上自動清除RAM是否是一個好主意?

不!它不是。想想一個情況,當你已經預定腳本在每天下午2點來清除內存緩存。那么其時該腳本會執行并刷新你的內存緩存。在某一天由于某些原因,可能您的網站的在線用戶會超過預期地從你的服務器請求資源。

而在這時,按計劃調度的腳本運行了,并清除了緩存中的一切。當所有的用戶都從磁盤讀取數據時,這將導致服務器崩潰并損壞數據庫。因此,清除緩存僅在必要時并且在你的預料之中,否則你就是個呆瓜系統管理員。

如何清除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下如何清除Cache和Buffer

Clear RAM Cache and Swap Space

感謝各位的閱讀!關于“Linux下如何清除Cache和Buffer”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

观塘区| 乌审旗| 金阳县| 天水市| 阜康市| 乐陵市| 乌苏市| 桐乡市| 巫溪县| 辽阳县| 余干县| 邻水| 民和| 微博| 彩票| 廊坊市| 全南县| 曲靖市| 绥阳县| 道孚县| 林州市| 莆田市| 修武县| 桂阳县| 镇赉县| 侯马市| 三穗县| 苍山县| 山阳县| 永康市| 张北县| 青州市| 三江| 莱州市| 噶尔县| 金门县| 西昌市| 南和县| 佳木斯市| 纳雍县| 玛沁县|