如何在linux bash中获取具有最大CPU使用率的任务名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux bash中获取具有最大CPU使用率的任务名称?相关的知识,希望对你有一定的参考价值。

在linux中,我正在编写一个脚本来将系统参数记录到文件中。

如何获取占用最多CPU资源的任务名称以及该任务使用的CPU百分比?

例如,使用top

$ top -bin 1
top - 19:11:05 up  2:57,  1 user,  load average: 1,43, 1,47, 1,06
Tasks: 178 total,   2 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5,8 us,  1,3 sy,  0,0 ni, 92,8 id,  0,0 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem :  3892704 total,  1594348 free,  1282992 used,  1015364 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  2335136 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
11883 root      20   0  645964 104036  87792 R  93,8  2,7  18:07.03 Xorg
12030 raf       20   0  412824  35632  14860 S  12,5  0,9   2:44.51 xfsettingsd
23468 raf       20   0   39648   3864   3332 R   6,2  0,1   0:00.02 top

从上面的例子中,我想要的是[序列的[管道]] bash命令[s]输出:

93.8   Xorg
答案

你可以试试

ps -eo %cpu,comm --sort %cpu | tail -n 1

以上是关于如何在linux bash中获取具有最大CPU使用率的任务名称?的主要内容,如果未能解决你的问题,请参考以下文章

在 linux 内核空间中获取最大支持的 cpu 频率

C++ openmp并行程序在多核linux上如何最大化使用cpu

如何使用 C 在 Linux 中获取物理 CPU:s 的数量?

如何使用 C++ 在 Linux 中获取总 CPU 使用率

系统监控

Linux下万能巡检脚本 获取远程主机内存 cpu磁盘等信息