91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Linux上如何清除內(nèi)存的Cache、Buffer和交換空間

像任何其他的操作系統(tǒng)一樣,GNU/Linux 已經(jīng)實(shí)現(xiàn)的內(nèi)存管理不僅有效,而且更好。但是,如果有任何進(jìn)程正在蠶食你的內(nèi)存,而你想要清除它的話,Linux 提供了一個刷新或清除RAM緩存方法。

創(chuàng)新互聯(lián)于2013年成立,先為鳳翔等服務(wù)建站,鳳翔等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鳳翔企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

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

每個 Linux 系統(tǒng)有三種選項來清除緩存而不需要中斷任何進(jìn)程或服務(wù)。

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

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

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

  2. 清除目錄項和inode

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

  3. 清除頁面緩存,目錄項和inode

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

上述命令的說明:

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

如果你必須清除磁盤高速緩存,第一個命令在企業(yè)和生產(chǎn)環(huán)境中是最安全,"...echo 1> ..."只會清除頁面緩存。 在生產(chǎn)環(huán)境中不建議使用上面的第三個選項"...echo 3 > ..." ,除非你明確自己在做什么,因?yàn)樗鼤宄彺骓摚夸涰椇蚷nodes。

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

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

Linux被設(shè)計成它在尋找磁盤之前到磁盤緩存尋找的方式。如果它發(fā)現(xiàn)該資源在緩存中,則該請求不會發(fā)送到磁盤。如果我們清理緩存,磁盤緩存就起不到作用了,系統(tǒng)會到磁盤上尋找資源。

此外,當(dāng)清除緩存后它也將減慢系統(tǒng)運(yùn)行速度,系統(tǒng)會將每一個被請求的資源再次加載到磁盤緩存中。

現(xiàn)在,我們將創(chuàng)建一個 shell 腳本,通過一個 cron 調(diào)度任務(wù)在每天下午2點(diǎn)自動清除RAM緩存。如下創(chuàng)建一個 shell 腳本 clearcache.sh 并在其中添加以下行:

 
 
  1. #!/bin/bash

  2. # 注意,我們這里使用了 "echo 3",但是不推薦使用在產(chǎn)品環(huán)境中,應(yīng)該使用 "echo 1"

  3. echo "echo 3 > /proc/sys/vm/drop_caches"

給clearcache.sh文件設(shè)置執(zhí)行權(quán)限

 
 
  1. # chmod 755 clearcache.sh

現(xiàn)在,當(dāng)你需要清除內(nèi)存緩存時只需要調(diào)用腳本。

現(xiàn)在設(shè)置一個每天下午2點(diǎn)的定時任務(wù)來清除RAM緩存,打開crontab進(jìn)行編輯。

 
 
  1. # crontab -e

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

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

有關(guān)如何創(chuàng)建一個定時任務(wù),更多細(xì)節(jié)你可以查看我們的文章 11 個定時調(diào)度任務(wù)的例子。

在生產(chǎn)環(huán)境的服務(wù)器上自動清除RAM是否是一個好主意?

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

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

如何清除Linux的交換空間?

如果你想清除掉的空間,你可以運(yùn)行下面的命令:

 
 
  1. # swapoff -a && swapon -a

此外,了解有關(guān)風(fēng)險后,您可以將上面的命令添加到cron中。

現(xiàn)在,我們將上面兩種命令結(jié)合成一個命令,寫成正確的腳本來同時清除RAM緩存和交換空間。

 
 
  1. # echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

 
 
  1. su -c 'echo 3 > /proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'

在測試上面的命令之前,我們在執(zhí)行腳本前后運(yùn)行“free -m” 來檢查緩存。

就是這樣,如果你喜歡這篇文章,不要忘記向我們提供您寶貴的意見,讓我們知道,您認(rèn)為在企業(yè)和生產(chǎn)環(huán)境中清除內(nèi)存緩存和緩沖區(qū)是否是一個好主意?


網(wǎng)頁題目:在Linux上如何清除內(nèi)存的Cache、Buffer和交換空間
本文路徑:http://m.jiaoqi3.com/article/dppseid.html