3.3 资源占用:面板自身吃多少

一句话判断:1Panel 官方明示自身运行内存约 150MB,但它的“底租”里还藏着一位房客——Docker 引擎;宝塔官方没给面板自身的数字,但它省了 Docker 的开销,却要把 LNMP 原生进程的开销算进总账。小内存 VPS 上,这是一道“选固定房租还是选浮动水电”的账。

先立规矩:这一节不造数字

资源占用是全书最容易“编着编着就飞了”的章节。所以本节的规矩先说在前面,务必请你监督:

数据类型 本节的处理方式
官方文档明示的要求/数字 直接引用并标注出处
面板自身占用的精确 MB 数 只引用官方 FAQ 明示的数字,绝不编造“实测”
社区里流传的感受(“轻量 VPS 谁更喘”) 明确标注“社区共识”,仅作定性判断
具体到你机器上的占用 建议你自己测(文末给了方法)

一句话:凡是精确到 MB 还不带出处的占用数字,都不是好书该写的内容。 想看实测,你自己机器上跑一遍 free -m、docker stats、ps aux --sort=-%mem 就是唯一权威。

官方各写了什么

1Panel 的官方口径(来源:1Panel 官方产品 FAQ):

“1Panel 基于 Golang 语言编写,可执行文件大小约 40MB、运行时占用系统内存约 150MB;基于 Docker 来部署管理其他应用,对系统的侵入影响非常小。”

这是全书少见的、官方白纸黑字给的资源数字,直接引用,不加工:

指标 官方 FAQ
可执行文件体积 约 40MB
运行时占用系统内存 约 150MB
环境要求 建议可用内存在 1GB 以上

宝塔的官方口径(来源:宝塔官方新手入门文档):

指标 官方说明
面板运行最低内存 新手文档未标注门槛
整机迁移目标机要求 迁移功能文档写明:系统内存 512MB 以上
磁盘 新手文档提示:安装宝塔及软件 /www 至少留 5GB 以上
LNMP 安装警告 官方原文警告:MySQL 编译安装对机器性能消耗极大,普通云服务器请勿尝试编译安装 MySQL,可能导致磁盘 IO 过高、服务器宕机

两相对比,不是宝塔“藏着不说”,而是两款产品的资源模型根本不在一个口径上:1Panel 说的是“面板这一个进程”的占用;宝塔没有“面板自身”的官方数字,因为在它的模式里,面板进程、LNMP 各服务、计划任务本来就是一家人,没法单摘出来讲。

把两笔账拆开算

我们来算两笔账,都只用定性 + 官方数字,不编实测。

账单一:面板进程自身

1Panel 宝塔
面板进程 Go 单体服务(官方:约 150MB 内存) Python 为主的面板服务(官方未给数字,社区共识是较轻量)
面板数据存储 数据库 + 配置(容器化环境) /www/server/panel/data 下的 SQLite(site.db、database.db),轻量文件型
命令行副产物 1pctl、systemd 服务 bt 维修通道、cron 计划任务、面板自动备份(/www/backup/panel)

账单二:运行时“底租”

1Panel 宝塔
必交的底租 Docker 引擎(daemon 常驻,内存有固定开销,社区共识) 无 Docker 硬依赖(注意:宝塔也有 Docker 管理功能,但仅当你装了相关软件/容器才产生开销)
建站环境开销 OpenResty、MySQL、PHP 全部是容器,按需启用 Nginx、MySQL、PHP 原生进程,按需启用
可预估性 面板自身数字官方有(150MB),Docker 开销随机器规模浮动 整体无官方数字,原生进程“用多少占多少”相对线性

这张表想说明的是一件事:1Panel 的资源账是“显性底租 + 透明房租”(Docker 是明摆着的固定开销,面板自身数字官方给了);宝塔的资源账是“低底租 + 按量水电”(没有 Docker 硬开销,LNMP 进程用了才有)。

所以小内存 VPS 上谁更喘? 这里给出标明出处的社区共识性判断:

  • 在只装面板、少装应用的轻量场景,社区共识是两者都能跑;宝塔模式少了 Docker daemon 这一层,许多用户直觉上觉得“更省”。
  • 在应用一多的场景,情况会反转:1Panel 的应用跑在容器里,资源占用清晰可查(docker stats 一条命令看光光),而且闲置容器可以停掉省内存;宝塔的 LNMP 各服务是原生进程,MySQL 尤其是吃内存大户,调优需要改系统级配置(官方也有“普通云服务器勿编译安装 MySQL”的性能警告)。
  • 1GB 这条线:1Panel 官方明示“建议可用内存 1GB 以上”,那 1GB 以下的机器(如部分 512MB 的超轻量 VPS)从官方口径看就不是 1Panel 的目标场景。宝塔官方未设面板门槛,其迁移功能的门槛是 512MB——但这不代表“宝塔在 512MB 上流畅”,只是它没明说。

一个一定要转述的官方警告:宝塔新手文档原文喝止过一种行为——“MySQL 的编译安装对机器性能消耗极大,普通云服务器请勿尝试编译安装 MySQL;可能导致磁盘 IO 过高、服务器宕机。”想吃着编译安装的性能红利,先看看你的机器够不够它折腾。

小内存机器的取舍建议

针对几种典型小内存场景,给可执行的建议(均为定性判断):

场景 建议 理由
512MB 超轻量 VPS,只挂个小站 倾向宝塔(或干脆别用面板,直接装 LNMP) 1Panel 官方建议 1GB 以上;宝塔无 Docker 硬开销
1~2GB VPS,要建站 + 跑几个应用 两者皆可 都落在官方可接受区间(1Panel 官方:建议可用 1GB 以上)
4GB+,应用多、想随时加减服务 1Panel 顺手 容器化下应用启停清晰,闲置容器可停
极端抠内存的玩具机 都别装面板 面板本身就是开销,systemd 直起服务最省

外加两条省内存的实招(两边通用):

  1. 不用的软件别装、装了不用就停。 宝塔软件商店里每多一个运行中的软件就多一份原生进程;1Panel 应用商店里每个“已安装”都对应一个容器。两边都一样:占地面积与你装的东西严格成正比。
  2. 日志和备份别失控。 宝塔有 bt 36 磁盘清理(官方功能);1Panel 有工具箱的文件清理。磁盘吃满时内存换页会跟着遭殃——“硬盘满了网站打不开”是官方速查表里的经典现象。

还有一条容易被忽略的:Swap 代替不了内存决策。 小内存机器上很多人习惯挂一块交换分区续命,对一次性安装确实能避免 OOM,但 Swap 的读写速度和真内存差着量级,面板和数据库在 Swap 上跑只会越来越慢。Swap 可以当急救包,不能当口粮。

自己测,两分钟就够

不放心任何人的数字?教你最小的测量方案(在测试机上做):

# 面板进程内存占用(两款通用)
ps aux --sort=-%mem | head -n 15

# 总体内存
free -m

# 1Panel 侧:看每个容器吃了多少(官方提供 docker 管理能力,命令是通用 Docker 命令)
docker stats --no-stream

同一台机器上,装面板前记一次 free -m,装完再记一次,差值就是这台机器上这块面板的真实代价。这个数字属于你自己,比任何书里的数字都可信。

想深入了解两边的运维与监控能力?延伸阅读:《1Panel 官方文档:功能手册》、《宝塔面板运维与安全实战》。

本节要点

  • 1Panel 官方 FAQ 明示:可执行文件约 40MB、运行时内存约 150MB、建议可用内存 1GB 以上——这是唯一可以引用的精确数字。
  • 宝塔官方未给面板自身占用,其资源模型是“低底租(无 Docker 硬依赖)+ 按量水电(原生进程)”;官方警告过普通云服务器别编译安装 MySQL。
  • 小内存取舍:512MB 机器面板都不是最佳归宿;1GB 以上看应用数量和管理习惯——清晰可控选 1Panel,少层依赖选宝塔。社区共识仅为方向,别替你的机器下结论。

下一步: 在你的目标机器上跑一遍上面那三条测量命令,把数字记在部署文档里。有了基线,后面任何“怎么变卡了”的问题都有据可查。资源账算完,下一节聊一个更刺激的环节:升级、迁移与卸载——面板最容易“翻车”的地方(03-4 节)。