在Linux系统中查看内存总量的方法有多种,以下是常用命令及扩展知识:
1. free命令
最常用的命令是 `free -h`,以人类可读格式(GB/MB)显示内存信息:
bash
free -h
输出中 `Mem` 行的 `total` 列即为物理内存总量。加 `-w` 参数可优化缓冲区/缓存显示(如 `free -hw`)。
2. top/htop命令
- 运行 `top` 后,首行显示 `KiB Mem` 的总量数据。
- `htop` 更直观,顶部直接显示物理内存和交换分区的总量(需安装:`sudo apt install htop`)。
3. /proc/meminfo文件
直接读取内核提供的虚拟文件:
bash
cat /proc/meminfo | grep MemTotal
输出单位为KiB,需手动转换为GiB(1 GiB = 1024 MiB = 1048576 KiB)。
4. dmidecode命令(需root权限)
获取硬件级内存信息,包括每个内存条详情:
bash
sudo dmidecode -t memory | grep -A5 "Memory Device"
适用于查看物理内存插槽及单条容量。
5. lshw命令
列出硬件配置概要中的内存信息:
bash
sudo lshw -short -C memory
扩展知识:
虚拟内存与物理内存区别:`free` 命令显示的 `available` 是实际可用内存(含缓存和缓冲区回收空间),而 `MemTotal` 是物理内存总量。
NUMA架构:服务器多CPU时,可用 `numactl --hardware` 查看每个NUMA节点的内存分布。
单位差异:厂商标称内存以GB(10³进制)计算,Linux以GiB(2³⁰字节)为单位,故系统显示值可能略小于标称值。