通过 /proc/meminfo
文件(最底层数据)
这是Linux内核提供的原始内存信息文件,所有工具的数据来源均基于此。
操作步骤:
cat /proc/meminfo | grep -i 'MemTotal'
输出示例:MemTotal: 16248544 kB
说明:
MemTotal
表示物理内存总量(不含Swap)。- 单位默认为
kB
,转换为GB需除以1048576
(即16248544/1048576≈15.5GB
)。
优势: 数据直接来自内核,绝对准确。
使用 free
命令(推荐首选)
系统自带工具,直观显示内存使用情况。
操作步骤:
free -h # -h 自动转换易读单位(GB/MB)
输出示例:
total used free shared buff/cache available
Mem: 15Gi 5.2Gi 2.1Gi 1.3Gi 7.7Gi 8.4Gi
Swap: 2.0Gi 0B 2.0Gi
关键列:
total
:物理内存总量(图中15GiB
)。available
:系统可用内存(含缓存和缓冲)。
参数说明:-m
:以MB显示-g
:以GB显示(会取整)
通过 dmidecode
(获取硬件配置)
直接从硬件层面读取内存信息,需root权限。
操作步骤:
sudo dmidecode -t memory | grep -A5 "Memory Device" | grep Size
输出示例:
Size: 8192 MB
Size: 8192 MB
Size: No Module Installed
说明:
- 显示每个内存插槽的容量(示例为两条8GB内存)。
- 可查看内存频率、型号等细节(
sudo dmidecode -t memory
)。
适用场景: 需确认物理内存条规格时使用。
图形化工具(适合桌面用户)
若系统安装了桌面环境,可通过内置工具查看:
- GNOME桌面:打开
System Monitor
→ 资源 → 内存 - KDE桌面:
KSysGuard
→ 内存选项卡 - 通用工具:安装
htop
(命令:sudo apt install htop && htop
),顶部显示内存使用条。
其他辅助命令
top
/htop
:
运行后按Shift+M
按内存排序进程,顶部显示总内存。
vmstat
:vmstat -s | grep "total memory"
常见问题解决
- 命令不存在?
安装工具:sudo apt install procps
(Debian/Ubuntu)或sudo yum install procps-ng
(CentOS)。 - 单位混淆?
注意区分GiB
(二进制,1024进制)和GB
(十进制,1000进制),Linux默认使用GiB
。 - 虚拟化环境内存显示异常?
使用dmidecode
验证物理内存,部分云主机可能限制可见内存。
总结建议
- 日常运维 → 用
free -h
- 硬件检测 → 用
dmidecode
- 脚本调用 → 用
grep MemTotal /proc/meminfo
- 桌面用户 → 图形化工具
引用说明:
- 数据来源:Linux内核文档(kernel.org/doc)
- 命令规范:GNU Coreutils手册(www.gnu.org/software/coreutils)
- 硬件接口:DMTF SMBIOS标准(www.dmtf.org/standards/smbios) 经Ubuntu 22.04、CentOS 7及Linux 5.15内核实测验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6131.html