Linux下top命令监控性能状态

1、性能分析因素:CPU、内存、网络、磁盘读写

2、系统对应的应用类型主要分为以下两种:

  IO Bound:一般都是高负荷的内存使用以及存储系统,IO范畴的应用就是一个大数据处理的过程;通常数据库软件被认为是IO范畴的应用类型

  CPU Bound:一个批处理CPU请求以及数学计算的过程,通常web server,mail server,以及其他类型服务被认为是CPU范畴的应用类型

  系统的分析思路主要有两种:自顶而下,由应用程序往下分析;由底往上,从操作系统资源分析到应用程序。

3、查看CPU统计分析命令:vmstat、ps、top等

  查看内存统计分析命令:vmstat、free、top等

  查看网络统计分析命令:netstat -s、ip -s link等

  查看IO统计分析命令:iostat、dmesg(查看io错误)

  查看负载统计分析命令:w、top、uptime

4、简介top命令:

  首行命令与w、uptime意义相同,分别为系统当前时间,系统运行时间、多少个用户,过去一分钟、五分钟、十五分钟的负载情况。       

  第二行为进程信息,D:不可中断睡眠态(通常出现在IO阻塞)、R:运行态、S:睡眠态、T:已停止、z:僵尸态

  第三行 us:用户空间占用CPU百分比、sy:内核空间占用CPU百分比、ni:用户进程空间内改变过优先级的进程占用CPU百分比、id:空闲CPU百分比、wa:等待输入输出的CPU时间百分比、hi:硬中断占用CPu百分比、si:软中断占用CPU百分比、st:虚拟CPU等待实际CPU的时间的百分比。分析:top命令下按下1可以查看各CPU的使用情况,当wa使用率过高,我们应该考虑IO的性能瓶颈;当hi使用率过高,表示当前硬件中断占用很大百分比,可以/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置;si是通过软件的方法模拟硬件的中断模式,常见的软件中断一般和网络有关,从网卡到IP层的数据报文收发斗是si处理的,长时间写日志也可能产生软件中断,我们可以通过ps aux|grep ksoftirqd查看ksoftirqd的瓶颈  

  第四行Mem usd:使用内存总量、Mem free:空闲内存总量、Mem buffers:用作内核缓存量、Mem cached:缓冲交换区总量;cache和buffer的作用是缩短IO调用的时间,其中cache的命中率很关键,如果频繁访问的文件不能命中,对cache而言是一个比较大的浪费,此时应该考虑drop cache[#sync(避免丢失数据),#echo 3 > /proc/sys/vm/drop_caches]并且提升cache的命中率

  第五行Swap total:交换区总量、Swap used:使用交换区总量、Swap free:空闲交换区总量,avail Mem:剩余内存使用量 

  第六行pid:进程号、user:进程所有者用户名、pr:优先级、ni:nice值(负值表示高优先级)、virt:进程使用的虚拟内存总量=swap+res、res:进程使用的、未被换出的物理内存大小、shr:共享内存大小、%Cpu:cpu百分比、%Mem:内存使用百分比、time+:

进程使用cpu时间、command:命令行

5、top使用小技巧

  (1)按d进入间隔刷新配置,输入间隔秒数

  (2)按f进入列配置界面,按d进行添加

  (3)按1查看各cpu使用情况

猜你喜欢

转载自www.cnblogs.com/wu-wu/p/9672193.html