Linux下查看内存使用情况方法总结
Linux查看CPU和内存使用情况:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html
在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。
1. /proc/meminfo
查看RAM使用情况最简单的方法是通过/proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。
|
1 |
$ cat /proc/meminfo |
[root@localhost mysql3306]# cat /proc/meminfo
MemTotal: 1015368 kB
MemFree: 62840 kB
MemAvailable: 131304 kB
Buffers: 0 kB
Cached: 214632 kB
SwapCached: 74748 kB
Active: 257244 kB
Inactive: 459004 kB
Active(anon): 167632 kB
Inactive(anon): 370004 kB
Active(file): 89612 kB
Inactive(file): 89000 kB
Unevictable: 12516 kB
Mlocked: 12516 kB
SwapTotal: 2097148 kB
SwapFree: 467752 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 439480 kB
Mapped: 51324 kB
Shmem: 32284 kB
Slab: 85276 kB
SReclaimable: 35288 kB
SUnreclaim: 49988 kB
KernelStack: 15792 kB
PageTables: 80556 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2604832 kB
Committed_AS: 9447544 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 24316 kB
VmallocChunk: 34359709688 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 155584 kB
DirectMap2M: 892928 kB
[root@localhost mysql3306]#
2. atop
atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
|
1 |
$ sudo atop |
3. free
free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
|
1 |
$ free -h |
4. GNOME System Monitor
GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。
|
1 |
$ gnome-system-monitor |
5. htop
htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
|
1 |
$ htop |
6. KDE System Monitor
功能同 4 中介绍的GENOME版本。
|
1 |
$ ksysguard |
7. memstat
memstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。
|
1 |
$ memstat -p <PID> |
8. nmon
nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。
|
1 |
$ nmon |
9. ps
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 |
10. smem
smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
[root@localhost software]# smem
PID User Command Swap USS PSS RSS
10636 eric /usr/bin/VBoxClient --displ 300 0 2 20
10638 eric /usr/bin/VBoxClient --displ 368 0 2 68
10643 eric /usr/bin/VBoxClient --seaml 300 0 2 20
21171 root /usr/bin/VBoxClient --seaml 336 0 2 20
10644 eric /usr/bin/VBoxClient --seaml 440 0 3 64
21173 root /usr/bin/VBoxClient --seaml 472 0 3 64
490 root /usr/sbin/lvmetad -f 388 4 4 24
498 root /usr/lib/systemd/systemd-ud 1128 4 4 24
695 root /usr/sbin/abrtd -d -s 1620 4 4 24
698 root /usr/bin/abrt-watch-log -F 1416 4 4 24
708 root /usr/sbin/mcelog --ignoreno 140 4 4 4
723 root /usr/sbin/gssproxy -D 508 4 4 24
1031 root /usr/sbin/libvirtd 4324 4 4 24
1386 root /usr/sbin/dnsmasq --conf-fi 368 4 4 4
1478 root /usr/sbin/gdm 1252 4 4 36
1729 colord /usr/libexec/colord 1852 4 4 24
4950 root top 920 4 4 24
|
1 |
$ sudo smem --pie name -c "pss" |
11. top
top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
|
1 |
$ top |
12. vmstat
vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
|
1 |
$ vmstat -s |












浙公网安备 33010602011771号