腾讯云服务器卡顿的原因及处理方法

一、腾讯云服务器卡顿的5种情况
1.腾讯云服务器进程与服务占用过多cpu和内存。
2.自定义计划任务在对应时间段内执行。
3.Web 服务器的配置参数超过了服务器的性能。
4.连接数过高。
5.网络延迟过高

二、腾讯云服务器卡顿排查思路
1.腾讯云服务器进程与服务占用过多cpu和内存
故障现象:腾讯云服务器卡顿
可能原因:服务进程异常、挂死
解决方法
Linux操作系统
1)统计cpu占用率最高的前10条进程
命令:ps aux | sort -rnk 3 | head
可以看出用户有一个进程对cpu消耗极高,将其kill掉即可
命令:kill -9 23782
2)统计内存占用率最高的前10条进程
命令:ps aux | sort -rnk 4 | head可以看出用户有一个进程对内存消耗极高,将其kill掉即可
命令:kill -9 2107
3)使用sar工具检测腾讯云服务器资源状况
A.安装sar工具 使用 yum install sysstat 进行安装,然后使用 /etc/init.d/sysstat start 启动服务。
B.查看 CPU 负载 用法:sar -u 1 5
示例输出:参数解释:
%user:用户模式下消耗的 CPU比例。
%nice:通过 nice 改变了进程调度优先级的进程,在用户模式下消耗的 CPU 时间的比例。
%system:系统模式下消耗的 CPU 时间的比例。
%iowait:CPU 等待磁盘 I/O 导致空闲状态消耗的时间比例。
%steal:利用 Xen 等操作系统虚拟化技术,等待其它虚拟 CPU 计算占用的时间比例。
%idle:CPU 空闲时间比例。
C.查看平均负载 命令:sar -q 1 60参数解释:
指定 -q 后,可以查看运行队列中的进程数、系统上的进程大小、平均负载等信息。
runq-sz:等待运行的进程数。
plist-sz:进程列表中进程和线程数量。
ldavg-1:最后 1 分钟的平均负载。
ldavg-5:过去 5 分钟的平均负载。
ldavg-15:过去 15 分钟的平均负载。
D.查看内存负载 命令:sar -r 1 3参数解释:
kbmemfree:和 free 命令中的 free 值相同,但不包括 buffer 和 cache空间。
kbmemused:和 free 命令中的 used 值相同,但包括 buffer 和 cache空间。
%memused:物理内存使用率
kbbuffers 和 kbcached:和free 命令中的 buffer 和 cache 一致。
kbcommit:当前系统所需要的内存,确保不溢出而需要的内存(RAM+swap)。
%commit:kbcommit 与内存总量(包括swap)的百分比。
E.查看页面交换状况 命令:sar -W 1 3参数说明:
pswpin/s:每秒系统换入的交换页面(swap page)数量。
pswpout/s:每秒系统换出的交换页面(swap page)数量。
Windows操作系统
1)右键单击开始栏-任务管理器-进程-点击“cpu”即可按cpu占用由高至低排序

观察CPU占用率,将占用CPU高的异常进程结束即可。
2)点击“内存”即可按内存占用由高至低排序,右键点击“结束进程即可”

2.自定义计划任务在对应时间段内执行
故障现象:crontab有异常的计划任务
可能原因:安装了第三方不安全软件或遭到系统被入侵
解决方法:检查crontab定时调度,操作如下:
1)检查crond运行状态
命令:systemctl status crond
(centos7之前版本命令:service crond status)running状态表示crond正在运行
2)检查crontab运行脚本
命令:cd /var/spool/cron;ls -lrt root用户有设置定时调度任务,执行命令:cat root发现有两个异常任务,删掉这两行,使用命令:systemctl restart crond即可
3.Web 服务器的配置参数超过了服务器的性能
故障现象:web服务器卡顿,积压请求无法处理
可能原因:web服务器配置参数超过服务器的最大负载能力
解决方法:根据业务需求提升腾讯云服务器性能,并按web服务器相关文档设置适合参数
4.连接数过高
故障现象:端口连接数过高致使系统负载过大
可能原因:业务请求并发数过高,系统性能瓶颈
解决方法:根据业务需求提升腾讯云服务器性能,或者添加腾讯云服务器实现LB负载均衡,实现业务流量分割。查看端口连接数步骤:
1)使用 netstat 来查看端口连接数。
netstat 命令各参数解释:
-t:指明显示 TCP 协议端口
-u:指明显示 UDP 协议端口
-l:仅显示监听套接字
-p:显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n:不进行 DNS 反向解析,只显示 IP (可以加速操作)
2)停止端口
查找端口占用的进程,使用如下命令来查看(以查看9000端口为例):
netstat -antp | grep 9000 可以看到 PID 为 1070 的进程占用了这个端口。
停止相应进程即可。
5.网络延迟过高
故障现象:远程ping腾讯云服务器时不通,或出现掉包
可能原因:本地网络与腾讯云服务器网络之间有网络节点异常
解决方法
Linux系统
1) 使用mtr工具检测网络连通性
命令:mtr8.8.8.8结果分析:
默认配置下,返回结果中各数据列的说明:
Host:节点IP地址和域名。如前面所示,按n键可以切换显示。
Loss%:节点丢包率。
Snt:每秒发送数据包数。默认值是10,可以通过参数-c指定。
Last:最近一次的探测延迟值。
Avg、Best、Wrst:分别是探测延迟的平均值、最小值和最大值。
StDev:标准偏差。越大说明相应节点越不稳定。
windows系统
1) WinMTR安装,直接解压运行即可。
2) 如所示,运行程序后,在Host字段输入目标服务器域名或IP(注意前面不要包含空格)。

结果分析:
Hostname:节点IP或域名。
Nr:节点编号。
Loss%:节点丢包率。
Sent:已发送的数据包数量。
Recv:已成功接收的数据包数量。
Best、Avg、Worst、Last:分别是到相应节点延迟的最小值、平均值、最大值和最后一次值。
StDev:标准偏差。越大说明相应节点越不稳定。

标签