#1 楼
在top
内部,您可以尝试以下操作:按SHIFT + f
按与%MEM对应的字母
按ENTER
您也可以尝试:
$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5
这将按内存使用量列出前5个进程。
评论
在Linux下,只需按M即可按物理内存使用量排序(“ RES”列)。在* BSD下,运行top -o res或top -o size。但是htop更好,甚至不比top消耗更多的内存(但是它不是基本工具集的一部分,因此您可能没有安装它)。
–吉尔斯'所以-不再是邪恶的'
2010-12-19 13:38
我必须按s来按%MEM排序,然后按逃脱获得顶部。
–布莱斯·昆塔(Bryce Guinta)
16年6月26日在20:40
在Solaris 9上不起作用。
–saulius2
20年4月30日在14:19
#2 楼
如果已安装它,则启动它后,我会喜欢htop
,可以按f6,向下箭头(至MEM%
),输入以按内存排序。#3 楼
在Solaris中,您需要的命令是:prstat -a -s size
这将按递减的进程映像大小列出所有进程。请注意,后者基于OS提交给该进程的内存,而不是其驻留的物理内存使用情况。
Solaris可以使用“ top”版本,但这些版本不属于Solaris。标准安装。
评论
终于可以在Solaris 9上运行了!谢谢
–saulius2
20 Apr 30'14:25
#4 楼
top
启动后,按F切换到排序字段屏幕。通过按左侧列出的键选择列出的字段之一;您可能需要MEM%
的N 评论
如果您需要MEM%,则按“ M”执行上述操作。 'c'将命令行参数添加到进程列表,可能对您的问题有用。
– Wag
2010-12-19 8:46
在Solaris 9上不起作用
–saulius2
20年4月30日在14:21
#5 楼
top
的一个不错的替代选择是htop
。选中它,它比常规top更加用户友好。#6 楼
此命令将标识内存消耗最大的进程:ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
评论
在Solaris 9上不起作用:ps:非法选项--ps:ort是-s选项的无效非数字参数ps:非法选项-r ps:s是-s选项的无效非数字参数ps:未知输出格式:-o pmem:40 ps:未知输出格式:-o cmd:500
–saulius2
20-4-30在14:22
#7 楼
它可以通过多种方式实现,我最喜欢的一种方式是:
PS方式:
[arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort=-%mem
其中,
-e
:选择所有进程-o
:适用于输出格式pid
,cmd
,%cpu
,%mem
:按正确的顺序输出格式。在这里,可以使用pcpu
和pmem
代替%cpu
和%mem
。可惜(不知道为什么),它在某些计算机(Oracle Linux)和某些较旧的计算机上不起作用。您可以使用以下类似的替代方法。
[arif@arif ~]$ ps aux --sort '-%mem' --cols 120 | head
其中,
--cols 100
:指定列的宽度cmd
的输出有时会很长。如果您不希望使用带参数的缩减命令,则没有必要。aux
:使用BSD语法查看系统上的每个进程[arif@arif ~]$ ps -eo pid,cmd,%cpu,%mem --sort -rss
其中,
-rss
:驻留集大小,任务已使用的未交换物理内存[arif@arif ~]$ ps aux --sort -rss --cols 120
顶部方式:
[arif@arif ~]$ top -b -o +%MEM
哪里,
-b
:将top
用作batch
模式。-o
:覆盖排序字段名,后跟一个字段名%MEM
,您始终可以使用
head
和/或tail
来控制输出。评论
在Solaris 9上不起作用。顶部的cmd行给出:顶部:'+%MEM'不是公认的排序顺序。请尝试以下方法之一:cpu大小res时间
–saulius2
20 Apr 30'14:25
#8 楼
全局:始终建议使用日志分析器工具来记录Splunk,ELK等历史记录日志,以便使用查询语言可以轻松获取CPU和内存的PID及其使用情况。
在SERVER / OS LEVEL:
从顶部开始,您可以尝试以下操作:
Press SHIFT+M ---> This will give you a process which takes more memory in descending order.
您还可以尝试:
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10
这将按内存使用量列出前10个进程。
此外,您可以使用vmstat实用程序同时查找RAM的使用情况,而不是历史记录。
评论
谢谢,最重要的技巧适用于Solaris9。ps cmd-line无效。
–saulius2
20-04-30在14:24
#9 楼
您可以尝试ps aux --sort -rss | head
或ps aux | sort -nk +4 | tail
评论
在Solaris 9上不起作用
–saulius2
20年4月30日在14:22
评论
theunixshell.blogspot.in/2012/12/blog-post.html感谢@Vijay,它也可以在Solaris 9上完美运行。