最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux系統(tǒng)清除緩存的方法總結

 更新時間:2020年01月28日 14:35:21   作者:jiu__  
在本篇文章里小編給大家整理了關于Linux系統(tǒng)清除緩存的方法和實例內容,需要的朋友們參考下。

1)緩存機制介紹

在Linux系統(tǒng)中,為了提高文件系統(tǒng)性能,內核利用一部分物理內存分配出緩沖區(qū),用于緩存系統(tǒng)操作和數(shù)據(jù)文件,當內核收到讀寫的請求時,內核先去緩存區(qū)找是否有請求的數(shù)據(jù),有就直接返回,如果沒有則通過驅動程序直接操作磁盤。
緩存機制優(yōu)點:減少系統(tǒng)調用次數(shù),降低CPU上下文切換和磁盤訪問頻率。

CPU上下文切換:CPU給每個進程一定的服務時間,當時間片用完后,內核從正在運行的進程中收回處理器,同時把進程當前運行狀態(tài)保存下來,然后加載下一個任務,這個過程叫做上下文切換。實質上就是被終止運行進程與待運行進程的進程切換。

2)查看緩存區(qū)及內存使用情況

[root@localhost ~]# free -m
       total    used    free   shared  buffers   cached
Mem:     7866    7725    141     19     74    6897
-/+ buffers/cache:    752    7113
Swap:    16382     32   16350

從上面的命令結果顯示中可以看出:內存總共8G,已使用7725M,剩余141M,不少的人都是這么看的。
但其實這樣并不能作為實際的使用率。因為有了緩存機制,具體算法如下:

空閑內存=free(141)+buffers(74)+cached(6897)

已用內存=total(7866)-空閑內存

由此算出空閑內存是7112M,已用內存754M,這才是真正的使用率,也可參考-/+ buffers/cache這行信息也是內存正確使用率。

3)緩存區(qū)分buffers和cached區(qū)別

內核在保證系統(tǒng)能正常使用物理內存和數(shù)據(jù)量讀寫情況下來分配緩沖區(qū)大小。

buffers用來緩存metadata及pages,可以理解為系統(tǒng)緩存,例如,vi打開一個文件。

cached是用來給文件做緩存,可以理解為數(shù)據(jù)塊緩存,例如,dd if=/dev/zero of=/tmp/test count=1 bs=1G 測試寫入一個文件,就會被緩存到緩沖區(qū)中,當下一次再執(zhí)行這個測試命令時,寫入速度會明顯很快。

4)Swap用途

Swap意思是交換分區(qū),通常我們說的虛擬內存,是從硬盤中劃分出的一個分區(qū)。當物理內存不夠用的時候,內核就會釋放緩存區(qū)(buffers/cache)里一些長時間不用的程序,然后將這些程序臨時放到Swap中,也就是說如果物理內存和緩存區(qū)內存不夠用的時候,才會用到Swap。

swap清理:

swapoff -a && swapon -a

注意:這樣清理有個前提條件,空閑的內存必須比已經(jīng)使用的swap空間大

5)釋放緩存區(qū)內存的方法

a)清理pagecache(頁面緩存)

# echo 1 > /proc/sys/vm/drop_caches   或者 # sysctl -w vm.drop_caches=1

b)清理dentries(目錄緩存)和inodes

# echo 2 > /proc/sys/vm/drop_caches   或者 # sysctl -w vm.drop_caches=2

c)清理pagecache、dentries和inodes

# echo 3 > /proc/sys/vm/drop_caches   或者 # sysctl -w vm.drop_caches=3

上面三種方式都是臨時釋放緩存的方法,要想永久釋放緩存,需要在/etc/sysctl.conf文件中配置:vm.drop_caches=1/2/3,然后sysctl -p生效即可!

另外,可以使用sync命令來清理文件系統(tǒng)緩存,還會清理僵尸(zombie)對象和它們占用的內存

# sync

上面操作在大多數(shù)情況下都不會對系統(tǒng)造成傷害,只會有助于釋放不用的內存。

但是如果在執(zhí)行這些操作時正在寫數(shù)據(jù),那么實際上在數(shù)據(jù)到達磁盤之前就將它從文件緩存中清除掉了,這可能會造成很不好的影響。那么如果避免這種事情發(fā)生呢?

因此,這里不得不提一下/proc/sys/vm/vfs_cache_pressure這個文件,告訴內核,當清理inoe/dentry緩存時應該用什么樣的優(yōu)先級。

vfs_cache_pressure=100 這個是默認值,內核會嘗試重新聲明dentries和inodes,并采用一種相對于頁面緩存和交換緩存比較”合理”的比例。
減少vfs_cache_pressure的值,會導致內核傾向于保留dentry和inode緩存。
增加vfs_cache_pressure的值,(即超過100時),則會導致內核傾向于重新聲明dentries和inodes

總之,vfs_cache_pressure的值:
小于100的值不會導致緩存的大量減少
超過100的值則會告訴內核你希望以高優(yōu)先級來清理緩存。

其實無論vfs_cache_pressure的值采用什么值,內核清理緩存的速度都是比較低的。
如果將此值設置為10000,系統(tǒng)將會將緩存減少到一個合理的水平。

釋放內存前先使用sync命令做同步,以確保文件系統(tǒng)的完整性,將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。否則在釋放緩存的過程中,可能會丟失未保存的文件。

/proc是一個虛擬文件系統(tǒng),可以通過對它的讀寫操作作為與kernel實體間進行通信的一種手段。也就是說可以通過修改/proc中的文件,來對當前kernel的行為做出調整。也就是說我們可以通過調整/proc/sys/vm/drop_caches來釋放內存。

drop_caches的值可以是0-3之間的數(shù)字,代表不同的含義:

0:不釋放(系統(tǒng)默認值)
1:釋放頁緩存
2:釋放dentries和inodes
3:釋放所有緩存

以上就是關于Linux系統(tǒng)清除緩存的全部知識點內容,感謝大家的學習和對腳本之家的支持。

相關文章

  • linux刪除 buff/cache緩存的操作方法

    linux刪除 buff/cache緩存的操作方法

    這篇文章主要介紹了linux刪除 buff/cache緩存的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-04-04
  • Linux的路由表詳細介紹

    Linux的路由表詳細介紹

    這篇文章主要介紹了Linux的路由表詳細介紹的相關資料,希望通過本文大家能徹底了解Linux 路由表的知識,需要的朋友可以參考下
    2017-08-08
  • Linux磁盤擴容lvm的使用詳解

    Linux磁盤擴容lvm的使用詳解

    這篇文章主要介紹了Linux磁盤擴容lvm的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • SELinux 入門詳解

    SELinux 入門詳解

    這篇文章主要介紹了SELinux 入門詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 如何解決Ubuntu18.04循環(huán)登錄/卡在開機界面/無法進入圖形界面的問題

    如何解決Ubuntu18.04循環(huán)登錄/卡在開機界面/無法進入圖形界面的問題

    這篇文章主要介紹了如何解決Ubuntu18.04循環(huán)登錄/卡在開機界面/無法進入圖形界面的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • ssh端口轉發(fā)是什么?有什么用?

    ssh端口轉發(fā)是什么?有什么用?

    大家好,本篇文章主要講的是ssh端口轉發(fā)是什么?有什么用?,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Git提交日志修改方法實例匯總

    Git提交日志修改方法實例匯總

    這篇文章主要介紹了Git提交日志修改方法實例匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Linux sftp命令用法總結

    Linux sftp命令用法總結

    在本篇文章里小編給大家分享的是一篇關于Linux sftp命令的相關知識點內容,有需要的朋友們可以學習下。
    2019-10-10
  • Linux yum 命令安裝mysql8.0的教程詳解

    Linux yum 命令安裝mysql8.0的教程詳解

    這篇文章主要介紹了Linux yum 命令安裝mysql8.0的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • LINUX安全設置之關于GRUB加密圖文教程全解

    LINUX安全設置之關于GRUB加密圖文教程全解

    關于LINUX的啟動裝載程序GRUB加密,算是一件很平常的工作。但是今天我在網(wǎng)上查這個東西,發(fā)現(xiàn)好多人都寫的很簡單,而且方法都比較過時。所以,在此我更新下GRUB加密。和大家分享下。
    2010-03-03

最新評論

渑池县| 集贤县| 绥棱县| 抚顺市| 东宁县| 西丰县| 勐海县| 孝义市| 兴山县| 祁连县| 井陉县| 芜湖县| 化州市| 白银市| 布拖县| 哈密市| 综艺| 桐柏县| 永安市| 都江堰市| 博兴县| 永泰县| 新乐市| 石首市| 淳安县| 海丰县| 年辖:市辖区| 肇源县| 北海市| 四川省| 彩票| 海门市| 当雄县| 邳州市| 永寿县| 新沂市| 星座| 柳河县| 朔州市| 陆丰市| 余江县|