这个情况不知道其他的童鞋遇到的多不多,我最近买的一个阿里云ECS服务器经常CPU跑到90%以上,我上面就放了一个网站,而且是wordpress博客类型的,就几十篇文章,应该属于很轻的负载了,我经常登入网站后台很卡,很慢,最近查询百度统计发现跳出率都挺高的,我严重怀疑是阿里云服务器的原因,但是也不知道为什么CPU会跑的这么高。
说下我是怎么解决的吧。
一,首先当然是提交工单了,大家可以看下阿里云工程师给我的回复,重点两个:
(1)服务器为1核的,配置可能要升级。 (2)网站访问量是不是比较大。
当然针对这两点我都有话想说,首先我网站的访问量一天目前在100ip左右,访问量应该算了很小的了。
同时虽然服务器是1核的,但是一年的费用也花了800多人民币,不算便宜的价格。
可是为什么还是让我打开自己网站的时候感觉到很卡很慢呢?
当然我也不能一棒子打死,就认定是服务器太坑,有可能是服务器上面被挂病毒木马之类了,虽然这种可能性很低。
后面我又给阿里云工程师回复了几个工单,他们让我给网站先快照下,然后他们那边帮助我进行排查。
阿里云ECS服务器怎么创建快照?
首先登入你的ECS服务器,点击“实例”,然后“管理”- “本实例磁盘”- “创建快照”。
快照创建一般几分钟就可以成功了。快照创建完毕,你就可以去找阿里云客服帮助你进行排查了。
二,自己排查,查看服务器是不是有问题
因为我的服务器是Linux系统,所以我下面的操作是针对linux系统的Linux 系统的。
操作步骤
首先通过SSH远程连接你的服务器。如果无法通过SSH连接,那么就使用控制台管理终端连接,具体可以参考使用远程连接功能连接 ECS 实例。
针对负载问题,您只需关注回显的第一行和第三行信息,详细说明如下。
通过字母键 P,可以对 CPU 使用率进行倒序排列,进而定位系统中占用 CPU 较高的进程。
说明:通过字母键 M, 您可以对系统内存使用情况进行排序。如果有多核 CPU,数字键 1 可以显示每核 CPU 的负载状况。
通过 ll /proc/PID/exe 可以查看每个进程 ID 对应的程序文件。
2,通过 top 命令查看系统当前的运行情况。
top – 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05
Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.1 st
KiB Mem: 1016656 total, 946628 used, 70028 free, 169536 buffers
KiB Swap: 0 total, 0 used, 0 free. 448644 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 41412 3824 2308 S 0.0 0.4 0:19.01 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
top 命令的第一行显示的内容 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05依次为 系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载,这与直接执行 uptime 命令查询结果一致。
top 命令的第三行会显示当前 CPU 资源的总体使用情况,下方会显示各个进程的资源占用情况。
通过上面的步骤你可以查看到你的服务器到底是在运行那些进程,当然这些是需要懂一些命令行的。
如果你不懂的话,那么还是建议你用第一个办法请求阿里云的工程师帮助排查就可以了。