首页“负载状态”可快速判断cpu压力,数值超90%持续2分钟标红;需区分“cpu使用率”与“负载状态”百分比,后者为加权评估;监控默认关闭,须手动开启才能查看历史趋势。

直接看首页“负载状态”就能快速判断CPU压力
宝塔面板首页顶部的“资源使用情况”区域,每3秒刷新一次CPU使用率,数值超过90%且持续2分钟以上会自动标红——这是最直观、最低门槛的CPU趋势初筛方式。它不画曲线,但能第一时间告诉你“现在是不是出事了”。
常见错误现象:首页CPU显示为空或一直为0%。90%的情况是监控服务没启动,别急着查日志,先点右上角“重启面板服务”按钮,等10秒再刷页面,大概率恢复。
- 这个数据源自
psutil库采集,非面板自绘,延迟低、可信度高 - 注意区分“CPU使用率”和“负载状态”百分比:前者是核时占比,后者是综合CPU+内存+IO+swap的加权评估,两者数值常不一致
- 如果首页长期卡在85%~90%,说明系统处于临界状态,必须进【监控】页看历史趋势,不能只盯实时值
用【监控】页查看带时间轴的CPU占用曲线
首页只是快照,真要看趋势得进【监控】模块——但很多人卡在第一步:监控默认是关闭的,不手动开,图表永远是空的。
实操建议:
- 登录后点击左侧【监控】→ 右上角点“开启监控” → 等待1–2分钟(不是秒级生效)→ 刷新页面
- 图表默认显示最近24小时,要查7天趋势,点顶部时间筛选器,选“最近7天”
- CPU曲线实际是“整体平均值”,无法反映单核是否跑满(比如Python多线程常出现一个核100%、其余核空闲),这时需结合终端命令验证
为什么监控图看起来“平滑”但服务器却卡顿?查进程绑定和核心分布
宝塔监控图采样间隔通常是5秒,且只汇总显示整体CPU%,它看不见进程是否被钉死在某颗物理核上,也看不到超线程/NUMA拓扑的影响——这正是很多“图看着不高但网站响应慢”的根源。
这时候得切到终端补位:
- 执行
lscpu | grep -E "(CPU\(s\)|Core|Socket|NUMA)",确认物理核心数和逻辑处理器数量 - 执行
ps -eo pid,comm,psr --sort=-pcpu | head -15,看高占用进程的PSR列(即运行在哪颗核心上) - 若发现多个高负载进程都集中在同一颗核心(如全是
PSR=0),说明负载不均,可能需要调整worker_cpu_affinity或检查PHP-FPM pool分配
导出CPU趋势数据做离线分析或告警对接
宝塔不提供CSV导出按钮,但它的底层数据其实就存在系统日志里,可以用 sar 命令提取,适合需要对接Zabbix、Grafana,或写自动化巡检脚本的场景。
例如导出过去7天每5分钟的平均负载(含1/5/15分钟load):
for i in $(seq 0 6); do sar -q -f /var/log/sa/sa$(date -d "$i days ago" +\%d) 2>/dev/null | grep -E '^[0-9]|Average'; done | sort
输出中 ldavg-1、ldavg-5、ldavg-15 三列就是你要的数据。注意:CentOS系默认启用 sar,Ubuntu/Debian需先装 sysstat 包。
真正容易被忽略的是:宝塔的“负载状态”百分比算法未公开,它和 top 显示的 %Cpu(s)、sar -u 的 %user/%system 都不是一回事——别拿面板百分比去对标其他工具的绝对值。










