You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx占用CPU和内存过高怎么办?杀进程后自动重启如何解决?

Nginx高资源占用+杀进程自动重启问题解决方案

停止自动重启

直接执行kill -9终止进程只会被守护进程重新拉起,首先根据Nginx的托管方式执行对应停止操作:

  • 若为systemd托管(绝大多数Linux发行版默认部署方式):
    执行systemctl stop nginx即可彻底停止服务,如需禁用开机自启可额外执行systemctl disable nginx
  • 若为supervisor托管:
    执行supervisorctl stop nginx停止实例
  • 若为Docker容器部署:
    执行docker ps | grep nginx找到对应容器ID后,执行docker stop <容器ID>停止

排查高CPU/内存占用原因

  • 首先校验Nginx配置合法性,执行nginx -t,如果返回配置错误,先修正对应配置项后再重启服务
  • 排查日志定位异常请求:
    访问日志默认路径为/var/log/nginx/access.log,错误日志默认路径为/var/log/nginx/error.log,重点排查是否有大量高频恶意请求、某类接口请求耗时异常的情况
  • 校验核心配置参数:
    打开Nginx主配置文件/etc/nginx/nginx.conf,检查worker_processes参数,建议配置为服务器CPU核心数即可,不要设置过大;worker_connections参数建议根据服务器承载能力设置,不要超过系统最大文件打开数限制
  • 排查扩展逻辑异常:
    如果配置了大量rewrite规则、lua动态处理脚本、反向代理到异常上游服务,逐一校验逻辑是否存在死循环、内存泄露、上游无响应导致请求堆积的问题

修复后验证

所有问题修复完成后,先执行nginx -t确认配置合法,再启动Nginx服务,执行top -p $(pidof nginx)查看进程资源占用,确认恢复正常即可。

内容的提问来源于stack exchange,提问作者Nguyen Hung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 14:06:08