Q:我想监视Linux系统的内存使用状况,在Linux下有哪些视图或者命令行工具可用呢? linux
在作Linux系统优化的时候,物理内存是其中最重要的一方面。天然的,Linux也提供了很是多的方法来监控宝贵的内存资源的使用状况。下面的清单详细的列出了Linux系统下经过视图工具或命令行来查看内存使用状况的各类方法。 网络
查看RAM使用状况最简单的方法是经过/proc/meminfo。这个动态更新的虚拟文件其实是许多其余内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了全部你想了解的内存的使用状况。进程的内存使用信息也能够经过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。 工具
1 测试 |
$ cat /proc/meminfo 优化 |
atop命令是一个终端环境的监控命令。它显示的是各类系统资源(CPU, memory, network, I/O, kernel)的综合,而且在高负载的状况下进行了彩色标注。 spa
1 命令行 |
$ sudo atop orm |
free命令是一个快速查看内存使用状况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。 排序
1 进程 |
$ free -h |
GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用状况的视图工具。它还提供了一种查看CPU及内存使用状况的方法。
1 |
$ gnome-system-monitor |
htop命令显示了每一个进程的内存实时使用率。它提供了全部进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表能够水平及垂直滚动。
1 |
$ htop |
功能同 4 中介绍的GENOME版本。
1 |
$ ksysguard |
memstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存状况的命令。给定一个进程ID,memstat能够列出这个进程相关的可执行文件、数据和共享库。
1 |
$ memstat -p <PID> |
nmon是一个基于ncurses的系统基准测试工具,它能够监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它能够实时的显示 总/剩余内存、交换空间等信息。
1 |
$ nmon |
ps命令能够实时的显示各个进程的内存使用状况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你能够使用 “–sort”选项对进程进行排序,例如按RSS进行排序:
1 |
$ ps aux --sort -rss |
smem命令容许你统计基于/proc信息的不一样进程和用户的内存使用状况。内存使用状况的分析能够导出图表(如条形图和饼图)。
1 |
$ sudo smem --pie name -c "pss" |
top命令提供了实时的运行中的程序的资源使用统计。你能够根据内存的使用和大小来进行排序。
1 |
$ top |
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存状况,不只显示物理内存,也统计虚拟内存。
1 |
$ vmstat -s |