Linux监控分析实战-1

监控概述及5个大指标

  • cpu
  • mem   内存
  • io        磁盘交互
  • load     负载
  • Network 网络

 

  • 它们之间关系是相互彼此依赖,任何一个高负载都会到导致其他指标出现问题;
  • 网卡的大吞吐量可能导致更多的cpu开销;
  • 大量的CPU开销又会尝试更多的内存使用请求;
  • 大量来自内存与磁盘的请求可能导致更多的cpu以及IO问题;

 CPU

        好:user% + sys% < 70%

        一般:user% + sys% =85%

        糟糕:user% + sys% >=90%

        例如:1、如果user%持续超过90%,就是程序导致的;

                 2、如果sys%持续超过90%,就是内核参数或是Linux设置问题;

user time:非内核操作消耗cpu的时间(程序消耗的cpu),持续超过90%,可能是系统中使用了大量的算法或者复杂的计算亦或者是不合理的代码导致该值比较大;

sys time是内核操作消耗CPU的时间(操作系统和Linux内核本身消耗的cpu)。如果这个值一上去了,整个系统的性能就下来了,它能反映系统本身的情况;

Load average

            TOP命令查看

        指一段数据内cpu正在处理+等待CPU处理的进程数之和的统计信息,即CPU使用队列的长度统计信息。它包含的信息不是CPU是使用率情况,反应了CPU的使用情况及申请情况。

         理想的Load Average < CPU个数*核数*0.7

         CPU个数:grep ’physical id' /proc/cpuinfo | sort -u

         CPU核数:  grep 'core id' /proc/cpuinfo | sort -u | wc -l

如何理解CPU和Load之间关系

Load低,CPU使用高  ----->CPU使用率高说明很繁忙,Load低说明没有排队现象;

Load高,CPU使用率低 ---->CPU使用率低说明不忙,Load高说明排队现象很严重;

TOP命令

如何看多核?

对于多核CPU来说,CPU 0是相当关键的,因为CPU各核间的调度都是通过CPU0完成,那么CPU 0的负载高,就会影响其它核的性能;

windows下:任务管理器--->某进程右键--->设置相关性

Linux下:利用taskset命令,设置 并限制这个进程能被运行在那些核上;

 

你可能感兴趣的:(Linux监控分析实战-1)