Linux使用/proc/meminfo和free命令查看內(nèi)存信息
/proc/meminfo 和 free 命令都用于查看 Linux 系統(tǒng)的內(nèi)存使用情況,但它們?cè)谑褂梅绞健⑿畔⒃敿?xì)程度和輸出格式上有顯著區(qū)別:
1./proc/meminfo
- 位置:虛擬文件系統(tǒng)中的一個(gè)文件
- 訪問方式:
cat /proc/meminfo或直接讀取文件內(nèi)容 - 特點(diǎn):
- 提供最原始、最詳細(xì)的內(nèi)存統(tǒng)計(jì)數(shù)據(jù)
- 包含內(nèi)核內(nèi)存管理的所有關(guān)鍵指標(biāo)
- 每行格式:
指標(biāo)名: 值 kB - 需要用戶自己計(jì)算可用內(nèi)存等衍生指標(biāo)
關(guān)鍵指標(biāo)示例:
MemTotal: 16302048 kB # 總物理內(nèi)存 MemFree: 1023408 kB # 完全空閑的內(nèi)存 MemAvailable: 4567890 kB # 可用內(nèi)存(估算) Buffers: 123456 kB # 緩沖區(qū)內(nèi)存 Cached: 5678901 kB # 頁面緩存 SwapCached: 78901 kB # 交換緩存 ...
2.free命令
- 工具:用戶空間的一個(gè)命令行工具
- 訪問方式:
free、free -h(人類可讀)、free -m(MB單位) - 特點(diǎn):
- 解析并計(jì)算了
/proc/meminfo的數(shù)據(jù) - 提供更直觀的摘要視圖
- 自動(dòng)計(jì)算可用內(nèi)存等關(guān)鍵指標(biāo)
- 支持多種輸出格式
- 解析并計(jì)算了
典型輸出:
total used free shared buff/cache available Mem: 15.5G 8.2G 1.0G 456M 6.3G 6.7G Swap: 2.0G 345M 1.7G
主要區(qū)別對(duì)比
| 特性 | /proc/meminfo | free 命令 |
|---|---|---|
| 數(shù)據(jù)來源 | 內(nèi)核直接提供 | 讀取并解析 /proc/meminfo |
| 詳細(xì)程度 | 非常詳細(xì)(30+個(gè)指標(biāo)) | 摘要視圖(關(guān)鍵指標(biāo)) |
| 計(jì)算需求 | 需要手動(dòng)計(jì)算 | 自動(dòng)計(jì)算可用內(nèi)存等 |
| 易讀性 | 原始數(shù)據(jù),不易讀 | 格式友好,支持單位轉(zhuǎn)換 |
| 更新頻率 | 實(shí)時(shí)(每次讀?。?/td> | 實(shí)時(shí)(但可能緩存) |
| 使用場(chǎng)景 | 腳本編程、深度分析 | 快速查看、日常監(jiān)控 |
關(guān)鍵概念解釋
MemAvailable vs free 命令的 “available”
/proc/meminfo的MemAvailable:內(nèi)核估算的實(shí)際可用內(nèi)存(包含可回收的緩存)free命令的 “available”:直接使用MemAvailable的值(從內(nèi)核 3.14 開始)
“used” 內(nèi)存的計(jì)算
free 命令的 “used” 內(nèi)存計(jì)算方式:
used = total - free - buffers - cache
(這比單純看 MemFree 更有意義,因?yàn)?Linux 會(huì)充分利用空閑內(nèi)存做緩存)
實(shí)際使用示例
查看詳細(xì)內(nèi)存信息(腳本友好):
cat /proc/meminfo | grep -E "^(MemTotal|MemFree|MemAvailable|Buffers|Cached)"
快速查看摘要(日常使用):
free -h
監(jiān)控內(nèi)存趨勢(shì):
# 使用 free 每2秒刷新 watch -n 2 free -h # 或使用更詳細(xì)的監(jiān)控 vmstat 2 5
建議
- 日常使用:用
free -h快速查看 - 腳本編程/調(diào)試:用
/proc/meminfo獲取原始數(shù)據(jù) - 性能分析:結(jié)合兩者,并加上
vmstat、top等工具
兩者本質(zhì)上查看的是同一套數(shù)據(jù),但 free 提供了更友好的用戶界面,而 /proc/meminfo 提供了更底層的訪問接口。
到此這篇關(guān)于Linux使用/proc/meminfo和free命令查看內(nèi)存信息的文章就介紹到這了,更多相關(guān)Linux /proc/meminfo和free查看內(nèi)存信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用apache的rotatelogs命令實(shí)現(xiàn)WebLogic啟動(dòng)命令的nohup的日志回滾
通過apache的rotatelogs命令實(shí)現(xiàn)WebLogic啟動(dòng)命令的nohup的日志回滾,有需要的朋友可以參考下2013-01-01
如何解決win10與Ubuntu16.04時(shí)間不同步的問題的方法
本篇文章主要介紹了如何解決win10與Ubuntu16.04時(shí)間不同步的問題的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05
Ubuntu下使用python3中的venv創(chuàng)建虛擬環(huán)境
這篇文章主要介紹了Ubuntu下使用python3中的venv創(chuàng)建虛擬環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法
本篇文章主要介紹了使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測(cè)試示例
這篇文章主要介紹了CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測(cè)試,結(jié)合實(shí)例形式分析了CentOS下Redis安裝相關(guān)步驟、命令及phpredis擴(kuò)展的測(cè)試代碼,需要的朋友可以參考下2018-04-04

