Linux下釋放內存

當在Linux下頻繁存取文件後,物理內存會很快被用光,當程序結束後,內存不會被正常釋放,而是一直作爲caching,因此我們很有必要手動清理系統緩存釋放內存。

第一步

我們在清理緩存前應該先執行sync。

因爲系統在操作的過程當中,會把你的操作到的文件資料先保存到buffer中去,因爲怕你在操作的過程中因爲斷電等原因遺失數據,所以在你操作過程中會把文件資料先緩存。所以我們執行sync命令,先把buffe中的數據先寫入到硬盤中。

sync
手動執行sync命令(描述:sync 命令運行 sync 子例程。如果必須停止系統,則運行sync 命令以確保文件系統的完整性。sync 命令將所有未寫的系統緩衝區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件)

第二步

最後,輸入手動釋放內存的命令

echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之間的數字,代表不同的含義:
0:不釋放(系統默認值)
1:釋放頁緩存
2:釋放dentries和inodes

然後我們可以執行 free -m,先觀察到內存已經被釋放。

轉載鏈接:
1、Linux 下清理系統緩存並釋放內存
https://blog.csdn.net/Gavinmiaoc/article/details/80527717

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章