簡單介紹Linux內存手動釋放方法
Linux服務器內存釋放在有些人看起來好像可以提高不少的效率,但是它實際的工作效果并不是很理想,這里我們說一下如何進行這份工作,幫助我們更好的去理解Linux系統的工作方式。
大眾釋放內存方法
1. 首先使用free -m查看剩余內存
view plaincopy to clipboardprint?
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 2773 178 0 130 1097
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 2773 178 0 130 1097
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
2. 執行sync命令
使用sync命令以確保文件系統的完整性,sync 命令運行 sync 子例程,將所有未寫的系統緩沖區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。
view plaincopy to clipboardprint?
linux-8v2i:~ # sync
linux-8v2i:~ # sync
3. 修改/proc/sys/vm/drop_caches
view plaincopy to clipboardprint?
echo 3 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
說明:
1>. /proc是一個虛擬文件系統,我們可以通過對它的讀寫操作作為與kernel實體間進行通信的一種手段。也就是說可以通過修改/proc中的文件,來對當前kernel的行為做出調整。也就是說我們可以通過調整/proc/sys/vm/drop_caches來釋放內存。
2>. 關于drop_caches的官方說明如下:
Writing to this file causes the kernel to drop clean caches,dentries and inodes from memory, causing that memory to becomefree.
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first.
3>. Linux內核會將它最近訪問過的文件頁面緩存在內存中一段時間,這個文件緩存被稱為pagecache。
4.再使用free -m查看剩余內存,情況如下:
view plaincopy to clipboardprint?
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 1773 2325 0 0 80
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 1773 2325 0 0 80
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
Linux服務器內存釋放工作也就輕而易舉的完成了。
【編輯推薦】
- 詳細介紹Linux shell腳本基礎學習(一)
- 簡單介紹Linux進程文件路徑的獲取方法
- 詳細介紹Linux shell腳本基礎學習(八)
- Linux系統安全提高之安全配置
- Linux系統安全提高之系統優化