linux命令 free -h,Linux服务器free命令查看内存使用情况
一、free命令可選參數
-b,-k,-m,-g show output in bytes, KB, MB, or 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
-s update every [delay] seconds
-c update [count] times
-a show available memory if exported by kernel (>80 characters per line)
-V display version information and exit
1.常用參數演示
[root@ ~]# free -b #以Byte為單位顯示
total used free shared buffers cached
Mem: 1044611072 552603648 492007424 57344 39006208 124108800
-/+ buffers/cache: 389488640 655122432
Swap: 1572855808 245936128 1326919680
[root@ ~]# free -k #以KB為單位顯示
total used free shared buffers cached
Mem: 1020128 536520 483608 56 38108 121200
-/+ buffers/cache: 377212 642916
Swap: 1535992 240172 1295820
[root@ ~]# free -m #以MB為單位顯示
total used free shared buffers cached
Mem: 996 523 472 0 37 118
-/+ buffers/cache: 368 627
Swap: 1499 234 1265
[root@ ~]# free -h #人性化輸出顯示
total used free shared buffers cached
Mem: 996M 521M 474M 56K 35M 118M
-/+ buffers/cache: 368M 628M
Swap: 1.5G 234M 1.2G
[root@ ~]# free -o #不顯示-/+buffers/cache line,不建議
total used free shared buffers cached
Mem: 1020128 536892 483236 56 38468 121284
Swap: 1535992 240172 1295820
[root@ ~]# free -th #算上swap
total used free shared buffers cached
Mem: 996M 524M 471M 56K 37M 118M
-/+ buffers/cache: 368M 627M
Swap: 1.5G 234M 1.2G
Total: 2.4G 758M 1.7G
[root@ ~]# time free -s 1 -c 3 #表示持續每隔1s更新更新一次mem信息,更新3次
total used free shared buffers cached
Mem: 1020128 537512 482616 56 38868 121328
-/+ buffers/cache: 377316 642812
Swap: 1535992 240172 1295820
total used free shared buffers cached
Mem: 1020128 537512 482616 56 38868 121328
-/+ buffers/cache: 377316 642812
Swap: 1535992 240172 1295820
total used free shared buffers cached
Mem: 1020128 537512 482616 56 38868 121328
-/+ buffers/cache: 377316 642812
Swap: 1535992 240172 1295820
real 0m2.002s
user 0m0.000s
sys 0m0.001s
[root@ ~]#
二、free 命令輸出結果信息說明
total?????? used?????? free???? shared??? buffers???? cached
Mem:????????? 996M?????? 525M?????? 470M??????? 56K??????? 38M?????? 118M
-/+ buffers/cache:?????? 368M??????? 627M
Swap:???????? 1.5G?????? 234M?????? 1.2G
1.第一行
total: 內存總數
used: 已經使用內存數
free: 完全空閑內存
shared: 多個進程共享的內存
buffers: 用于塊設備數據緩沖,記錄文件系統metadata(目錄,權限,屬性等)
cached: 用于文件內容的緩沖
2.第一列
Mem: 物理內存
-/+ buffers/cache:?基于應用角度考慮(計算已使用內存時減去buffers/cache,計算可使用內存時加上buffers/cache)的內存情況,也可理解為真實的內存使用情況.
Swap: 交換分區
當我們獲取系統內存用量的時候我們應該以“-/+ buffers/cached”行的used和free作為參考.因為第一行的buffers和cached被系統作為了緩存(這里包括緩沖了metadata數據和曾經打開過的內容,是為了加快我們系統處理的速度),而這部分緩存可以根據我們的應用內存使用情況隨時釋放掉(也可以手動釋放).
這里的話我系統可用內存實際為:可用627M,已使用368M,而不是525M和470M.
buffers/cahed手動釋放測試
3.釋放前
[root@ ~]# free -h
total used free shared buffers cached
Mem: 996M 531M 465M 56K 42M 119M
-/+ buffers/cache: 369M 626M
Swap: 1.5G 234M 1.2G
[root@ ~]#
4.使用命令
[root@ ~]# echo 3 > /proc/sys/vm/drop_caches
[root@ ~]# free -h
total used free shared buffers cached
Mem: 996M 391M 604M 56K 420K 26M
-/+ buffers/cache: 364M 631M
Swap: 1.5G 234M 1.2G
[root@ ~]#
手動釋放后我們看到 第一行Mem的used和free有了很大的提升,我們上述的觀點得到了驗證
5.使用find 命令讓buffers增加
[root@ backup]# free -h;find .>/dev/null;free -h
total used free shared buffers cached
Mem: 996M 397M 598M 56K 2.6M 32M
-/+ buffers/cache: 362M 633M
Swap: 1.5G 234M 1.2G
total used free shared buffers cached
Mem: 996M 415M 581M 56K 17M 32M
-/+ buffers/cache: 364M 631M
Swap: 1.5G 234M 1.2G
[root@ backup]#
6.使用cat 命令讓cached增加
[root@zwj python]# free -h;find /mydata/backup/python/ -type f|xargs cat>/dev/null 2>&1;free -h
total used free shared buffers cached
Mem: 996M 434M 561M 56K 18M 50M
-/+ buffers/cache: 365M 630M
Swap: 1.5G 234M 1.2G
total used free shared buffers cached
Mem: 996M 767M 228M 56K 20M 367M
-/+ buffers/cache: 379M 617M
Swap: 1.5G 234M 1.2G
總結
以上是生活随笔為你收集整理的linux命令 free -h,Linux服务器free命令查看内存使用情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: headroom插件的使用
- 下一篇: linux 其他常用命令