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

Laravel Queue进程无任务时内存占用过高问题咨询

Laravel Queue 空闲进程内存占用过高问题

我使用Laravel Queue执行后台任务,无论是直接运行php artisan queue:work还是通过Supervisor启动队列,htop显示该进程内存占用约2GB——即使队列中没有任何任务。

以下是sudo systemctl status supervisor的执行结果(numprocs = 1):

supervisor.service - Supervisor process control system for UNIX
     Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-06-23 11:39:35 CEST; 7s ago
       Docs: http://supervisord.org
   Main PID: 2850495 (supervisord)
      Tasks: 2 (limit: 618982)
     Memory: 1.9G
        CPU: 2.574s
     CGroup: /system.slice/supervisor.service
             ├─2850495 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
             └─2850496 php /var/www/html/pharavel/artisan queue:work --max-time=10800 --timeout=20 --tries=1

处理任务时内存并未增长,因此我认为可以排除内存泄漏的可能。

Laravel Queue文档中提到:

queue workers are long-lived processes and store the booted application state in memory
(译文:队列工作进程是长期运行的进程,会将启动后的应用状态存储在内存中)

但我不确定为何内存占用会如此之高。

编辑补充:Supervisor的Worker配置如下

[program:pharavel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/pharavel/artisan queue:work --max-time=10800 --timeout=10 --tries=1
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
;user=forge
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/html/pharavel/storage/logs/pharavel-worker.log
stopwaitsecs=7200

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:07:30