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

 

top 只查看java 的进程 top查看某个进程_top

命令说明

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

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

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

命令格式

top -参数

命令功能

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

命令参数

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

-b 是批处理

-c 是 显示完整的治命令

-I 是 忽略失效过程

-s是 保密模式

-S 是累积模式

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

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

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

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

命令演示

 

top 只查看java 的进程 top查看某个进程_centos_02

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 只查看java 的进程 top查看某个进程_系统进程命令_03

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命令下,摁下如下键,可以执行相应操作。

 

top 只查看java 的进程 top查看某个进程_top_04

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文件中