详解Linux如何查看当前占用CPU或内存最多的

详解Linux如何查看当前占用CPU或内存最多的,第1张

1. ps命令

ps -aux | sort -k4nr | head -N1

*命令详解:

1. head:-N可以指定显示的行数,默认显示10行。

2. ps:参数a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分。ps -aux的输出格式如下:

USER PID %CPU %MEMVSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 19352 1308 ?Ss Jul29 0:00 /sbin/init

root 2 0.0 0.0 0 0 ?SJul29 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ?SJul29 0:11 [migration/0]12345

3. sort -k4nr中(k代表从根据哪一个关键词排序,后面的数字4表示按照第四列排序;n指代numberic

sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。-k3表示按照cpu占用率排序。

2. top工具

命令行输入top回车,然后按下大写M按照memory排序,按下大写P按照CPU排序。

linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head

linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:

ps aux|head -1ps aux|grep -v PID|sort -rn -k +4|head

命令组合解析(针对CPU的,MEN也同样道理):

ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head

该命令组合实际上是下面两句命令:

ps aux|head -1

ps aux|grep -v PID|sort -rn -k +3|head

可以使用一下命令查使用内存最多的10个进程

查看占用cpu最高的进程

ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head

或者top (然后按下M,注意这里是大写)

查看占用内存最高的进程

ps aux|head -1ps aux|grep -v PID|sort -rn -k +4|head

或者top (然后按下P,注意这里是大写)

该命令组合实际上是下面两句命令:

ps aux|head -1

ps aux|grep -v PID|sort -rn -k +3|head

其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。

接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。

sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道 *** 作)

关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html

PID:进程的ID

USER:进程所有者

PR:进程的优先级别,越小越优先被执行

NInice:值

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8979534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存