欢迎来到阿里云合作伙伴典名科技! 阿里云购买咨询电话:023-61066666 手机:18623333330  13452888883 13452888886  18581111171  QQ:11611616 / 673768899 / 673768855 / 956491
  • 1
  • 2
  • 3
  • 4
  • 5
站长学堂
当前位置: 网站首页  »    »  问题解决方案  »  站长学堂

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

重庆典名科技 admin    重庆典名科技 2017-9-14

云主机(云服务器)的日常使用中,可能会出现服务器的速度变慢,或者是云服务器ECS实例突然断开的情况。一旦出现这种情况您首先就要查看一下是不是服务器的带宽和CPU跑满了。如果您预先就创建了服务器报警任务,那么当带宽和CPU跑满或是跑高的时候,系统会自动进行报警提醒。并且如果云服务器 ECS Linux 系统的 CPU 持续跑高,则会对系统稳定性和业务运行造成影响。下文就来说说阿里云主机,Linux系统下,带宽和CPU跑满或跑高原因排查操作方法:


在进行排查原因时要有一个明确的操作步骤,重庆典名科技就总结从以下两个方面来进行排查解决问题的操作:

1】定位问题:首先要找到影响带宽和 CPU 跑满或跑高的具体是那个软件或者是进程

2】分析处理:排查影响带宽和 CPU 跑满或跑高的软件或者是进程是否正常使用是否是需要的,然后再进行分类来处理:

—— 正常进程:需要我们优化这些进程,或者是提升服务器配置。(重庆典名科技阿里云授权服务中心能为每一个客户提供阿里云产品购买的专属折扣优惠)

—— 异常进程:手动对进程进行查杀,或者是使用第三方软件进行查杀

【注】下文是用 CentOS 6.5 64 位操作系统中进行过操作演示的。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。


【一】CPU 跑满或跑高的问题定位操作方法:

如果云服务器 ECS 的 CPU 持续跑高,就会直接对于系统的稳定性和业务运行造成很大影响。Linux 系统下,查看进程的常用命令如下图所示:

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

阿里云主机 Linux 系统中,通常是使用 top 命令来查看系统的负载问题,并且对于哪些耗用CPU较多的进程进行定位。

具体操作步骤演示:

1)通过控制台管理终端连接到 ECS 实例

【注】:资源负载异常情况下,通常是无法通过 SSH 进行远程连接,建议通过控制台管理终端进行连接。

2)通过 top 命令查看云主机系统当前的运行情况,(如下图所示)

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

针对云主机的负载问题,只需关注回显的第一行和第三行信息,详细说明如图所示:

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

3)通过字母键 P,可以对云主机的 CPU 使用率进行倒序排列,进而定位系统中占用 CPU 较高的进程:

【注】通过字母键 M, 可以对云主机系统内存使用情况进行排序。如果有多核 CPU,数字键 1 可以显示每核 CPU 的负载状况

4)通过 ll /proc/PID/exe 可以查看每个进程 ID 对应的程序文件


【二】CPU 跑满或跑高的分析处理操作演示:

云主机的 CPU跑满或者是跑高时,我们在确认了具体的进程结果后。针对异常的进程,需要通过top命令来把这些进程终止,而对于kswapd0 进程导致的内存不足等情况,需要对系统进行规格的升级或程序的优化。

1)使用 top 直接终止云主机 CPU 消耗较大的进程

可以直接在 top 运行界面快速终止相应的异常进程(CPU消耗较大的进程)。操作步骤如下:

—1、想要终止那个进程,直接选择按下K 键

—2、输入想要终止的进程 PID (top 输出结果的第一列)。例:如果想要终止 PID 为 85 的进程,输入 85 后直接按回车就行了

—3、操作成功后,界面会出现类似 Send pid 86 signal [15/sigterm] 的提示信息,然后选择确认就完成了终止进程操。


2)kswapd0 进程占用导致 CPU 较高,操作方法

操作系统都用分页机制来管理物理内存,系统会把一部分硬盘空间虚拟成内存使用。由于内存的速度要比磁盘快得多,所以系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中。

kswapd0 是虚拟内存管理中负责换页的进程,当服务器内存不足的时候 kswapd0 会执行换页操作,这个换页操作是十分消耗主机 CPU 资源的。具体的操作步骤如下:

—1、通过 top 命令查看 kswapd0 进程

—2、检查该进程是否持续处于非睡眠的状态,且运行时间是较长的。如果是这种情况,可以初步判定系统在持续地进行换页操作,kswapd0 进程占用了系统大量 CPU 资源(如下图所示)

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

—3、可以通过 free 、ps 等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析

—4、针对系统当前内存不足的问题,可以重启 Apache,释放内存

【注】在长远的高度来看,升级配置才是解决问题最好的办法。阿里云授权服务中心重庆典名科技会为每一个客户申请阿里云产品专属购买折扣优惠。


3)带宽跑满或跑高的分析处理操作演示:

如果是正常的进程导致了云主机带宽跑满或者是跑高的情况,这就需要对云主机的带宽进行升级。但是如果是异常进程,那就有可能是恶意程序问题或者是部分IP 恶意访问导致带宽跑高或者跑满,还可能是云知己遭受到 CC 攻击:

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

—1、使用 iftop 工具排查

——服务器内部安装 iftop 流量监控工具,如下图所示:

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

——云主机外网带宽被占满情况下,通过远程是无法登陆,但是可以通过阿里云终端管理进入到服务器内部,运行下面命令查看流量占用情况:(如下图所示)

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

——执行 netstat 命令反查 53139 端口对应的进程(如下图所示):

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

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


—2、使用 nethogs 进行排查

——服务器内部安装 nethogs 流量监控工具(如下图所示):

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

——通过 nethogs 工具来直接查看网卡上进程级的流量信息,如果未安装可以通过 yum、apt-get 等方式安装。例如下图操作:

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查

——如果进程已经确定是恶意程序,可以直接通过执行 kill -TERM 来终止该程序

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


5)使用 Web 应用防火墙防御 CC 攻击

如果是服务遭受了 CC 攻击,请在 Web 应用防火墙控制台尽快开启 CC 安全防护。

—1、登录 Web应用防火墙 控制台

—2、在 CC 安全防护中,启动状态按钮,并在模式中选择 正常(如下图所示)

阿里云主机Linux实例带宽和CPU跑满或跑高原因排查


完成上述操作还是没有能够解决您云主机CPU和带宽跑高或跑满的情况,或者是其它云主机问题,可以拨打023-6688777联系重庆典名科技阿里云授权服务中心,专业技术团队为您提供一对一技术服务。如需要升级云主机配置或者购买阿里云产品还能为你提供专属折扣/优惠,为您省省省。




+查看更多+
常见问题解决方案
相关热门文章
热门产品推荐
热门产品推荐
阿里云代理商
阿里云客服
阿里云客服
阿里云客服
阿里云代理商