关注、星标公众号,直达精彩内容

6813cc56c7a26fadc63c51fd3b221df8.png

来自:Specs'Blog

链接:http://9iphp.com/linux/1247.html

原文:http://ask.xmodulo.com/check-memory-usage-linux.html

Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?

在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。

1./proc/meminfo

查看RAM使用情况最简单的方法是通过 /proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过 /proc/<pid>/statm 和 /proc/<pid>/status 来查看。

$ cat /proc/meminfo

8db5f1f336693209e2acf5190191d792.png

2.atop

atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。

$ sudo atop

89bd4d6f678cb9f95e03fcaf0b567bb2.png

3.free

free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。

$ free -h

c9c5ad602165068423dfa58abc5873cd.png

4.GNOME System Monitor

GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。

$ gnome-system-monitor

fd59b098fa6b1b0231ed5899a4c84a34.png

5.htop

htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。

$ htop

45019aff839cc3152f67242d45eef175.png

6.KDE System Monitor

功能同 4 中介绍的GENOME版本。

$ ksysguard

bc0cc2fd85a7989add1197e761e8d2e6.png

7.memstat

memstat是一个有效识别 executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。

$ memstat -p <PID>

7260fc2f7df9e27ba6016d07dc30b3b1.png

8.nmon

nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。

$ nmon

dc043d93db682f0a550fcd7f73f1ce05.png

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进行排序:

$ ps aux --sort -rss

bce706542bbb3cbf6cdc33c22cf1bea7.png

10.smem

smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。

$ sudo smem --pie name -c "pss"

5ecb258724bed78d8b8bd98ce8ef7e1c.png

11.top

top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。

$ top

06f5dd63852b9cfe11cd9db1ab2c938e.png

12.vmstat

vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。

$ vmstat -s
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐