查看
free -h
Mem 行(第一行)數據說明:
Total:1035108KB。表示物理內存總大小。
Used:1008984KB。表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存並未實際使用。
Free:26124KB。表示未被分配的內存。
Shared:0kb。共享內存,一般系統不會用到。
Buffers:124212KB。系統分配但未被使用的buffers 數量。
Cached:413000KB。系統分配但未被使用的cache 數量。
-/+ buffers/cache 行(第二行)數據說明:
Used:471772kb,實際使用的buffers 與cache 總量,也是實際使用的內存總量。
Free: 563336kb, 未被使用的buffers 與cache 和未被分配的內存之和,這就是系統當前實際可用內存。
根據以上分析,可以得出一下結論:
1. 實際可用內存大小:
Free(-/+ buffers/cache行)= Free(Mem)+buffers(Mem)+Cached(Mem);
563336 = 26124 + 124212+ 413000
2. 已經分配的內存大小:
Used(Mem) = Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem)
1008984kb = 471772 + 124212 +413000
3. 物理內存總大小
total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache)
1035108 = 471772 + 563336
釋放
/proc是一個虛擬文件系統,我們可以通過對它的讀寫操作做爲與kernel實體間進行通信的一種手段.也就是說可以通過修改/proc中的文件,來對當前kernel的行爲做出調整.那麼我們可以通過調整/proc/sys/vm/drop_caches來釋放內存.操作如下:
cat /proc/sys/vm/drop_caches
0
首先,/proc/sys/vm/drop_caches的值,默認爲0
手動執行sync命令
描述:sync 命令運行 sync 子例程。如果必須停止系統,則運行 sync 命令以確保文件系統的完整性。sync 命令將所有未寫的系統緩衝區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。
sync
echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
3
將/proc/sys/vm/drop_caches值設爲3
再次執行free查看內存已釋放完畢。