成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在 Linux 上如何清除內存的 Cache、Buffer 和交換空間

開發(fā)
像任何其他的操作系統一樣,GNU/Linux 已經實現的內存管理不僅有效,而且更好。但是,如果有任何進程正在蠶食你的內存,而你想要清除它的話,Linux 提供了一個刷新或清除RAM緩存方法。

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

 

在 Linux 上如何清除內存的 Cache、Buffer 和交換空間

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

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

(LCTT 譯注:Cache,譯作“緩存”,指 CPU 和內存之間高速緩存。Buffer,譯作“緩沖區(qū)”,指在寫入磁盤前的存儲再內存中的內容。在本文中,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 將刷新文件系統緩沖區(qū)(buffer),命令通過“;”分隔,順序執(zhí)行,shell在執(zhí)行序列中的下一個命令之前會等待命令的終止。正如內核文檔中提到的,寫入到drop_cache將清空緩存而不會殺死任何應用程序/服務,echo命令做寫入文件的工作。

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

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

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

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

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

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

  1. #!/bin/bash

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

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

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

  1. # chmod 755 clearcache.sh

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

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

  1. # crontab -e

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

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

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

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

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

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

如何清除Linux的交換空間?

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

  1. # swapoff -a && swapon -a

此外,了解有關風險后,您可以將上面的命令添加到cron中。

現在,我們將上面兩種命令結合成一個命令,寫成正確的腳本來同時清除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í)行腳本前后運行“free -m” 來檢查緩存。

[[136902]]

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

責任編輯:王雪燕 來源: Linux中國
相關推薦

2020-10-27 11:00:57

LinuxRAM緩存

2017-08-22 14:26:39

Linuxbuffercache

2018-08-03 09:07:40

Linux內存buffercache

2019-12-10 09:53:27

LinuxCacheBuffer

2020-12-23 13:14:00

LinuxLinux內存Swap

2020-08-13 11:35:52

Linuxswapbuffer

2021-03-30 10:50:18

Linux內存命令

2020-06-22 08:30:42

Linux內存手動釋放

2015-06-19 11:04:29

linux運維

2023-01-28 13:39:31

Linuxzram

2022-05-13 09:02:34

LinuxBufferCache

2009-02-12 15:45:00

Linux代理服務器cache

2013-10-12 15:07:17

UbuntuLinuxcache

2011-07-18 18:01:34

buffer cach

2018-10-15 10:32:10

Linux操作系統命令

2019-03-07 09:25:59

LinuxCPU交換分區(qū)

2011-09-09 18:16:18

WindowsLinux

2020-11-02 10:38:05

UbuntuLinux

2020-11-17 11:19:48

Linux磁盤空間

2018-09-30 10:18:44

Linux 文件系統目錄
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区国产精品 | 亚洲第一网站 | 午夜一级做a爰片久久毛片 精品综合 | 欧美日韩精品综合 | 91极品尤物在线播放国产 | 九九色九九 | 久久精品视频免费看 | 日韩精品一区二区三区中文在线 | 亚洲视频免费一区 | 亚洲一区在线日韩在线深爱 | 国产精品成人国产乱一区 | 人人九九精 | 丝袜美腿一区二区三区动态图 | 国产精品国产精品国产专区不片 | 一区二区三区视频在线观看 | 一区二区亚洲 | 一区二区av在线 | 国产精品高潮呻吟久久 | 成人毛片视频免费 | 黄色亚洲 | 免费精品 | 久草网站 | 国产亚洲精品久久yy50 | 亚洲精品一区在线 | 一区 | 中文字幕亚洲区一区二 | 日韩日韩日韩日韩日韩日韩日韩 | 成人啊啊啊 | 午夜精品久久 | 色综合久久88色综合天天 | 日韩欧美不卡 | 少妇黄色 | 亚洲精品一二三 | 天天草天天干天天 | 中文字幕免费在线观看 | 91成人免费 | 国产综合精品一区二区三区 | 中文字幕视频在线观看 | 国产欧美一区二区久久性色99 | 国产一区二区三区在线 | 日本精品一区二区三区四区 |