服务器CPU跑满?宝塔进程排查与负载优化实操

宝塔CPU占用100%卡死解决方法|一键排查进程、彻底降低服务器负载
做站长久了,几乎每个人都遇到过服务器 CPU 突然跑满 100% 的情况。
最烦的就是:啥都没操作,网站突然变慢、后台打不开、宝塔面板点半天没反应,严重的时候直接服务器卡死、掉线、重启。
很多新手第一反应就是重启服务器,但重启只能暂时缓解,过一会负载又炸了,问题根本没解决。
今天我结合自己长期运维宝塔、WordPress、工具站、测评站的实战经验,写一套新手能直接照搬、彻底根治 CPU 爆满的完整排查 + 解决 + 预防教程。
全程简单易懂,命令直接一键复制,小白也能搞定。

一、先找原因!一键查出到底谁在吃 CPU

服务器卡顿、负载高,千万不要盲目重启,第一步一定是找到异常进程。

1.1 查看服务器实时负载

top
⚠️ 无需修改,直接执行 打开之后重点看 CPU 占用排名,谁占用最高,问题就是谁导致的。

1.2 一键查看占用 CPU 最高的 10 个进程

ps -aux --sort=-pcpu | head -10
⚠️ 安全查询命令,不会修改服务器任何数据
我总结了站长圈 CPU 100% 的四大元凶,99% 的情况都逃不出这四个:
  1. PHP 进程暴涨:恶意爬虫、CC 攻击、网站插件报错、代码死循环
  2. MySQL 负载爆炸:数据库慢查询、数据表冗余、垃圾数据堆积
  3. 计划任务异常:错误脚本、重复任务、死循环执行
  4. 服务器中毒:挖矿木马、后台恶意进程偷跑算力

二、针对性解决各类 CPU 满载问题

2.1 解决 PHP 进程爆满、卡死

大部分 WordPress 站点、资讯站、测评站 CPU 跑满,都是 PHP 过载导致的
遇到突发卡死,可以先执行命令结束多余 PHP 进程,紧急降负载:
pkill -f php
⚠️ 救急使用,不建议频繁执行

彻底根治方法

  1. 进入宝塔软件商店,打开对应 PHP 版本设置
  2. 调低多余闲置进程、缩短超时时间
  3. 开启防跨站、禁用危险函数
  4. 屏蔽恶意爬虫,避免疯狂抓取消耗资源

2.2 解决 MySQL 数据库 CPU 占用过高

数据库慢查询,是服务器长期高负载的头号原因
很多站点表面看着正常,其实后台一直在堆积卡死的 SQL 请求,日积月累直接把 CPU 拖爆。

查看数据库卡死进程

mysqladmin processlist
查到异常卡死 ID 后,执行杀掉进程:
mysqladmin kill 这里填你的进程ID

日常优化建议

定期在宝塔数据库面板执行「运行优化」,修复数据表、清理碎片,能明显降低长期负载。

2.3 查杀挖矿木马、恶意进程

如果你发现:没人访问网站、没跑任务,CPU 依旧满负载,基本可以确定是服务器中毒
恶意挖矿进程、病毒后台偷跑算力,非常常见。
排查临时目录可疑文件:
ls /tmp/ ls /var/tmp/
⚠️ 目录里如果出现乱码名称程序、ddgs、kdevtmpfsi 等文件,就是典型挖矿病毒,需要立即手动删除并全盘查杀。

三、宝塔永久设置,杜绝 CPU 再次跑满

临时清理只能解一时之急,想要服务器长期稳定,必须做好长效防护配置

3.1 限制 PHP 最大进程数(核心优化)

根据自己服务器配置合理限制:
  • 调低静态线程数
  • 脚本最大执行时间设置 30 秒
  • 禁用 scandir、exec、system 等高风险函数
有效防止网站报错、恶意访问导致进程无限暴涨。

3.2 数据库自动优化计划任务

每天自动整理数据库碎片,避免堆积慢查询:
mysqlcheck -o -A
设置每天凌晨低峰期自动执行,不影响网站访问。

3.3 服务器负载自动告警(提前避坑)

很多宕机都是没人发现、默默满载一整晚导致的。
我一直在用这个负载监控脚本,超好用:
#!/bin/bash LOAD=`awk '{print $1}' /proc/loadavg` if (( $(echo "$LOAD > 4" |bc -l) ));then echo "服务器负载过高,当前负载:$LOAD" | mail -s "CPU负载告警" 替换成你的接收邮箱 fi
⚠️ 必须自行修改:把邮箱改成你自己的,否则收不到预警通知
建议设置:每 10 分钟自动检测一次,一超标立刻邮件提醒,再也不会被动宕机。

四、不同站点 CPU 爆满的真实原因总结

我运维过大量站点,总结出不同程序的高发问题:

WordPress 站点

  • 垃圾插件过多、后台频繁自检
  • 主题代码冗余、数据库查询过多
  • 百度爬虫、恶意蜘蛛无节制抓取
  • 伪静态规则错误造成死循环

工具站 / IP 查询 / 跑分站点

  • 前台接口请求频繁
  • 页面自动刷新、批量查询消耗资源
  • Node 日志疯狂写入、后台进程卡死
针对性优化,比盲目清理省事太多。

五、站长避坑心得(真实运维经验)

  1. 不要习惯性重启服务器:只能掩盖问题,无法根治,故障会反复出现
  2. 不要乱装网上不知名杀毒脚本:容易误删系统文件,搞崩服务器
  3. PHP 进程不要设置过大:小配置机器极易瞬间满载
  4. 一定要屏蔽恶意爬虫:无效抓取是中小服务器负载高的主要原因
  5. 定期优化数据库:数据库垃圾堆积,是长期高负载的隐形杀手

六、最后总结

宝塔服务器 CPU 100%、负载高、网站卡顿,几乎没有是硬件问题的, 绝大多数都是:进程异常、数据库卡死、恶意访问、服务器中毒这四类原因。
按照本文的排查方法 + 紧急处理 + 自动监控, 基本可以彻底告别服务器莫名卡顿、满载、宕机问题,让站点长期稳定运行。

 

 

文章广告横幅
网络违法犯罪举报平台 广告
© 版权声明
THE END
喜欢就支持一下吧
点赞174 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容