宝塔面板内存占用高是因默认启用多个常驻服务;应停用并禁用“网站监控”“消息推送”“宝塔运维”“堡塔一键迁移”,关闭防火墙实时防护日志与自动扫描,调监控间隔至30秒,卸载不用的php版本及扩展,定期清理default.db和旧日志。

宝塔面板安装后内存占用高,不是安装过程出错,而是默认启动了大量常驻服务——关掉它们,1GB 机器也能稳住 30% 以内。
安装完立刻停掉非必要插件和服务
宝塔安装完默认启用「防火墙」「网站监控」「消息推送」「宝塔运维」等后台服务,每个都跑一个 Python 进程,加起来轻松吃掉 200–400MB 内存。尤其低配机器(1GB)上,这直接挤占 PHP 和 MySQL 可用内存。
- 进宝塔面板 →
软件商店→已安装,把「网站监控」「消息推送」「宝塔运维」「堡塔一键迁移」全部点停止并禁用 - 「防火墙」可保留,但进其设置页关掉「实时防护日志」和「自动扫描」,否则
rsyslogd和systemd-journal会因高频写日志暴涨内存 - 确认没在用「宝塔跑分」「Linux 工具箱」等工具类插件,卸载比禁用更彻底
改监控轮询间隔,从 3 秒拉到 30 秒
宝塔的bt主进程默认每 3 秒扫一次日志、状态、端口,对 CPU 和内存都是持续扰动。这不是 bug,是设计冗余;但你不需要它每秒都“心跳”。
- SSH 登录后执行:
echo 30 > /www/server/panel/data/interval.pl - 然后重启面板:
bt restart - 改完再
top -c看,/usr/bin/python进程的 RES 列数值通常下降 30–50% - 别碰
/www/server/panel/pyenv目录——删了会导致面板无法启动
清理残留 PHP 版本和扩展,只留当前用的一个
安装时若勾选多个 PHP(比如 7.4 + 8.1 + 8.2),即使只用 7.4,其它版本的php-fpm服务仍可能被加载,且每个版本自带一堆扩展(如ioncube、ZendGuardLoader),全在内存里占位。
- 进
软件管理→ 找出未被任何网站绑定的 PHP 版本 → 点卸载(不是停用) - 进对应 PHP 的
设置 → 安装扩展,只勾选opcache和memcached(或redis);其余如xcache、apcu、imagick(除非真用)、fileinfo(除非程序强依赖)全取消 - 检查
php -m | grep -E 'xcache|apcu|eaccelerator',输出为空才表示没残留
释放 default.db 膨胀和日志文件空间
/www/server/panel/data/default.db 是 SQLite 数据库,记录访问日志、登录行为、计划任务历史。长期不清理会涨到几 GB,虽不直接占内存,但会拖慢面板响应、影响磁盘 I/O,间接推高内存压力(尤其是systemd-journal因写满磁盘而异常重试)。
- 进宝塔 →
计划任务→ 新建一个 Shell 脚本任务,内容为:sqlite3 /www/server/panel/data/default.db "DELETE FROM boce_list WHERE id - 同时加一条:
find /www/server/panel/logs -name "*.log" -mtime +7 -delete清理 7 天前日志 - 这两条建议设为每天凌晨 2:30 执行,避免和业务高峰重叠
真正卡住内存的,从来不是某一行配置,而是多个小服务叠加的“静默消耗”:Python 进程轮询、SQLite 不 vacuum、PHP 扩展堆砌、旧版本残留。动手前先ps aux --sort=-%mem | head -10看真实大户,再逐项砍,比盲目调pm.max_children管用得多。










