性能监控诊断

#top命令详解:
top命令类似于windows系统的任务管理器工具,它对于所有正在运行的进程和系统载荷提供不断更新的概览信息,包括系统负载,cup利用分布情况、内存使用、每个进程的内存使用情况等信息。
在这里插入图片描述
任务队列信息:
在这里插入图片描述
从上图中可以得出当前的系统时间是02:24:22,当前系统运行了 13:57,可以看出系统运行时间不长,可能之前有被重启过的可能,需要进一步排查,当有有2个登录用户,此时的系统负载长度11分钟、5分钟、15分钟前到现在的平均值,分别为0.06,0.6,0.48,可以看出系统的负载不是很大。

在这里插入图片描述
top命令第二行显示的是进程状态信息汇总,在linux操作系统中,一般我们可以见到如下五种状态的进程信息:
在这里插入图片描述

CUP信息:

在这里插入图片描述
top命令第三行显示的是系统CPU状态信息的汇总。每个字段表示的含义如所示:
| 0.1%us | 用户空间占用CPU百分比 |
|0.5%sy|内核空间占用的CUP百分比|
| 0.0%ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
| 98.0%id | 空闲CPU百分比 |
|1.2%wa|等待输入输出的CPU时间百分比|
|0.0%hi | 硬中断占用的CPU百分比 |
|0.0%si | 软中断占用的CPU百分比 |
1.CPU(s):表示当前CPU的平均值,默认的top命令配置是显示平均的CPU使用情况,如果按下键盘1 可以显示各颗逻辑CUP的使用情况,我们可以在使用过程中了解如何进行各颗CUP的使用情况和平均CUP的使用情况间的切换。
2.统计空闲的CPU利用率我们直接统计%id的计数即可,当id持续过低的时候,表示系统迫切需要解决CPU资源问题。
3.统计使用的CUP利用率需要通过1-%id获取
4.wa:使用率过高时,我们要考虑IO的性能是否有瓶颈,可以再用iostat,sar等命令做进一步分析
5.hi:使用率过高时,表示当前硬件中断占用很大的百分比,一般硬件中断我们可以分析文件/proc/interrupts、、/proc/jrq/pid/smp_affinity、服务irqbalance是否配置、以及CPU的频率设置,通过这些可以帮系统打散优化系统的硬件中断。
6.si:linux kernel通过一种软件的方法(可延迟函数)来模拟硬件的中断模式,通常叫做软件 中断。常见的软件中断一般都是和网络相关。从网卡到IP层的数据报文收发都是由软件中断来处理的。除此之外,长时间地写日志也可能产生软件中断。

#VM命令详解

procs(过程):

r: 可运行进程数(正在运行或等待运行时), 也就是说有真正分配给cpu的进程,如果r值大于cpu核数,出现cpu负载,就会有可能出现cpu瓶颈。
b:阻塞等待I/O完成的进程数,当b大于0时,出现阻塞,一旦出现阻塞的话tps就不会很大,这个可以使用工具sar来查看tps实时值。sar具体使用说明参看”linux基础知识-sar详解“。
memory(内存,默认单位: kb):
swpd: 使用的交换内存量,当swpd值大于0时,说明服务器的物理内存不足,需要查看程序是否存在内存泄漏,如果确定不是的话需要增加服务器的物理内存。
free: 空闲内存量
buff: 用作缓冲区的内存量
cache: 活动内存的数量
swap(交换,单位:kb/秒):
si(kb/秒): 从磁盘交换到内存的交换页数量(kb/秒),如果si值大于0,则表示物理内存不足或是内存泄漏。
so(kb/秒): 从内存交换到磁盘的交换页数据(kb/秒),与si值一样,如果so值大于0,则表示物理内存不足或是内存泄漏。
io(输入输出,单位:块/秒):
bi(块/秒): 从块设备接收到的Kib byte(KiB/s)
bo(块/秒): 发送到块设备的Kib byte(KiB/s)
system(系统):
in: 每秒的中断次数,包括时钟
cs: 每秒上下文切换的次数,如调用系统函数,或是线程切换等都会引起上下文切换。所以这个值越小越好,如果过大,则表示cpu大部分时间都在做上下文切换调度上,从而就没有多少时间去处理其他事件,浪费cpu资源,所以当cs过大时,需要进行注意,尽量要考虑到调低线程或进程的数目。

注解:
上下文切换:通过CPU时间轮询的方法,Linux能够支持多任务同时运行。对于普通的CPU,内核会调试和执行这些进程,每个进程都会被分配CPU时间片并运行。当一个进程用完时间片或者被更高优先级进程抢占时间块后,它会被转到CPU的等待运行队列中,同时让其他进程在CPU上运行。这个进程切换的过程被称为上下文切换。过多的上下文切换会造成系统的很大的开销。
cpu(中央处理器,单位:%):
us(%): 运行非内核代码所使用的cpu(用户时间,包括nice time)
sy(%): 运行内核代码所使用的cpu(系统时间),sy值大时需要确认IO的频繁操作是否属于正常现象。
id(%): 空闲使用的cpu
wa(%): 等待IO所使用的cpu,如果wa值过高,则说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,可有可能是磁盘的带宽出现了瓶颈。需要使用sar工具进一步确认。
st(%): 从虚拟机窃取所使用的cpu
gu: 运行KVM guest代码所使用的cpu(guest time ,包括guest nice)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值