插件窝 干货文章 Linux 下查看内存使用情况方法总结

Linux 下查看内存使用情况方法总结

内存 使用 bash 命令 807    来源:    2025-05-13

Linux 下查看内存使用情况方法总结

在 Linux 系统中,有多种方法可以查看内存使用情况。以下是常用的几种工具和命令:

1. free 命令

最常用的内存查看命令,显示系统总体内存使用情况:

free -h

常用选项: - -h:以人类可读格式显示(自动转换为 GB/MB/KB) - -m:以 MB 为单位显示 - -g:以 GB 为单位显示 - -s N:每隔 N 秒刷新一次(如 free -s 5 每5秒刷新)

输出解释: - total:总内存量 - used:已使用内存(包括 buffers/cache) - free:空闲内存 - shared:共享内存 - buff/cache:缓存和缓冲区使用的内存 - available:可用内存(估计可用于启动新应用的内存)

2. top 命令

动态查看系统资源使用情况,包括内存:

top

在 top 界面中: - 按 M 按内存使用排序 - 按 P 按 CPU 使用排序 - 按 q 退出

内存相关信息显示在顶部区域: - KiB Mem:物理内存使用情况 - KiB Swap:交换分区使用情况

3. htop 命令

比 top 更友好的交互式进程查看器:

htop

需要先安装:

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL

4. vmstat 命令

查看虚拟内存统计信息:

vmstat -s

或实时监控(每2秒刷新一次):

vmstat 2

5. /proc/meminfo 文件

最详细的内存信息源:

cat /proc/meminfo

包含所有内存相关指标的详细信息。

6. pmap 命令

查看特定进程的内存使用情况:

pmap -x [PID]

7. smem 命令

提供更直观的内存使用报告:

smem -u -k -p

需要先安装:

sudo apt install smem  # Debian/Ubuntu
sudo yum install smem  # CentOS/RHEL

8. glances 工具

全面的系统监控工具:

glances

需要先安装:

sudo apt install glances  # Debian/Ubuntu
sudo yum install glances  # CentOS/RHEL
pip install glances      # 使用pip安装

9. nmon 工具

交互式系统监控工具:

nmon

m 键查看内存相关信息。

内存使用分析要点

  1. 理解缓存和缓冲区:Linux 会利用空闲内存做磁盘缓存(buffers/cache),这部分内存在需要时会被释放,所以不要只看 "free" 内存。

  2. 关注 available 值:比 free 更能反映实际可用内存。

  3. 交换分区使用:如果 swap 使用较多,可能表示物理内存不足。

  4. OOM Killer:当系统内存严重不足时,Linux 会终止进程来释放内存。

  5. 内存泄漏检测:如果内存使用持续增长而不释放,可能存在内存泄漏问题。

总结

  • 快速查看:free -h
  • 详细分析:cat /proc/meminfo
  • 进程级分析:tophtop
  • 长期监控:vmstatglances

根据具体需求选择合适的工具组合使用,可以全面了解 Linux 系统的内存使用情况。