×

帮助中心

常见问题
域名类
•  域名介绍
•  注册/续费
•  域名管理
•  域名过户
•  域名转移
•  增值服务
•  域名交易
•  通用网址
•  产品更新日志
邮局类
•  产品简介
•  产品管理
•  邮件客户端
•  邮箱用户操作指南
•  邮箱管理员操作指南
•  产品使用手册
•  代理商控制台操作指南
•  产品更新日志
云虚机类
•  购买与升级
•  FTP
•  主机管理
•  技术问题
•  数据库
•  产品更新日志
ECS云主机类
•  产品更新日志
会员类
•  会员注册
•  信息修改
•  忘记密码
•  账户实名认证
•  产品更新日志
财务类
•  后付费计费
•  在线支付
•  线下汇款
•  发票问题
•  汇款单招领
•  退款问题
•  充值业务
•  产品更新日志
ICP备案
•  备案问题快速咨询通道
•  备案介绍
•  备案账号
•  ICP备案前准备内容
•  ICP备案流程
•  ICP备案操作指导
•  ICP备案信息查看
•  备案合规核查要求
•  资料下载
•  公安联网备案与经营性备案
•  各地管局备案通知
•  常见问题
服务类
•  ICP备案
•  小新服务
•  产品更新日志
网站定制类
•  网站定制问题
•  网站访问问题
新办公类
•  常见问题
•  操作手册下载
云推送
•  云推送常见问题
速成建站
•  网站访问问题
•  网站使用问题
•  产品更新日志
SSL证书
•  SSL证书常见问题
•  产品更新日志
新网云产品类
•  新网云WEB应用防火墙
•  新网云DDoS防护
•  云数据库
•  云产品运维
•  内容分发网络CDN
•  对象存储 S3
•  网络
资料下载
新手上路

云服务器ECS Linux系统带宽和CPU跑满或跑高排查

  • 作者:新网
  • 文章来源:新网
  • 点击数:100
  • 更新时间:2019-02-21 17:53:13

 CPU跑满或跑高

如果服务器上的CPU持续跑高,则会对系统稳定性和业务运行造成影响。以下对CPU占用率较高问题的排查分析做简要说明。

使用vmstat 查看系统纬度的 CPU 负载   

您可以通过vmstat从系统维度查看CPU资源的使用情况。

用法说明:

命令:

1.  vmstat -n 1

2.  # -n 1 表示结果一秒刷新一次。

示例输出:

图片1.png

返回结果中的主要数据列说明:

r:表示系统中 CPU 等待处理的线程。由于 CPU 每次只能处理一个线程,所以,该数值越大,通常表示系统运行越慢。

us:用户模式消耗的 CPU 时间百分比。该值较高时,说明用户进程消耗的 CPU 时间比较多,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化。

sy:内核模式消耗的 CPU 时间百分比。

waIO 等待消耗的 CPU 时间百分比。该值较高时,说明IO等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈。

id:处于空闲状态的 CPU 时间百分比。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺。

使用top查看进程纬度的CPU负载

您可以通过top从进程纬度来查看其CPU、内存等资源的使用情况。

用法说明:

命令:

1.  top

示例输出:

图片2.png

回显说明:默认界面上第三行会显示当前CPU资源的总体使用情况,下方会显示各个进程的资源占用情况。

可以直接在界面输入大写字母P,来使监控结果按CPU使用率倒序排列,进而定位系统中占用CPU较高的进程。最后,根据系统日志和程序自身相关日志,对相应进程做进一步排查分析,以判断其占用过高 CPU 的原因。

操作案例

使用top直接终止CPU消耗较大的进程

如前面所述,可以通过top命令查看系统的负载问题,并定位耗用较多CPU资源的进程。

您可以直接在top运行界面快速终止相应的异常进程。说明如下:

1.想要终止某个进程,只需按下小写的k键。

2.输入想要终止的进程PID(top输出结果的第一列)。比如,如下图所示,假如想要终止 PID 为 23 的进程,输入 23后按回车。

图片3.png

3. 如下图所示,操作成功后,界面会出现类似 Send pid 23 signal [15/sigterm] 的提示信息让用户进行确认。按回车确认即可。

图片4.png

CPU使用率较低但负载较高

问题描述

Linux 系统没有业务程序运行,通过 top 观察,类似如下图所示,CPU 很空闲,但是 load average 却非常高,如下图所示

图片5.png

处理办法

load average 是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。出现此种情况时,可能是由于僵死进程导致的。可以通过指令 ps -axjf 查看是否存在 D 状态进程。

D 状态是指不可中断的睡眠状态。该状态的进程无法被 kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。

图片6.png

 

kswapd0 进程占用 CPU 较高

操作系统都用分页机制来管理物理内存,操作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以操作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中,由于内存持续不足,这个换页动作持续进行,kswapd0是虚拟内存管理中负责换页的,当服务器内存不足的时候kswapd0会执行换页操作,这个换页操作是十分消耗主机CPU资源的。如果通过top发现该进程持续处于非睡眠状态,且运行时间较长,可以初步判定系统在持续的进行换页操作,可以将问题转向内存不足的原因来排查。

问题描述

kswapd0 进程占用了系统大量 CPU 资源。

处理办法

Linux 系统通过分页机制管理内存的同时,将磁盘的一部分划出来作为虚拟内存。而 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。当系统内存不足时,kswapd0 会频繁的进行换页操作。而由于换页操作非常消耗 CPU 资源,所以会导致该进程持续占用较高 CPU 资源

如果通过 top 等监控发现 kswapd0 进程持续处于非睡眠状态,且运行时间较长并持续占用较高 CPU 资源,则通常是由于系统在持续的进行换页操作所致。则可以通过 free 、ps 等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。

如问题还没有解决,请提交工单请技术帮忙协助排查。

 

带宽跑满或跑高

对于正常进程导致的带宽跑满或跑高的问题,需要对服务器的带宽进行升级。对于异常进程,有可能是由于恶意程序问题,或者是部分 IP 恶意访问导致,也可能是服务遭到了 CC 攻击。

通常情况下,您可以使用 iftop 工具或 nethogs 查看流量的占用情况,进而定位到具体的进程。

使用iftop工具排查

1.在服务器内部安装iftop流量监控工具。

yum install iftop -y

图片7.png 

2.服务器外网带宽被占满时,如果通过远程无法登陆,可通过VNC登录到服务器内部,运行下面命令查看流量占用情况:

iftop -i eth1 –P

注意:-P参数将会显示请求端口。执行 iftop -i eth0 –P命令,可以查看通过服务器哪个端口建立的连接,以及内网流量。举例如下:

图片8.png

在上图中,您可以查看到流量高耗的是服务器上 53139 端口和 115.205.150.235 地址建立的连接。

3. 执行 netstat 命令反查 53139 端口对应的进程

netstat -tunlp |grep 53139

图片9.png

4.经反查,服务器上 vsftpd 服务产生大量流量,您可以通过停止服务或使用 iptables 服务来对指定地址进行处理,如屏蔽 IP 地址或限速,以保证服务器带宽能够正常使用。

使用nethogs进行排查

1.在服务器内部安装nethogs流量监控工具。

yum install nethogs -y

2.通过nethogs工具来查看网卡上进程级的流量信息,若未安装可以通过yum、apt-get等方式安装。举例如下:

a.  eth1 网卡跑满,执行命令 nethogs eth1。

b. 查看每个进程的网络带宽情况以及进程对应的 PID。

c. 确定导致带宽跑满或跑高的具体进程。

图片10.png

3. 若进程确定是恶意程序,可以通过执行 kill -TERM <PID> 来终止程序。

说明:如果是 Web 服务程序,您可以使用 iftop 等工具来查询具体 IP 来源,然后分析 Web 访问日志是否为正常流量。日志分析可以使用 logwatch 或 awstats 等工具进行。

如问题还没有解决,请提交工单联系技术为您处理。

技术问题

免费咨询获取折扣

Loading