Linux性能监控命令-Top

top

top命令用于实时的监控系统的处理器状态,以及其他硬件负载信息还有动态的进程信息等等
还可以按照排名,先后的显示某个进程CPU,内存的使用情况排名

# z 指令 打开,关闭颜色
[root@localhost ~]# top
top - 03:19:03 up 0 min,  2 users,  load average: 0.21, 0.07, 0.03
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2027904 total,  1543276 free,   321108 used,   163520 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  1554956 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                    
   298 root     -51   0       0      0      0 S   0.3  0.0   0:00.01 irq/16-vmwgfx                              
   966 root      20   0  305284   6372   5012 S   0.3  0.3   0:00.13 vmtoolsd                                   
     1 root      20   0  128436   7028   4156 S   0.0  0.3   0:02.45 systemd                                    
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd                                   
     3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0                                
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H   

1、系统的负载

top - 03:19:03 up 10 min,  2 users,  load average: 0.21, 0.07, 0.03
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2027904 total,  1543276 free,   321108 used,   163520 buff/cache
KiB Swap:  4194300 total,  4194300 free,        0 used.  1554956 avail Mem 

03:19:03 up  # 系统当前时间 date命令查看时间

10 min # 当前机器运行了多久:系统运行时间

2 users  # 当前机器几个用户在使用

load average: 0.21, 0.07, 0.03  # 显示系统的平均负载情况,分别是1分钟,5分钟 15分钟显示的平均值(值越小,系统负载越低)

# 进程任务情况:分别是总进程数、运行中进程数、休眠进程数、停止、僵尸进程(不为0,需要进行排查)
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
# CPU 的使用百分比情况
%Cpu(s):  0.0 wa,  0.0 
us 用户占用的CPU百分比情况
sy 系统内核空间占用的CPU百分比
ni 用户进程空间占用的CPU百分比
id 空间的CPU百分比情况
wa 等待输入/输出的进程的占用CPU百分比
hi 硬中断占用的CPU百分比
si 软中断占用的CPU百分比
st 虚拟机占用CPU百分比。当有虚拟机时,虚拟CPU实际等待CPU的时间百分比

# 状态:物理内存相关,按m键进入可视化显示
KiB Mem :  2027904 total,  1543276 free,   321108 used,   163520 buff/cache
          物理内存总大小    可用空间内存总量   已使用的内存量   缓存使用量情况
          
# 交换空间的状态
#KiB:计量单位,kilo binary bit的缩写,1KiB = 1024B
KiB Swap: 
# 交换分析相关,按m键进入可视化显示
KiB Swap:  4194300 total,  4194300 free,        0 used.  1554956 avail Mem 
           交换空间

2、动态的进程信息

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                    
   298 root     -51   0       0      0      0 S   0.3  0.0   0:00.01 irq/16-vmwgfx                              


PID  进程id号,可以对它启停进程
USER  执行进程的用户是谁:所属用户的用户名
PR  进程的优先级高低,(值越小优先级越高)
NI  nice值,越高表示优先级越高
VIRT  进程使用的虚拟内存总量 VIRT=swap + RES
RES 进程使用的物理内存大小
SHR  共享内存大小,单位是kb
S  表示进程的状态
%CPU 占用CPU的百分比
%MEM  总共占用内存的百分比
TIME 总共占用的CPU时间
COMMAND 时间+产生进程的命令

E:更改系统资源信息中的内存单位(KB、MB、GB、TB、PB)
e:更改进程信息中的内存单位(KB、MB、GB、TB、PB)
数字1:显示所有cpu情况(默认只展示一条)
x:高亮显示根据哪一列熟悉进行排序
</>:修改排序的字段(默认根据CPU)
n:输入每次要展示的进程信息行数
H:展示线程信息的开关
常用参数(持续补充)
-d:top结果的更新速度,单位为秒
-n:设定显示top结果的次数,随后自动退出命令
-b:批处理模式,不进入交互式模式
-p:指定需要展示的进程ID
-H:显示线程信息(配合-p参数使用,类似ps命令的-T与H参数

3、 实际应用

# top实际使用
输入数字1,表示查看Linux的逻辑CPU个数

# 交互式中top命令只会展示部分进程信息,如果想要查看所有的进程信息
top -b -n > out.log

# 查看进程的线程信息
top -H -p {PID}

# 按照内存使用情况排序
输入大写M指令,内存使用量 从大到小排序

# 显示进程命令的绝对路径
top -c
# 设置top进程刷新的时间
top -d 秒数(int)
# 设置top命令的刷新次数
top -n 3  # 刷新3次后结束
# 查看指定进程的信息,单独观察动态的资源信息
top -p pid
# 指定某一列高亮
输入z 打开颜色
输入x 某一列高亮
输入b 某一列加粗

4、如何查看僵尸进程

使用top命令可以查看僵尸进程数量

# 查看CPU的Processor数量,如果负载值超过核心处理器数量,一般认为是高负载。如:核心处理器数量为4,load average的值在4的左右浮动,就是高负
cat /proc/cpuinfo | grep processor | wc -l

# 如何排查僵尸(zombie)进程?  (kill无效时,尝试kill父进程)
[root@centos ~]# ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
STAT  PPID PID    CMD
Z     1968 32070 [python] <defunct>
[root@centos ~]# kill -9 32070

# kill -9 和 kill -15 区别?
默认kill -15操作关闭, 也优先推荐。如果进程没有响应,再考虑使用kill -9强制关闭,但可能会文件损坏、不稳定风险,可能导致资源泄漏,如进行写入数据库关键操作时,强制终止可能会导致数据不一致或损坏
kill -15会首先尝试正常地终止其操作,释放资源,关闭文件等。许多程序会捕获这个信号,并优雅地关闭

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值