在做 Linux 系统优化的时候, 物理内存是其中最重要的一方面. 自然的, Linux 也提供了非常多的方法来监控宝贵的内存资源的使用情况. 下面的清单详细的列出了 Linux 系统下通过视图工具或命令行来查看内存使用情况的各种方法.
1./proc/meminfo
查看 RAM 使用情况最简单的方法是通过 /proc/meminfo. 这个动态更新的虚拟文件实际上是许多其他内存相关工具 (如: free / ps / top) 等的组合显示./proc/meminfo 列出了所有你想了解的内存的使用情况. 进程的内存使用信息也可以通过 /proc//statm 和 /proc//status 来查看.
$ cat /proc/meminfo
图 0:Linux 下查看内存使用情况方法总结
2.atop
atop 命令是一个终端环境的监控命令. 它显示的是各种系统资源 (CPU, memory, network, I/O, kernel) 的综合, 并且在高负载的情况下进行了彩色标注.
$ sudo atop
3.free
free 命令是一个快速查看内存使用情况的方法, 它是对 /proc/meminfo 收集到的信息的一个概述.
$ free -h
4.GNOME System Monitor
GNOME System Monitor 是一个显示最近一段时间内的 CPU, 内存, 交换区及网络的使用情况的视图工具. 它还提供了一种查看 CPU 及内存使用情况的方法.
$ gnome-system-monitor
5.htop
htop 命令显示了每个进程的内存实时使用率. 它提供了所有进程的常驻内存大小, 程序总内存大小, 共享库大小等的报告. 列表可以水平及垂直滚动.
$ htop
6.KDE System Monitor
功能同 4 中介绍的 GENOME 版本.
$ ksysguard
7.memstat
memstat 是一个有效识别 executable(s), process(es) and shared libraries 使用虚拟内存情况的命令. 给定一个进程 ID,memstat 可以列出这个进程相关的可执行文件, 数据和共享库.
$ memstat -p
8.nmon
nmon 是一个基于 ncurses 的系统基准测试工具, 它可以监控 CPU, 内存, I/O, 文件系统及网络资源等的互动模式. 对于内存的使用, 它可以实时的显示总 / 剩余内存, 交换空间等信息.
$ nmon
9.ps
ps 命令可以实时的显示各个进程的内存使用情况. Reported memory usage information includes %MEM (percent of physical memory used), VSZ (totalamount of virtual memory used), and RSS (total amount of physical memory used). 你可以使用 "-sort" 选项对进程进行排序, 例如按 RSS 进行排序:
$ ps aux -sort -rss
图 8:Linux 下查看内存使用情况方法总结
10.smem
smem 命令允许你统计基于 / proc 信息的不同进程和用户的内存使用情况. 内存使用情况的分析可以导出图表(如条形图和饼图).
$ sudo smem -pie name -c "pss"
11.top
top 命令提供了实时的运行中的程序的资源使用统计. 你可以根据内存的使用和大小来进行排序.
$ top
12.vmstat
vmstat 命令显示实时的和平均的统计, 覆盖 CPU, 内存, I/O 等内容. 例如内存情况, 不仅显示物理内存, 也统计虚拟内存.
来源: http://stor.51cto.com/art/201804/570236.htm