可通过宝塔面板监控、top命令、PHP进程数统计、日志分析及安全模块五步定位高CPU站点:一查监控筛选异常活跃站点;二用top -c按CPU排序找含域名路径的进程;三比各站PHP-FPM进程总数;四查错误与慢日志中高频报错站点;五看安全模块CC拦截TOP域名。

如果您发现服务器整体CPU使用率异常偏高,但无法快速定位是哪个网站导致的资源消耗,则可通过宝塔面板内置监控与进程分析功能,结合日志与进程树逐层下钻识别具体站点。以下是定位最吃CPU站点的具体操作路径:
一、通过【监控】模块初步筛查高负载站点
宝塔面板的【监控】模块可显示各站点的实时请求量、带宽与进程关联趋势,虽不直接标注CPU占比,但能辅助锁定活跃度异常的站点。该模块依赖系统级采集,需确保已开启监控服务。
1、登录宝塔面板,在左侧菜单栏点击监控。
2、若页面提示“监控未开启”,点击右上角开启监控按钮并等待3–5分钟,让数据完成首轮采集。
3、在监控图表下方切换至网站监控标签页,查看各已添加站点的请求数/秒与带宽占用(KB/s)曲线。
4、找出近10分钟内持续高于均值2倍以上的站点名称,记为待验证候选站点。
二、使用【终端】运行top命令定位高CPU进程及对应站点
top命令可实时显示所有进程的CPU占用排序,PHP-FPM或Nginx子进程通常携带站点根目录路径或域名关键词,是定位核心依据。
1、在宝塔面板左侧菜单点击文件,再点击右上角终端进入命令行界面。
2、输入命令:top -c,回车执行(-c参数可显示完整命令路径)。
3、按Shift + P按键,将进程按CPU使用率从高到低排序。
4、观察第一列PID右侧的COMMAND字段,重点查找含以下特征的进程行:/www/wwwroot/域名、php-fpm: pool www(需结合配置确认pool名)、nginx: worker process后接access_log路径中的域名。
5、记录占用率最高进程的PID及对应路径,例如:/usr/bin/php-cgi /www/wwwroot/example.com/index.php,即可确认example.com为高耗站点。
三、通过【网站】列表查看各站点PHP进程数与并发负载
每个站点在PHP配置中独立设定最大子进程数(max_children),该值过高或脚本阻塞易引发CPU堆积;宝塔提供直观的进程数统计入口。
1、点击左侧菜单网站,进入站点列表页。
2、找到待查站点右侧操作栏,点击设置 → 切换至PHP版本选项卡。
3、查看当前启用的PHP版本右侧的管理按钮,点击进入PHP管理页。
4、在PHP管理页中点击服务标签,查看当前运行的PHP-FPM进程数(如显示“共运行 42 个进程”)。
5、返回网站列表,对所有启用PHP的站点重复步骤2–4,横向对比各站点关联的PHP-FPM进程总数,数值明显偏高者即为潜在高耗站点。
四、分析网站错误日志与慢日志交叉验证
频繁报错或执行超时的PHP脚本会反复fork新进程,造成CPU空转;错误日志与慢日志中包含精确的域名、URI和耗时,是确认站点级问题的直接证据。
1、回到网站列表,点击疑似高耗站点右侧的日志按钮。
2、在弹出窗口中切换至错误日志页签,滚动查看最近1小时内是否密集出现PHP Fatal error、Segmentation fault或Allowed memory exhausted等错误,每条日志首行均标注域名。
3、切换至PHP慢日志页签(需提前在PHP设置中开启),检查是否存在单次执行超过5秒的请求,重点关注script_filename字段指向的站点路径。
4、若某站点在错误日志与慢日志中同时高频出现,且错误类型涉及循环调用、未释放资源或正则回溯,则基本可判定为其引发CPU满载。
五、利用【安全】模块排查恶意流量来源站点
爬虫、CC攻击或非法API调用常集中于单个站点入口,导致其Nginx worker或PHP进程持续满负荷运转;宝塔安全模块可按域名维度统计访问IP频次。
1、点击左侧菜单安全,进入防火墙管理页。
2、点击网站防CC标签,确认已启用防CC功能,并查看今日被拦截的域名统计列表。
3、若某站点出现在拦截TOP3且拦截次数超500次/小时,说明其正遭受高强度恶意请求,极可能是CPU飙升源头。
4、进一步点击该站点右侧的详情,查看被拦截IP的地理分布与User-Agent特征,确认是否为扫描器或SEO作弊工具定向攻击该站点。










