在Linux系统中,了解服务器的总内存容量是系统管理和性能优化的基础操作,无论是排查系统卡顿、规划应用部署,还是监控系统资源,掌握查看内存的方法都是必备技能,本文将详细介绍多种查看Linux总内存的方式,涵盖基础命令、进阶技巧及不同场景下的适用方法,帮助用户全面掌握内存信息的获取技巧。

使用free命令查看内存信息
free命令是Linux中最基础、最常用的内存查看工具,它以易读的格式显示系统内存的使用情况,包括物理内存、交换空间(Swap)的总量、已用空间、空闲空间及缓存占用等。
基本用法
直接在终端输入free命令,默认会以KB为单位显示内存信息:
free
输出结果通常包含两行数据,分别对应Mem(物理内存)和Swap(交换空间)。total列表示总内存容量,used列表示已使用内存,free列表示完全空闲内存,shared列表示共享内存,buff/cache列表示用于缓存和缓冲区的内存。
优化显示格式
默认输出的KB单位在内存较大时不够直观,可通过-h参数自动选择合适的单位(如KB、MB、GB):
free -h
输出可能显示为:
total used free shared buff/cache available
Mem: 7.7Gi 2.1Gi 4.2Gi 256Mi 1.4Gi 5.3Gi
Swap: 2.0Gi 0B 2.0Gi
这里的Mem行的total值即为物理内存总容量,Swap行的total值为交换空间总容量。
查看指定单位
若需指定单位(如MB或GB),可使用-m或-g参数:
free -m # 以MB为单位 free -g # 以GB为单位
通过/proc/meminfo文件获取内存详情
Linux内核会将内存信息实时写入/proc/meminfo文件,这是一个纯文本文件,可通过cat、less等命令查看,该文件提供了比free命令更详细的内存统计信息,适合需要精确数据的场景。
执行以下命令查看/proc/meminfo:
cat /proc/meminfo
文件中包含多行内存相关参数,其中与总内存直接相关的关键信息包括:

MemTotal: 物理内存总量(单位为KB);SwapTotal: 交换空间总量(单位为KB);MemAvailable: 可用内存(包括空闲内存和可回收的缓存,比MemFree更准确)。
提取关键信息
若仅需关注总内存,可结合grep命令过滤:
grep "MemTotal" /proc/meminfo
输出示例:
MemTotal: 7943928 kB
此时需注意,单位为KB,若转换为GB,可通过计算7943928 / 1024 / 1024 ≈ 7.57GiB得到。
使用top/htop命令动态监控内存
top和htop是Linux系统常用的动态监控工具,可实时显示进程资源占用情况,同时也会在顶部汇总系统内存信息。
top命令
执行top命令后,第一行显示系统概览,其中包含KiB Mem和KiB Swap字段,分别对应物理内存和交换空间的总量、已用、空闲等数据。
KiB Mem : 7943928 total, 2154320 free, 2148452 used, 3641156 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used
这里的total即为总内存容量。
htop命令
htop是top的增强版,界面更友好,内存信息以进度条形式直观展示,默认界面顶部会显示Mem[total/used/free]和Swap[total/used/free],
Mem[7.57G/2.09G/4.10G]
Swap[2.00G/0.00B/2.00G]
直接通过数值即可获取总内存容量。
利用vmstat命令查看内存统计
vmstat(Virtual Memory Statistics)是虚拟内存统计工具,可报告进程、内存、I/O、CPU等系统状态,通过vmstat的内存相关字段,也可间接获取总内存信息。
基本用法
执行以下命令查看内存统计:

vmstat -s
输出中会包含内存总量信息,
7943928 K total memory
2154320 K free memory
2148452 K used memory
3641156 K active memory
其中total memory即为物理内存总容量。
通过dmidecode命令获取硬件内存信息
dmidecode命令可以读取硬件的DMI(Desktop Management Interface)表信息,包括内存的详细规格(如类型、速度、插槽数量等),若需获取物理内存的硬件级总容量,可使用该命令。
安装与使用
部分系统可能未预装dmidecode,需先安装(如Ubuntu/Debian系统可通过sudo apt install dmidecode安装),执行以下命令查看内存信息:
sudo dmidecode --type memory
输出会列出每个内存插槽的详细信息,包括容量、速度等,若需汇总总内存,可结合grep和awk提取:
sudo dmidecode --type memory | grep "Size:" | awk '{sum+=$2} END {print sum " MB"}'
注意:dmidecode需要root权限,且输出单位可能为MB,需根据需求转换。
不同场景下的方法选择
- 快速查看总内存:优先使用
free -h,简单直观; - 获取详细内存参数:查看
/proc/meminfo,适合脚本或精确计算; - 动态监控内存使用:使用
htop或top,实时观察内存变化; - 硬件级内存信息:通过
dmidecode获取内存条规格,适合硬件维护; - 脚本自动化处理:
grep /proc/meminfo或free命令的参数化输出更易于解析。
注意事项
- 单位换算:Linux内核中内存单位通常为
KB,需根据需求转换为MB或GB(1GB=1024MB,1MB=1024KB); - 缓存影响:
free命令中的used内存包含缓存(buff/cache),实际可用内存可通过available字段判断; - 权限问题:部分命令(如
dmidecode)需要root权限,确保用户具备相应权限; - 虚拟内存:交换空间(Swap)是物理内存的补充,查看总内存时需区分物理内存和交换空间。
通过以上方法,用户可根据实际需求灵活选择合适的方式查看Linux系统的总内存信息,为系统管理和性能优化提供准确的数据支持。


















