现在站长建站流行用云服务器如阿里云的ESC,那么你知道怎么分析云服务器Linux系统的CPU负载么?
一台稳定的服务器(空间)对于网站来说至关重要,近些年随着云计算的兴起,服务器(空间)的价格也在逐渐透明化。VPS/云服务器价格越来越亲民,不少网站开始由“虚拟主机”转向云服务器/VPS。但是随之而来的问题就是云服务器和VPS对比虚拟主机来说需要更加复杂的维护,有时候网站很卡也不知道怎么排查问题,今天教你分析Linux系统CPU负载。
与虚拟主机(空间)不同的是VPS和云服务器是一台虚拟的电脑,你需要给它安装系统,如果是Windows系统还好,毕竟我们经常用的PC就是此系统,还能够自行解决一些问题。但是对于建站来说,linux则更加适合一点,但是没有可视化界面导致我们一时间摸不着头脑,别急接着看。
初步认识load average
在常用的建站linux系统中(如centos),我们一般使用uptime命令查看(w命令和top命令也行),你在终端窗口键入uptime,系统会返回一行信息。(关于如何登陆云主机或VPS请自行学习,是另外的知识了,推荐软件Xshell)
[root@xxxx ~]# uptime 12:39:05 up 10 days, 6:16, 1 user, load average: 0.34, 0.32, 0.34
注意:折行返回信息的后半部分load average就是我们今天讨论的,它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小。
这三个数字分别代表1分钟、5分钟、15分钟内系统的CPU平均负载。单核CPU下,当CPU完全空闲的时候,平均负荷为0;当CPU工作量饱和的时候,平均负荷为1。很显然"load average"的值越低,系统负载越低,程序(网站)也就越流畅。
那么怎么样才能看出来系统负载较高呢?如果数字超过了1则代表什么呢?
进一步了解load average
如果你对专业词汇表示很难理解,那么咱们就用通俗的比喻来解说这个load average:
假设我们的电脑是1个单核的CPU,电脑上所有的运算都是这颗单核的CPU来完成的,我们将其比喻成一座大桥且是单车道,所有的车辆都必须从这个单车道的桥上通过。
如果负载为0,则意味着大桥是一两车也没有;如果符合为0.5,则意味着带桥上一半的路段都有车;如果系统负载为1.0,意味着大桥上布满了车辆,但此时所有的车辆都是稳定前行的,此时的大桥是还是比较通畅的。
如果负载大于1.0,则表明大桥已经填满了车辆,而且后面还有等着上桥的车辆,如负载2.0意味着等待上桥和目前桥上的车一样多。也就是说只要是负载大于1.0,就表明有车辆需要等待上桥了,负载越大,后面车辆等待的时间就越长。
CPU比喻成大桥(图片来自互联网)
CPU的负载能力等同于大桥的通行能力,车辆等同于需要CPU处理的进程,所以为了保证系统的顺畅运行,负载就最好不好超过1.0;但实际上系统管理员会给系统留有余地,当系统负载持续大于0.7,就要查看问题防止负载再高;当负载大于1.0,就必须解决问题,降低负载;当负载超过5.0,则面临着死机崩溃了。
多核CPU的load average
以上的讨论前提是单个单核CPU,同理多核CPU意味着系统的处理能力翻N倍,如单个双核CPU的满载值是2.0;多个单核CPU的满负载值则等于CPU数;所以系统满负载值就等于系统CPU个数乘以核心数的总和。
"cat /proc/cpuinfo"命令,可以查看CPU信息。"grep -c 'model name' /proc/cpuinfo"命令,直接返回CPU的总核心数。
load average三个数字
上面说到load average三个数字代表三个时间段的平均CPU负载值,那我们要参考哪个呢?
1分钟和5分钟内系统负载较高可能是暂时波动,但15分钟的平均负载值处于一个较高水平时就需要引起我们的注意了,及时排查问题,以保障我们的网站运行流畅。
其实网站卡顿还有其他原因,如内存、带宽、数据库等等,但最常见的还是系统负载的问题。以上就是如何查看linux系统CPU负载的方法,掌握了这些方法,我们才能及时找到问题关键所在,根据实际情况解决服务器卡的问题。
最近我的VPS的负载是 load average: 10.02, 9.98, 9.90
该怎么办呢?
@网络营销: 如果不是超高配置的话 已经是高负载了,排除本身流量很大的情况下,看看是不是高并发引起的;检查下有没有异常流量;尝试静态化或者CDN。
现在折腾vps挺方便。随便简单的一台普通配置vps,设置得当,跑wordpress都没问题。而且价格渐渐亲民了。
@橘子书: 确实,竞争激烈,各大云计算提供商都打出了低价位的云服务器,更别提小品牌的价格战了。
阿里云的Linux 系统该安装哪一个呢
最近,我也一直在折腾VPS呢!呵呵!过来露个脸,刷个存在感!
我用的阿里云。一直觉得速度好慢。索性又用回虚拟主机了。
不错,正需要呢!收藏了!
其实我也想试试服务器,一直在用虚拟机
@爱时尚: 完全可以试一试,一台云服务器能挂好几个站点,现在价格也相对较低了。
对于服务器确实不太懂折腾,也不懂得分析,以前我的ECS偶尔有100%的,不过开启了百度CDN后,基本在20%左右,感觉还行。
@boke112导航: CDN真的是神器啊,给我们一条大腿让我们抱