编程知识 cdmana.com

干货推荐:电脑知识之Centos,查看系统进程命令大全—TOP

不知道别人如何,我是经常用top这个命令,来查下系统进程的占据情况。如果发现,哪个进程占据异常,就去处理下。

 


 

命令说明

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。

如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。

它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用、内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

命令格式

top -参数

命令功能

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

命令参数

以下是top命令后可以接的参数,一般用下-u即可。

-b 是批处理

-c 是 显示完整的治命令

-I 是 忽略失效过程

-s是 保密模式

-S 是累积模式

-i 是<时间>设置间隔时间

-u是<用户名>指定用户名

-p 是<进程号>指定进程

n是<次数>循环显示的次数

命令演示

 


 

top

直接输入top,将动态显示所有进程信息。然后,摁下shift+>或者shift+<可以切换排序方式,默认以cpu占据情况排序。

[root@210789 ~]# top

top - 23:41:42 up 25 days, 10:55,  1 user,  load average: 0.00, 0.00, 0.00

Tasks: 118 total,  2 running, 116 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.2 us,  0.2 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

MiB Mem :  3635.0 total,    295.2 free,  1605.4 used,  1734.4 buff/cache

MiB Swap:      0.0 total,      0.0 free,      0.0 used.  1740.3 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+ COMMAND

336386 memcach+  20  0  442880  34300  1736 S  0.3  0.9  12:10.84 memcached

380953 root      10 -10  166012  33784  16232 S  0.3  0.9  77:41.24 AliYunDun

      1 root      20  0  179172  11116  8168 S  0.0  0.3  0:20.15 systemd

      2 root      20  0      0      0      0 S  0.0  0.0  0:00.44 kthreadd

      3 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 rcu_gp

      4 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 rcu_par_gp

      6 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kworker/0:0H-kblockd

      8 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 mm_percpu_wq

      9 root      20  0      0      0      0 S  0.0  0.0  0:02.06 ksoftirqd/0

    10 root      20  0      0      0      0 I  0.0  0.0  2:42.80 rcu_sched

    11 root      rt  0      0      0      0 S  0.0  0.0  0:00.10 migration/0

    12 root      rt  0      0      0      0 S  0.0  0.0  0:00.02 watchdog/0

    13 root      20  0      0      0      0 S  0.0  0.0  0:00.00 cpuhp/0

    14 root      20  0      0      0      0 S  0.0  0.0  0:00.00 cpuhp/1

    15 root      rt  0      0      0      0 S  0.0  0.0  0:01.81 watchdog/1

    16 root      rt  0      0      0      0 S  0.0  0.0  0:00.10 migration/1

    17 root      20  0      0      0      0 S  0.0  0.0  0:01.80 ksoftirqd/1

    19 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kworker/1:0H-kblockd

    21 root      20  0      0      0      0 S  0.0  0.0  0:00.00 kdevtmpfs

    22 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 netns

    23 root      20  0      0      0      0 S  0.0  0.0  0:00.10 kauditd

    26 root      20  0      0      0      0 S  0.0  0.0  0:00.98 khungtaskd

    27 root      20  0      0      0      0 S  0.0  0.0  0:00.00 oom_reaper

    28 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 writeback

    29 root      20  0      0      0      0 S  0.0  0.0  0:00.00 kcompactd0

    30 root      25  5      0      0      0 S  0.0  0.0  0:00.00 ksmd

    31 root      39  19      0      0      0 S  0.0  0.0  0:04.55 khugepaged

    32 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 crypto

    33 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kintegrityd

    34 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kblockd

    35 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 tpm_dev_wq

    36 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 md

    37 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 edac-poller

    38 root      rt  0      0      0      0 S  0.0  0.0  0:00.00 watchdogd

    60 root      20  0      0      0      0 S  0.0  0.0  0:00.36 kswapd0

    153 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kthrotld

    154 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 acpi_thermal_pm

    155 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kmpath_rdacd

    156 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kaluad

    158 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 ipv6_addrconf

    159 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 kstrp

    413 root      0 -20      0      0      0 I  0.0  0.0  0:02.68 kworker/1:1H-xfs-log/vda1

    428 root      0 -20      0      0      0 I  0.0  0.0  0:00.00 ata_sff


 

top -u

输入top -u user,比如top -u apache可以显示apache的进程信息;输入top -u mysql可以显示数据库进程信息,下面举例。

[root@210789 ~]# top -u apache

top - 23:43:34 up 25 days, 10:57,  1 user,  load average: 0.08, 0.05, 0.01

Tasks: 118 total,  1 running, 117 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st

MiB Mem :  3635.0 total,    291.6 free,  1608.8 used,  1734.6 buff/cache

MiB Swap:      0.0 total,      0.0 free,      0.0 used.  1736.8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+ COMMAND

430740 apache    20  0 2312532 305912  49332 S  0.0  8.2  0:23.45 httpd

430741 apache    20  0 2305464 306720  49784 S  0.0  8.2  0:26.47 httpd

430742 apache    20  0 2297356 290864  48532 S  0.0  7.8  0:22.91 httpd

430940 apache    20  0 2252668 251372  47936 S  0.0  6.8  0:14.52 httpd

432551 apache    20  0 2175152 137612  45244 S  0.0  3.7  0:02.32 httpd

[root@210789 ~]# top -u mysql

top - 23:44:11 up 25 days, 10:58,  1 user,  load average: 0.04, 0.04, 0.01

Tasks: 117 total,  1 running, 115 sleeping,  1 stopped,  0 zombie

%Cpu(s):  0.8 us,  1.0 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

MiB Mem :  3635.0 total,    290.4 free,  1609.8 used,  1734.7 buff/cache

MiB Swap:      0.0 total,      0.0 free,      0.0 used.  1735.8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM    TIME+ COMMAND

336344 mysql    20  0 2552992 309912  25192 S  0.0  8.3  10:33.91 mariadbd

后续说明

一般有这些命令就够了,如果你有更多需求,可以更换参数,自行查看。除了文中提到的shift+<和shift+>命令切换top排序方式,在top命令窗口中,也可以使用下面的命令进行交互操作。即,在top命令下,摁下如下键,可以执行相应操作。

 


 

h:显示帮助画面,给出一些简短的命令总结说明

k:终止一个进程

i:忽略闲置和僵死进程,这是一个开关式命令

q:退出程序

r:重新安排一个进程的优先级别

S:切换到累计模式

s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s

f或者F:从当前显示中添加或者删除项目

o或者O:改变显示项目的顺序

l:切换显示平均负载和启动时间信息

m:切换显示内存信息

t:切换显示进程和CPU状态信息

c:切换显示命令名称和完整命令行

M:根据驻留内存大小进行排序

P:根据CPU使用百分比大小进行排序

T:根据时间/累计时间进行排序

W:将当前设置写入~/.toprc文件中

如果你在学习C/C++的过程中遇到了问题,可以来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●)

版权声明
本文为[毛橘]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/maoju/p/13965587.html

Scroll to Top