| 关键词: CPU 命令 时间 系统 内存 进程 百分比 情况 消耗 统计 |
对于Web开发人员来说,应用基本搭建在Linux服务器上。你可以对应用,Tomcat等进入优化,但是否有对Linux服务器做优化呢?Linux服务器的优化是有局限性的,它限制于硬件,我们能做的就是在这样的硬件下,把最好最优的资源指派给我们的应用使用,让我们的应用能获得最好的运行环境。 前面也说了,linux的局限性主要由硬件所决定的,那我们就需要针对硬件的使用数据来判断出当前性能情况。本篇是针对CPU检测的一些命令说明,让大家可以从CPU的使用情况来判断出哪里出现问题,找到了问题出在,才能对阵下药。请关注后续性能优化的其它文章! 一、CPU性能评估 CPU,对于学计算机的人来说,知道它对服务器的重要性,它就是服务器的心脏。我们的应用在处理逻辑时的任何操作都会以线程的方式向CPU发出指令,CPU计算完后把结果返回给应用,如果CPU的资源被其他无关的线程占用,那我们的应用在高并发下就不能得到很好的计算体验。 1、vmstat命令 命令作用:显示关于系统各种资源之间相关性能的简要信息,这里我们主要用它来看CPU的负载情况。
注意事项:
总结: 在对CPU的评估中,重点注意的是procs项r列值和CPU项中的us、sy和id列的值。 2、sar命令 sar也是CPU性能的检测工具,它可以对系统的每个方面进行单独统计,但要注意的是,sar命令会增加系统开销,对于系统开销已经达到负荷的情况下,还是不建议雪上加霜,以免变成压倒骆驼的最后一根稻草(当然,这种情况很少遇见)。 -A:所有报告的总和 -b:显示I/O和传输速率的统计信息 -B:显示分布状态 -d:硬盘使用报告 -r:内存和交换空间的使用统计 -g:串口I/O的情况 -a:文件读写情况 -c:系统调用情况 -n:统计网络信息 -q:报告队列长度和系统平均负载 -R:进程的活动情况 -y:终端设备活动情况 -w:系统交换活动 -x{pid|SELF|ALL}:报告指定进程ID的统计信息,SELF关键字是sar进程本身的统计,ALL关键字是所有系统进程的统计 2.1、使用 sar命令时,会以10分钟为间隔单位产生出当天到你执行命令的CPU数据,这种适合服务器当天第一次检测时使用,可以看到当天CPU使用情况。 ![]() ![]() 2.2、CPU使得率命令:sar -u 10 5 10代表间隔时间,以秒为单位; 5代表显示数量; 这种适用于问题检测时获取当前CPU近期实时数据 参数解析:
注意事项: 这个命令是对系统整体CPU使用状况的统计,Average那行属于汇总平均数,是前面几行累加后的每项平均值。 需要注意的是第一项(比如10:39:00分)的数据是包含sar命令本身所消耗的统计数,当你使用sar全日查看CPU消耗时,会发生第一行的12点数值会偏高一点点,不要觉得是不正常的时间点,因为它是包含了sar命令所消耗的资源。 sar命令可以获得对CPU在时间间距内的使用情况,但如果你的服务器是多CPU的系统,而应用程序使用了单线程,刚好这个线程所消耗的资源偏高而导致应用响应缓慢,这可能是单线程使用一个CPU占用率比较高,而其他CPU空闲。这就使得sar命令所显示的CPU使用整理情况不高。这个时候就需要对每个CPU进行分开查询(从上面的截图可以看到CPU那列是all,也就是全部CPU的数据,而对于命令下面的第一列的右边,有一个(2 CPU),代表着我这台服务器是有2个CPU) 2.3、CPU分查命令:sar -P 0 10 5 命令相对于前面,多了一个数值0,这个0代表着第一个CPU,当你要查第二个CPU使用情况时就是sar -P 1 10 5。看下图,我服务器是2个CPU的系统,如果继续执行sar -P 2 10 5命令的话,窗口是不出结果的,因为不存在第三块CPU。如果觉得这样命令要执行N个CPU命令太麻烦,也可以进行2.4的命令 ![]() 2.4、多CPU统计命令:mpstat -P ALL 1 参数说明:命令有大小字之分 ALL代表全部CPU ,后面数字1代表1秒实时刷新一次统计。也可以不带数字,就查当前CPU使用率的统计 ![]() 输出参数解析:相同参数请参考前面sar的参数解析
注意事项: 重要的是关注user,sys,idle列,这几个显示了每个CPU的使用统计以及用户态和内核态的时间比例。可以根据这些值查看哪些CPU使用到达100%使用率(user+sys),而其它CPU未跑满可能是由单线程应用程序的负载或者设备中断映射所造成的。 2.5、各进程使用情况命令:pidstat 如果需要查看动态统计,可以使用命令:top ![]() |
| 本文出处: https://www.toutiao.com/a6759405802932404750/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|