日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下的缓存机制及清理buffer/cache/swap的方法梳理

發布時間:2025/3/15 linux 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下的缓存机制及清理buffer/cache/swap的方法梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)緩存機制介紹

在Linux系統中,為了提高文件系統性能,內核利用一部分物理內存分配出緩沖區,用于緩存系統操作和數據文件,當內核收到讀寫的請求時,內核先去緩存區找是否有請求的數據,有就直接返回,如果沒有則通過驅動程序直接操作磁盤。
緩存機制優點:減少系統調用次數,降低CPU上下文切換和磁盤訪問頻率。
CPU上下文切換:CPU給每個進程一定的服務時間,當時間片用完后,內核從正在運行的進程中收回處理器,同時把進程當前運行狀態保存下來,然后加載下一個任務,這個過程叫做上下文切換。實質上就是被終止運行進程與待運行進程的進程切換。

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

1 2 3 4 5 [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)緩存區分buffers和cached區別
內核在保證系統能正常使用物理內存和數據量讀寫情況下來分配緩沖區大小。
buffers用來緩存metadata及pages,可以理解為系統緩存,例如,vi打開一個文件。
cached是用來給文件做緩存,可以理解為數據塊緩存,例如,dd if=/dev/zero of=/tmp/test count=1 bs=1G 測試寫入一個文件,就會被緩存到緩沖區中,當下一次再執行這個測試命令時,寫入速度會明顯很快。

4)Swap用途
Swap意思是交換分區,通常我們說的虛擬內存,是從硬盤中劃分出的一個分區。當物理內存不夠用的時候,內核就會釋放緩存區(buffers/cache)里一些長時間不用的程序,然后將這些程序臨時放到Swap中,也就是說如果物理內存和緩存區內存不夠用的時候,才會用到Swap。
swap清理:
swapoff -a && swapon -a
注意:這樣清理有個前提條件,空閑的內存必須比已經使用的swap空間大

5)釋放緩存區內存的方法
? ??a)清理pagecache(頁面緩存)

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

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

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

 ?c)清理pagecache、dentries和inodes

1 # 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命令來清理文件系統緩存,還會清理僵尸(zombie)對象和它們占用的內存

1 # sync

轉載于:https://www.cnblogs.com/beyang/p/8393707.html

總結

以上是生活随笔為你收集整理的linux下的缓存机制及清理buffer/cache/swap的方法梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。