linux 服務器內存詳解 +清理內存緩存


  • -b,-k,-m,-g show output in bytes, KB, MB, or GB
  • k,m,g顯示輸出字節,KB,MB,或GB
  • -h human readable output (automatic unit scaling)
  • 可讀輸出(自動單元縮放)
  • -l show detailed low and high memory statistics
  • 顯示詳細的低內存和高內存統計
  • -o use old format (no -/+buffers/cache line)
  • 使用舊格式(無緩沖區/高速緩存行
  • -t display total for RAM + swap
  • 顯示總的RAM +交換
  • -s update every [delay] seconds
  • 更新每[延遲]秒
  • -c update [count] times
  • 更新[計數]次數
  • -a show available memory if exported by kernel (>80 characters per line)
  • 可用內核導出的可用內存(每行80個字符)
  • -V display version information and exit
  • 顯示版本信息並退出
time free -s 1 -c 2   #表示持續每隔1s更新更新一次mem信息,更新2次

[root@qqjf1 ~]# time free -s 1 -c 2
total used free shared buffers cached
Mem: 16332256 6323968 10008288 0 14392 125776
-/+ buffers/cache: 6183800 10148456
Swap: 0 0 0

total used free shared buffers cached
Mem: 16332256 6324100 10008156 0 14400 125776
-/+ buffers/cache: 6183924 10148332
Swap: 0 0 0


real 0m1.001s
user 0m0.000s
sys 0m0.001s

  • total: 內存總數
  • used: 已經使用內存數
  • free: 完全空閑內存
  • shared: 多個進程共享的內存
  • buffers: 用於塊設備數據緩沖,記錄文件系統metadata(目錄,權限,屬性等)
  • cached: 用於文件內容的緩沖
  • Mem: 物理內存
  • -/+ buffers/cache: 基於應用角度考慮(計算已使用內存時減去buffers/cache,計算可使用內存時加上buffers/cache)的內存情況,也可理解為真實的內存使用情況.
  • Swap: 交換分區

===============================================================================================

-buffers/cache——應用程序使用的內存大小,used減去緩存值
+buffers/cache——所有可供應用程序使用的內存大小,free加上緩存值
-buffers/cache=used-buffers-cached
+buffers/cache=free+buffers+cached

=================================================================================================

 

total used free shared buffers cached
Mem: 15949 6176 9772 0 14 123
-/+ buffers/cache: 6039 9910
Swap: 0 0 0

這里系統 :可用為 9910M ,已經使用6039M  : 注:9910為可用緩存區,系統可以隨時調用的內存;

==================================================================================================

swap :上邊表示未使用

一般情況下不建議這么做, 如果你確定向的話還是可以的
首先運行sync把未存盤的cache都寫入磁盤,稍等片刻, 或者是直接運行sync 兩遍

然后echo  1  試試應該大部分緩存可以釋放

釋放cache  memory內存:

To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

這個文件中記錄了緩存釋放的參數,默認值為0,也就是不釋放緩存。
他的值可以為0~3之間的任意數字,代表着不同的含義:
0 – 不釋放
1 – 釋放頁緩存
2 – 釋放dentries和inodes
3 – 釋放所有緩存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM