服务器CPU达到100%解决思路

当我们在做服务器巡检或者部署相关服务时,我们经常发现服务器CPU异常高,有时候直接达到了100%,那针对这种情况,我们有哪些解决思路和方案呢。

对此,我分享一下我处理的一些经验之谈,供大家参考学习:

一、追根求源

我们要找到问题的源头,问题的导火索可以从以下几个方面进行排查:

1、代码层面:恶性死循环代码模式,内存泄漏,线程池配置有误,正则判断有误;

2、数据库层面:数据库查询阻塞,频次过高;

3、API接口调用:调用频次过高导致超时,不断累加;

4、恶意病毒攻击:doss恶意攻击,木马病毒攻击。

二、定点处理:

1、使用htop或top查看异常的进程:

按shift+P查看CPU占用最高的进程:

2、定位到占用最高的进程,我们开始排查代码细节,包括代码线程配置以及堆栈的优化处理

3、查看日志(系统日志分析,程序服务运行日志)

系统日志:根据syslog,error等字眼去检索查询;

程序服务日志:根据部署配置的日志位置进行查看,一般为error.log的日志文件

三、优化运行:

当我们排查到问题点,再根据问题点进行优化,优化完成,我们需要积累优化的程序步骤,作为后续优化迭代的一个里程碑,因为丝滑的程序访问是不断优化迭代更新的结果。

针对该问题我们还需部署线上实时监控提醒,包括短信提醒,企业微信提醒,这样更有利于提高我们的工作效率。

相关推荐
KYGALYX1 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
余—笙2 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509282 小时前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器
wanhengidc3 小时前
云手机的基本原理
运维·服务器·游戏·智能手机·云计算
篙芷3 小时前
两台服务器 NFS 共享目录实战
运维·服务器
Hard but lovely3 小时前
linux: centos 软件包管理 yum源
linux·运维·centos
悲伤小伞3 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
2301_816073834 小时前
Chrony服务器
运维·服务器
学网络的APang4 小时前
Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)
运维·网络
非典型代码4 小时前
Jenkins发不出邮件
运维·servlet·jenkins