Linux使用/proc/meminfo和free命令查看內(nèi)存信息
/proc/meminfo 和 free 命令都用于查看 Linux 系統(tǒng)的內(nèi)存使用情況,但它們?cè)谑褂梅绞健⑿畔⒃敿?xì)程度和輸出格式上有顯著區(qū)別:
1./proc/meminfo
- 位置:虛擬文件系統(tǒng)中的一個(gè)文件
- 訪問(wèn)方式:
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 # 頁(yè)面緩存 SwapCached: 78901 kB # 交換緩存 ...
2.free命令
- 工具:用戶空間的一個(gè)命令行工具
- 訪問(wèn)方式:
free、free -h(人類(lèi)可讀)、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ù)來(lái)源 | 內(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 開(kāi)始)
“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 提供了更底層的訪問(wèn)接口。
到此這篇關(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)文章
linux Centos7斷網(wǎng)下安裝應(yīng)用程序詳解
在本篇文章里小編給大家整理的是關(guān)于linux最新版本Centos7,斷網(wǎng)情況下安裝應(yīng)用程序相關(guān)步驟,需要的朋友們可以學(xué)習(xí)下。2019-08-08
Linux?find命令的高級(jí)用法和多級(jí)目錄查找實(shí)戰(zhàn)
在日常?Linux?開(kāi)發(fā)和運(yùn)維中,find?是一個(gè)非常強(qiáng)大的文件搜索工具,除了簡(jiǎn)單的按文件名查找,它還能按目錄、大小、時(shí)間、權(quán)限,甚至執(zhí)行批量操作,本文結(jié)合實(shí)際案例,帶你全面掌握?find?的高級(jí)用法2025-12-12
vscode連接遠(yuǎn)程Linux服務(wù)器及免密登陸的詳細(xì)步驟
這篇文章主要介紹了vscode連接遠(yuǎn)程Linux服務(wù)器及免密登陸,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
Linux服務(wù)器SSH客戶端連接目標(biāo)服務(wù)器失敗的解決方法
Linux服務(wù)器SSH客戶端連接目標(biāo)服務(wù)器失敗怎么辦?在出現(xiàn)問(wèn)題時(shí)我們先用排除法查找原因,以下是根據(jù)幾種情況列出的解決方法,希望可以幫助到你,需要的朋友可以參考下2025-10-10
2026新版Ubuntu安裝Docker(20.10+)和Docker Compose全過(guò)程
本文詳細(xì)介紹了如何在Ubuntu系統(tǒng)上安裝和配置Docker及其Compose,包括配置鏡像加速源、安裝Docker和DockerCompose、設(shè)置環(huán)境變量以及使用DockerCompose管理多容器應(yīng)用2026-02-02
詳解從Ubuntu 14.04 LTS版升級(jí)到Ubuntu 16.04 LTS
Ubuntu 16.04 (Xerial Xerus) Long Term Support版于最近發(fā)布了。要想了解它的新功能和新特性,就必須升級(jí)或安裝這個(gè)新系統(tǒng)。本文介紹了從Ubuntu 14.04 LTS版升級(jí)到Ubuntu 16.04 LTS。2016-12-12
centos 7系統(tǒng)下安裝Jenkins的步驟詳解
Jenkins是一個(gè)開(kāi)源軟件項(xiàng)目,是基于Java開(kāi)發(fā)的一種持續(xù)集成工具,下面這篇文章主要給大家介紹了關(guān)于在centos 7系統(tǒng)下安裝Jenkins的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
詳解在Linux系統(tǒng)中如何識(shí)別和解決端口占用問(wèn)題
在日常的 Linux 系統(tǒng)管理和開(kāi)發(fā)過(guò)程中,端口占用是一個(gè)常見(jiàn)且令人頭疼的問(wèn)題,無(wú)論是部署新服務(wù)、調(diào)試應(yīng)用程序,還是進(jìn)行系統(tǒng)維護(hù),遇到端口被占用都可能導(dǎo)致服務(wù)無(wú)法正常啟動(dòng)或運(yùn)行,本文將詳細(xì)介紹在 Linux 系統(tǒng)中如何識(shí)別和解決端口占用問(wèn)題,需要的朋友可以參考下2025-01-01

