1、簡介
1.1 介紹
很多時候,服務器 負載 很高(執行操作 很慢),很多 原因 造成 這種 現象(內存不足 就是其中之一);此文 主要 關於 內存的 查看、釋放 相關 知識
1.2 操作 系統
## 本文 使用 CentOS 7
# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
2、內存 信息
2.1 獲取 內存信息
# free -m
total used free shared buffers cached
Mem: 979 261 717 6 0 74
-/+ buffers/cache: 186 793
Swap: 2079 0 2079
2.2 信息 解析
Mem:物理內存 統計
-/+ buffers/cache:物理內存 緩存 統計
Swap:硬盤 交換分區 統計
2.2.1 物理內存 統計
total:總內存
used:已使用的內存(包含 shared、buffers、cached)
free:未分配的內存
shared:共享內存
buffers:塊設備的讀寫緩衝區
cached:文件系統的cache
2.2.2 物理緩存 統計
used:該數值 爲 物理內存 行數值計算或者(used - buffers - cached)
free:該數值 爲 物理內存 行數值計算或者(free + buffers + cached)
2.2.3 交換分區 統計
暫不做 介紹
3、內存 釋放
調整/proc/sys/vm/drop_caches來釋放內存(/proc是一個虛擬文件系統,我們可以通過對它的讀寫操作做爲與kernel實體間進行通信的一種手段;可以通過修改/proc中的文件,來對當前kernel的行爲做出調整)
3.1 刷新 緩衝區
某些 情況下,我們 必須停止系統,此時 可以 運行 sync 命令以確保文件系統的完整性;sync 命令將所有未寫的系統緩衝區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件
## 一般刷兩次
# sync && sync
3.2 釋放 內存
## /proc/sys/vm/drop_caches 默認值 爲 0
# echo 3 > /proc/sys/vm/drop_caches