如何查看服务器系统负载呢
分类:知识大全作者:互联网王者 发布时间:2019-02-28 09:24:39阅读:6.2万+ 属地:未知
当我们想评估一台服务器的最大负载能力的时候,我们会想到用压测的办法,比如用jmeter等工具进行测试,同时我们会实时查看服务器的当前负载量,CPU占用率,内存占用率等信息,一般情况下,查看服务器负载最直接的办法是top命令。top命令的返回参数中,能直观看出当前服务器负载的参数是load average,load average中三个数值分别为 1分钟、5分钟、15分钟前到现在的服务器负载的平均值。另外可以直接使用uptime命令,uptime命令是top命令的精简版,内容等于top命令的第一行。
一个CPU在一个时间片里面只能运行一个进程,CPU核数的多少直接影响到这台机器在同时间能运行的进程数,CPU负载指的是一段时间内任务队列的长度,通俗的讲,就是一段时间内一共有多少任务在使用或等待使用CPU。当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。
现在的服务器CPU一般都是多核,可以通过lscpu命令查看服务器有几个核心,load average的最大值是cpu核心数乘以1,load average的数值不能超过这台机器的总核数。当处理大量请求或者进行CPU密集型计算的时候都会看到load average数值在不断升高。比如一台服务器有8核心,如果load average的三个值长期大于8时,说明CPU很繁忙,系统基本处于瘫痪的状态。但是load average数值过高也并不能直接代表服务器性能有问题,可能是CPU密集型计算或者I/O堵塞引起的。
CPU多个核心类似于公路有多个车道,1核心相当于1条车道,比如一台服务器有8核心,类似于说服务器CPU有8条车道,如果load average数值大于8,就是所有的车道都满了,这时候系统响应能力是很弱,有可能是处于瘫痪状态了。load average数值维持在什么水平比较合适呢?我觉得小于等于核心数乘以0.5是一种理想状态,最大不能超过核心数乘以0.8。load average三个平均值应该参考哪个值?1分钟、5分钟的服务器负载平均值可能只是暂时的,所以关注15分钟服务器负载平均值才是比较合理的。
一般情况下,如果在很长一段时间里,load average三个平均值都是超过核心数,就代表服务器比较拥堵了,如果是核心数的2倍以上,就需要购买服务器进行分流了,当然这是纯粹的从服务器方面考虑的,其实可能是业务系统的逻辑有问题导致的,所以要多方面排查问题解决问题。
声明:本文内容版权归原作者所有,未经授权,禁止转载!
声明:本站仅提供内容存储、展示服务,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的虚假信息,谨防诈骗。如发现有害或侵权内容,可联系本站删除!
- 上一篇:Swoole是什么?
- 下一篇:读书(学习)的方法