在 Linux 系统中,查看内存使用情况有多种命令和工具,以下是常用的方法及其详细说明:
free
命令最基础的内存查看工具,显示物理内存、交换分区(Swap)的使用情况。
free -h
-h
:以人类可读单位显示(GB/MB)。-m
:以 MB 为单位显示。-s N
:每隔 N 秒刷新一次(如 free -s 5
)。total
:总内存。used
:已用内存(包含缓存和缓冲区)。free
:完全未使用的内存。shared/buffers/cache
:缓存和缓冲区占用的内存。available
:实际可用内存(估算值,更准确)。top
命令动态查看系统资源使用情况,包括内存、CPU、进程等。
top
KiB Mem
:物理内存使用情况。KiB Swap
:交换分区使用情况。M
可按内存占用排序进程。q
。htop
命令(需安装)增强版的 top
,支持颜色和交互式操作。
htop
bash
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
vmstat
命令查看虚拟内存统计信息,包括内存、Swap、IO、CPU。
vmstat -s
bash
vmstat 2
/proc/meminfo
文件直接读取内核提供的原始内存信息。
cat /proc/meminfo
MemTotal
:总物理内存。MemFree
:完全空闲内存。Buffers
/Cached
:缓存和缓冲区。SwapTotal
/SwapFree
:交换分区信息。glances
工具(需安装)综合监控工具,支持内存、CPU、磁盘、网络等。
glances
bash
pip install glances
smem
命令(需安装)专注于进程内存占用的工具,支持按 USS/PSS/RSS 统计。
smem -s swap -r
-u
:按用户分组。-p
:显示百分比。bash
sudo apt install smem # Debian/Ubuntu
ps
命令查看特定进程的内存占用。
ps aux --sort=-%mem | head -n 10
%MEM
:进程占用物理内存百分比。RSS
:实际物理内存用量(KB)。sar
命令(需安装 sysstat
)历史内存监控(适合分析长期趋势)。
sar -r 1 3 # 每隔1秒采样,共3次
free -h
或 cat /proc/meminfo
。top
/htop
。smem
或 ps aux --sort=-%mem
。vmstat
或 sar
。根据需求选择合适的工具即可!