简单来说:LNMP(Linux + Nginx + MySQL + PHP)本身并不“天生”占用很高内存,但如果配置不当或业务量大,内存占用是会明显上升的。
下面分几个层面说清楚:
✅ Nginx 是最省内存的组件
PHP 的内存占用取决于:
pm.max_children 设置举例:
pm.max_children = 50 → 可能 1GB+⚠️ PHP-FPM 是最常见的“内存杀手”
MySQL 内存占用主要来自:
innodb_buffer_pool_size(最重要)常见情况:
⚠️ MySQL 是 LNMP 中内存最不可控的部分
pm.max_children 设太大innodb_buffer_pool_size 设成物理内存的 70%+pm = dynamic
pm.max_children = 10~20(小站)
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6
innodb_buffer_pool_size = 128M~256M(1G内存机器)
max_connections = 50~100
htop / free -m 查内存LNMP 本身不占内存,占内存的是“默认配置 + 业务量 + 不合理参数”。
如果你愿意,可以告诉我:
我可以帮你精准算一遍内存该怎么配。