简体中文 English 会员中心 注销登录
{{currentLangLabel}} ▾
注册 登录
{{item.name}} {{value.name}}
简体中文 English
新闻资讯 Official information JP Server CPU 100% / Process Hang: 6-Step Fix

JP Server CPU 100% / Process Hang: 6-Step Fix

发布时间:2026-10-15

问题一:CPU 持续 100% 满载

  • 表现:top 显示 %CPU(s) 接近 100%,网站响应极慢,SSH 登录都卡。
  • 可能原因:① 某进程死循环;② 大量并发请求打满 PHP-FPM/Node;③ 挖矿病毒;④ 编译/转码任务。
  • 排查步骤:
    1. top -c 按 P 排序,找 CPU 最高的进程;
    2. ps aux --sort=-%cpu | head 确认;
    3. strace -p 看进程在做什么。
  • 快速修复:
    1. 非必要进程直接 kill -9 ;
    2. 限频 Nginx/PHP-FPM:pm.max_children 调到 CPU 核数 × 2;
    3. 排查挖矿:ps aux | grep -E 'miner|xmrig|cryptonight',杀掉并清理计划任务。

问题二:负载高但 CPU 不高(IO 等待)

  • 表现:uptime load average 很高,但 top 显示 CPU 大部分是 %wa(IO wait)。
  • 可能原因:磁盘 IO 瓶颈(慢查询、日志狂写)导致进程等待。
  • 排查步骤:iostat -x 1 5 看 %util 和 await。
  • 快速修复:
    1. 优化慢查询(加索引);
    2. 日志写独立盘;
    3. 升级 NVMe。

问题三:进程卡死无法 kill

  • 表现:kill -9 无效,进程处于 D 状态(不可中断睡眠)。
  • 可能原因:① 等待磁盘 IO(NFS 挂载断了);② 内核 bug;③ 硬件故障。
  • 排查步骤:
    1. ps aux | awk '$8 ~ /D/' 找 D 状态进程;
    2. cat /proc//stack 看内核栈;
    3. dmesg 看是否有 IO 错误。
  • 快速修复:
    1. 等待 IO 完成(如果是 NFS,恢复网络即可);
    2. 强制卸载 NFS:umount -f ;
    3. 终极方案:重启服务器(D 状态无法通过 kill 结束)。

问题四:内存耗尽(OOM)

  • 表现:dmesg | grep -i oom 显示 Out of memory,进程被内核杀掉。
  • 可能原因:① PHP/Java 内存泄漏;② 缓存配置过大;③ 突发流量。
  • 排查步骤:
    1. free -h 看内存;
    2. ps aux --sort=-%mem | head 找吃内存的进程;
    3. 看 OOM 日志确认被杀的进程。
  • 快速修复:
    1. 加 swap(8–16GB)应急;
    2. 调小 PHP-FPM pm.max_children、Java -Xmx;
    3. 长期:加内存或优化代码。

问题五:网络连接数暴增

  • 表现:ss -s 显示连接数数万,TIME_WAIT 占比高。
  • 可能原因:① 被 CC 攻击;② 应用没复用连接;③ 短连接过多。
  • 排查步骤:ss -ant | awk '{print $1}' | sort | uniq -c。
  • 快速修复:
    1. sysctl -w net.ipv4.tcp_tw_reuse=1 复用 TIME_WAIT;
    2. Nginx 开启 keepalive 复用连接;
    3. 上 7 层防护挡 CC。

问题六:如何预防资源耗尽?

  • 监控:CPU >80%、内存 >85%、load > 核数 告警。
  • 限流:Nginx limit_req 限频,防止突发流量打满。
  • 资源限制:systemd LimitCPU/LimitNOFILE 限制单进程。
  • 自动化:配置告警自动扩容或重启异常进程。
Telegram 客服
在线客服 {{chatUnreadTotal > 99 ? '99+' : chatUnreadTotal}}
1BGP 在线客服 {{chatUnreadInSession > 99 ? '99+' : chatUnreadInSession}}
{{chatSessionStatusText}}
正在连接在线客服...
如长时间未响应,可关闭面板后重新打开,或使用备用通道联系 Telegram。
Telegram 客服