linux下如何清理快取

2021-08-29 07:38:22 字數 1397 閱讀 5772

手頭的路由本身記憶體就比較少,上面又跑了乙個nginx+php的環境,簡直慢的**,check的時候發現記憶體經常被佔了很多。

linux的虛擬記憶體機制,很多時候回導致記憶體得不到及時釋放,有時候記憶體很少了,kill了很多程序,但是記憶體還是沒有釋放,這時候可以嘗試一下手動釋放,linux是提供了這樣的介面的。

echo 1 > /proc/sys/vm/drop_caches
這樣就能釋放了。

root@icecreambox:~# free

total used free shared buffers

mem: 126712 51792 74920 0 7132

-/+ buffers: 44660 82052

swap: 0 0 0

root@icecreambox:~#

root@icecreambox:~# echo 1 > /proc/sys/vm/drop_caches

root@icecreambox:~# free

total used free shared buffers

mem: 126712 28328 98384 0 672

-/+ buffers: 27656 99056

swap: 0 0 0

root@icecreambox:~#

記憶體一下多了幾十m,相對於總共128m的記憶體還是很客觀的。

下面簡單介紹一下這條命令。

/proc/sys/vm/drop_caches
proc檔案節點,是使用者與核心進行通訊和資料交換的乙個通道,sys/vm/drop_caches字面也好理解,系統的虛擬記憶體模組保留的乙個drop caches的介面,想這個介面發指令就能drop caches,linux這個命名也是6啊,看名知意。

echo的引數:

0 – 不釋放

1 – 釋放頁快取

2 – 釋放dentries和inodes

3 – 釋放所有快取

3還是慎用吧,另外釋放記憶體之前最好sync一下,linux本身將記憶體中的快取寫回磁碟的時間是30s(印象是這個,如果自己沒有調過核心引數的話),sync就是告訴系統,把快取的東西該寫磁碟的寫磁碟,老子不等你那個30s了,老子要的現在就要。嗯,就是這樣。

linux如何清理redis快取

1.在redis下檢視安裝目錄 如果命令 which 和whereis 都找不到安裝目錄,可使用以下辦法 ps ef grep redis 得到了程序號 x 然後 ls l proc x cwd 根據下圖配置即可 1 確認redis程序存活 在程序存活的基礎上來清楚快取 ps aux grep re...

Linux 清理快取,定時清理快取指令碼

檢視記憶體使用率 free m sed n 2p awk 清理記憶體 sync echo 1 proc sys vm drop caches 要達到釋放快取的目的,我們首先需要了解下關鍵的配置檔案 proc sys vm drop caches。這個檔案中記錄了快取釋放的引數,預設值為0,也就是不釋...

Linux 清理快取

1.free m 命令可以檢視記憶體使用情況 2.sync 因為系統在操作的過程當中,會把你的操作到的檔案資料先儲存到buffer中去,因為怕你在操作的過程中因為斷電等原因遺失資料,所以在你操作過程中會把檔案資料先快取。3.echo 3 proc sys vm drop caches 是清理所有快取...