Linux从放弃到入门:top

本文首发于我的公众号码农之屋(id: Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。


top简介

top命令用于实时显示系统的动态信息能够实时显示系统中各个进程的资源占用情况(CPU、内存等信息),是linux常用的性能分析工具。该命令还提供了一个交互界面,用户可以根据需要,人性化地定制自己的输出,进而更清楚地了解进程运行状态。

 

命令格式

top [options]

 

top常用options

options

说明

-d <秒数>

指定间隔设定秒数动态更新数据

-p

监控指定PID的进程信息

-i

不显示任何闲置和僵死的进程信息

-c

显示完成命令行而不仅仅是命令名

-b

使用批处理模式输出,通常与-n一起用,将top命令结果重定向到文件中

-n <次数>

指定top命令执行的次数

-q

没有任何延迟的显示速度,如果使用者是有superuser权限,则top将会以最高的优先序执行

-s

是top命令在安全模式中运行,避免在交互命令中带来的潜在危险

常用交互命令

交互命令

说明

? or h

显示交互模式的帮助说明

P

按照CPU使用百分比大小进行排序(默认值)

M

按照内存使用率大小进行排序

k

终止进程(在安全模式中此命令被屏蔽),系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号

i

忽略任何闲置和僵死的进程,该命令为开关式命令

s

改变两次刷新之间的时间。系统将提示用户输入新的刷新时间,单位为s(如果有小数,则换算成m s如果输入0,则系统将不断刷新,默认值是5 s

c

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

1

实时显示各CPU状态信息(多核CPU监控)

q

退出top命令

 

top示例
1)显示当前系统状态信息,并对统计信息进行解读

root@LTY:/opt # top

top - 20:26:22up 22 days,  8:27,  4 users, load average: 1.83, 1.42, 1.33

Tasks: 340total,   1 running, 339 sleeping,   0 stopped,  0 zombie

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

MiB Mem :  28613.2 total,   5007.8 free,   4737.8 used, 18867.5 buff/cache

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



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

19661 root      20   03405208 169420  70624 S  12.0  0.6   1196:30 kubelet

18529 root      20  0 3941700 125728  35676 S   8.0  0.4   2301:35 dockerd

12212 root      20  0  108420   9616  5076 S   1.3   0.0 108:11.24 containerd-shim

18563 root      20  0 4334028  57104  12880 S  1.3   0.2 257:39.42 containerd

10977 root      20  0  108420  10252  5076 S   1.0   0.0 236:46.78 containerd-shim

18602 root      20  0 2140800  58568  29980 S  1.0   0.2 347:15.48 canal-agent

    1 root     20   0  180960 10676   7048 S   0.7  0.0 197:18.17 systemd

说明:已使用容量 + 可用容量不一定等于总容量(分区可能预留少量空间给管理员使用,即便磁盘使用率已达到100%,管理员仍能登陆并解决问题)

描述

说明

20:26:22

当前系统时间

up  22 days,  8:27

当前系统已经运行了22天8小时27分钟

4  users

当前有4个用户登录系统

load  average: 1.83, 1.42, 1.33

load average后面的三个数分别是5分钟、10分钟、15分钟的负载情况load average值是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了)

Tasks:  340 total

系统现在共有340个进程

1  running, 339 sleeping,   0  stopped,   0 zombie

运行中的进程1个,339个休眠中,停止和僵尸进程数都为0

2.3  us,  2.3 sy,  0.0 ni, 94.9 id

us:用户进程(未调整优先级)占用CPU百分比

sy:内核进程占用CPU百分比

ni:用户进程(已调整优先级)占用CPU百分比

id:空闲CPU百分比

  0.1 wa,   0.2 hi,  0.1 si,  0.0 st

wa:用于等待IO完成的CPU百分比

hi:硬中断占用CPU百分比

si:软终端占用CPU百分比

st:host被hypervisor偷走的CPU百分比

MiB  Mem :  28613.2 total,   5007.8 free,   4737.8 used,  18867.5 buff/cache

MiB Mem:物理内存

28613.2 total:物理内存总量28613.2M

5007.8 free:空闲物理内存总量5007.8M

4737.8 used:已使用物理内存总量4737.8M

18867.5 buff/cache:18867.5M用于buff/cache使用

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

MiB Swap:Swap交换分区

0.0 total:交换区内存为0

0.0 free:空闲交换区内存为0

0.0 used:已使用的交换区内存为0

22952.0 avail Mem:可用于进程下次分配的物理内存总量

PID

进程id

USER

进程所有者的用户名

PR

 优先级

NI

 nice值。负值表示高优先级,正值表示低优先级

VIRT

进程使用的虚拟内存总量,单位kb

RES

进程使用的、末被换出的物理内存大小,单位kb

SHR

 共享内存大小,单位kb

S

 进程状态

%CPU

上次更新到现在的CPU时间占用百分比

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计,单位1/100秒

COMMAND

命令

2)进入top交互界面,然后查看各CPU的状态信息(结果显示共有16个核)

root@LTY:/opt # top

top - 20:26:57up 22 days,  8:28,  4 users, load average: 1.52, 1.39, 1.32

Tasks: 340total,   1 running, 339 sleeping,   0 stopped,  0 zombie

%Cpu0  :  1.7us,  2.0 sy,  0.0 ni, 95.7 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu1  :  3.7us,  2.7 sy,  0.0 ni, 93.7 id,  0.0 wa, 0.0 hi,  0.0 si,  0.0 st

%Cpu2  :  2.0us,  5.6 sy,  0.0 ni, 91.7 id,  0.3 wa, 0.0 hi,  0.3 si,  0.0 st

%Cpu3  :  3.0us,  1.7 sy,  0.0 ni, 95.3 id,  0.0 wa, 0.0 hi,  0.0 si,  0.0 st

%Cpu4  :  3.3us,  1.7 sy,  0.0 ni, 94.3 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu5  :  3.6us,  1.7 sy,  0.0 ni, 94.0 id,  0.0 wa, 0.3 hi,  0.3 si,  0.0 st

%Cpu6  :  3.6us,  3.6 sy,  0.0 ni, 92.1 id,  0.0 wa, 0.3 hi,  0.3 si,  0.0 st

%Cpu7  :  3.3us,  2.7 sy,  0.0 ni, 93.6 id,  0.0 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu8  :  2.0us,  2.0 sy,  0.0 ni, 94.7 id,  1.0 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu9  :  3.7us,  2.0 sy,  0.0 ni, 93.4 id,  0.3 wa, 0.3 hi,  0.3 si,  0.0 st

%Cpu10 :  2.6 us, 1.7 sy,  0.0 ni, 95.0 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu11 :  4.0 us, 1.0 sy,  0.0 ni, 94.4 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu12 :  2.0 us, 3.3 sy,  0.0 ni, 94.1 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu13 :  4.3 us, 2.0 sy,  0.0 ni, 93.4 id,  0.0 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu14 :  2.0 us, 2.3 sy,  0.0 ni, 95.0 id,  0.3 wa, 0.3 hi,  0.0 si,  0.0 st

%Cpu15 :  3.7 us, 3.3 sy,  0.0 ni, 92.7 id,  0.0 wa, 0.3 hi,  0.0 si,  0.0 st

MiB Mem :  28613.2 total,   5008.3 free,   4737.1 used, 18867.8 buff/cache

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



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

19661 root      20   03405208 169420  70624 S  12.0  0.6   1196:30 kubelet

18529 root      20  0 3941700 125728  35676 S   8.0  0.4   2301:35 dockerd

12212 root      20  0  108420   9616  5076 S   1.3   0.0 108:11.24 containerd-shim

18563 root      20  0 4334028  57104  12880 S  1.3   0.2 257:39.42 containerd

10977 root      20  0  108420  10252  5076 S   1.0   0.0 236:46.78 containerd-shim

18602 root      20  0 2140800  58568  29980 S  1.0   0.2 347:15.48 canal-agent

    1 root     20   0  180960 10676   7048 S   0.7  0.0 197:18.17 systemd

 

我的公众号「码农之屋」(id: Spider1818) ,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值