top命令详解

系统信息

在这里插入图片描述

第一行:top - 11:11:17 up 15:18, 4 users, load average: 0.26, 0.19, 0.20
在这里插入图片描述

字段字段代表的含义
top - 11:11:17系统当前的时间
up 15:18服务器到目前为止已运行的时间(自己登录的时间) 格式为时:分
4 users当前服务器登录用户数
load average: 0.26, 0.19, 0.20系统负载,任务队列的平均长度; 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值

系统负载解释:

  1. 对于单核服务器而言
    Load<1:没有等待
    Load==1:系统已无额外的资源跑更多的进程了
    Load>1:进程都堵着等待资源
  2. 不同Load值说明的问题
    1)1分钟Load>5,5分钟Load<1,15分钟Load<1
    短期内繁忙,中长期空闲,是拥塞前兆
    2)1分钟Load>5,5分钟Load>1,15分钟Load<1
    短期内繁忙,中期内紧张,是拥塞的开始
    3)1分钟Load>5,5分钟Load>5,15分钟Load>5
    短中长期都繁忙,系统正在拥塞
    4)1分钟Load<1,5分钟Load>1,15分钟Load>5
    短期内空闲,中长期繁忙,不用紧张,系统拥塞正在好转

查看系统负载vmstat

在这里插入图片描述

  1. 进程数procs
    r :运行和等待cpu的进程数,当这个值超过了cpu个数,就会出现cpu瓶颈,说明cpu不足,需要增加cpu。
    b : 等待IO的进程数量
  2. 内存memory
    swpd:正在使用虚拟的内存大小(kb)
    free:空闲内存大小(kb)
    buff:buffer cache的内存大小,对块设备的读写进行缓冲。
    cache: page cache的内存数量,文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好
  3. swap
    si:每秒从交换区写入内存的大小(单位:kb/s)
    so:每秒从内存写到交换区的大小(单位:kb/s)
  4. io
    bi: 读入数据的总量(读磁盘)(每秒kb)
    bo: 写入数据的总量(写磁盘)(每秒kb)
  5. system
    in:每秒中断数,包括时钟中断
    cs:每秒上下文切换数,例如 cs 比磁盘 I/O 和网络信息包速率高得多
  6. cpu
    us:用户进程执行消耗cpu时间
    sy:系统进程消耗cpu时间。如果us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足
    wa:等待IO时间,Wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。
    id:空闲时间(包括IO等待时间)

进程信息

第二行:Tasks: 142 total, 3 running, 139 sleeping, 0 stopped, 0 zombi
在这里插入图片描述

字段字段代表的含义
142 total所有启动的进程数:142
3 running正在运行的进程数:3
139 sleeping挂起的进程数:139
0 stopped停止的进程数:0
0 zombi僵尸进程数:0

CPU信息

第三行:%Cpu(s): 1.2 us, 2.5 sy, 0.0 ni, 96.0 id, 0.2 wa, 0.0 hi, 0.1 si, 0.0 st
在这里插入图片描述

字段字段代表的含义
1.2 us用户空间占用CPU百分比:1.2
2.5 sy内核空间占用CPU百分比:2.5
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比:0
96.0 id空闲CPU百分比:96
0.2 wa等待输入输出的CPU时间百分比:0.2
0.0 hi硬中断占用CPU百分比:0
0.1 si软中断CPU百分比:0.1
0.0 st用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间:0
关键字段解释
  1. 统计使用的是CPU需要用1-%id获取。或者us+sy+si.
  2. wa:使用率过高的时候,我们需要考虑IO的性能是否有瓶颈,可以在使用iostat、sar等命令做进一步分析;
  3. hi: 使用率过高时,表示当前硬件中断占用很大的百分比。一般硬件中断我们可以分析文件/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置,以及CPU的频率设置,通过这些可以帮系统打散优化系统的硬件中断。
  4. si:Linux kernel通过用一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软中断。常见的软件中断一般都是和网络有关。从网卡到IP层的数据报文收发都是si处理的,长时间写日志也可能产生软件中断。
    当软中断出现瓶颈的时候,系统有个进行叫ksoftirqd,每个CPU都有自己对应的ksoftirqd/n(n为CPU的逻辑ID),每个ksoftirqd的内核线程都会去运行对应的ksoftirqd(函数)来处理自己的中断队列上的软件中断。所以,当网络出现阻塞的时候,软件中断程序ksoftirqd肯定会出现瓶颈。此时我们可以通过ps aux|grep ksoftirqd查看ksoftirqd的瓶颈

Mem内存信息

第四行:KiB Mem : 8006816 total, 7250680 free, 204584 used, 551552 buff/cache
在这里插入图片描述

字段字段代表的含义
8006816 total物理内存总量:8006816
7250680 free空闲内存总量:7250680
204584 used使用的物理内存总量:204584
551552 buff/cache用作内核缓存的内存量:551552

交换区信息

第五行:KiB Swap: 0 total, 0 free, 0 used. 7549656 avail Mem
在这里插入图片描述

字段字段代表的含义
0 total交换区总量
0 free闲交换区总量
20 used已使用交互区总量
7549656 avail Mem缓冲的交换区总量

进程信息

在这里插入图片描述

  • PID:进程ID USER:进程所有者 PR:优先级 NI:nice值。负值表示高优先级,正值表示低优先级

  • VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

  • RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

  • SHR:共享内存大小,单位kb

  • S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

  • %CPU:上传更新到现在的CPU时间占用百分比

  • %MEM:进程使用的物理内存百分比

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

  • COMMAND:命令名/命令行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值