极限压榨:1 核 1G 内存的小配置 VPS 流畅运行指南
别信“1核1G只能吃灰”的鬼话。用好这套 Linux 教程,哪怕是最便宜的小鸡,也能跑稳 WordPress 网站或轻量服务。关键是砍掉系统里吃内存的废物,把资源留给真正干活的东西。

系统层面:砍掉不必要的服务和守护进程
1 核 1G 的 VPS,默认装完系统可能内存就吃掉 400MB,这还怎么玩?必须从源头瘦身。
用 `systemd` 禁用开机自启服务
先看看哪些服务在偷跑。
列出所有正在运行的服务,按内存排序
systemctl list-units –type=service –state=running | sort -k5 -n -r
重点关注 `postfix`、`cups`、`avahi-daemon` 这类服务。如果是纯 LAMP/LEMP 环境,直接干掉。
禁用并停止 postfix 邮件服务(多数场景用不到)
systemctl disable postfix –now
禁用并停止 avahi-daemon(零配置网络服务,小鸡上用不到)
systemctl disable avahi-daemon –now
调整 `swappiness`,别让系统乱用 Swap
默认 swappiness 是 60,意味着系统在内存用了 40% 就开始往 Swap 里写。对于 1G 内存的小鸡,这会导致频繁磁盘 I/O,拖慢速度。调低它。
查看当前值
cat /proc/sys/vm/swappiness
临时改为 10
sysctl vm.swappiness=10
永久生效,写入 sysctl.conf
echo "vm.swappiness = 10" >> /etc/sysctl.conf
软件层面:用轻量级组件替换臃肿全家桶
别装什么 `MySQL` + `Apache` 这种重量级选手,1G 内存扛不住。用 `MariaDB` + `Nginx` + `PHP-FPM` 组合,内存占用能砍一半。
安装并优化 Nginx
安装 Nginx(比 Apache 轻太多)
apt install nginx
Nginx 默认配置对 1G 内存来说有点浪费,修改 `/etc/nginx/nginx.conf` 里的 `worker_processes`。
worker_processes 1; # 1核CPU就设1,别设auto,会吃掉更多内存
限制 PHP-FPM 子进程数量
PHP-FPM 是吃内存大户。默认配置可能开几十个进程,每个吃 30-50MB,内存瞬间爆。必须限制。
编辑 `/etc/php/8.x/fpm/pool.d/www.conf`(版本号根据实际来)。
pm = dynamic
pm.max_children = 5 # 最大子进程数,1G内存建议5-8
pm.start_servers = 2 # 启动时创建2个
pm.min_spare_servers = 1 # 最小空闲数
pm.max_spare_servers = 3 # 最大空闲数
改完后重启 PHP-FPM。
systemctl restart php8.x-fpm
日常运维:实时监控内存和进程,发现异常立刻处理
内存不够用,最怕某个进程突然膨胀。写个简单脚本,内存超限就自动重启。
用 `htop` 或 `smem` 定位内存大户
安装 htop(比 top 直观)
apt install htop
按内存排序查看进程
htop -s PERCENT_MEM
如果发现 `mysqld` 吃了 400MB,而你的网站只是个小博客,考虑换 `SQLite` 或者用 `MariaDB` 的 `my.cnf` 配置把 `innodb_buffer_pool_size` 降到 64M。
老鸟叮嘱:千万别碰 `memory_limit` 的坑
很多人为了省内存,把 PHP 的 `memory_limit` 设成 `64M` 或更低。这会导致 WordPress 后台传图、更新插件时直接报 500 错误。正确的做法是:保持 `memory_limit` 在 `256M`,但通过减少 `pm.max_children` 来控制总内存。别问为什么,照着做就行。
常见排障:内存不足时的典型表现和解决办法
现象:SSH 连不上或者敲命令巨卡
大概率是内存被吃光,系统开始疯狂用 Swap。执行 `free -h` 看看 Swap 使用率。如果超过 80%,直接重启服务。
重启 PHP 和 Nginx,释放内存
systemctl restart php8.x-fpm
systemctl restart nginx
现象:WordPress 后台打开慢或报“Allowed memory size exhausted”
这是 PHP 进程内存不够。先检查 `pm.max_children` 是否设得太小。如果总内存还有余量,适当调大 `pm.max_children` 到 8,同时把 `pm.max_requests` 设为 500,让进程定期重启。
FAQ
1. 1 核 1G 的 VPS 能跑 WordPress 吗?
能跑,但必须优化。用 Nginx + PHP-FPM + MariaDB 组合,限制 PHP 进程数,禁用不必要的插件。日 PV 几千的博客完全没问题。
2. Linux 小白可以直接用 root 账号操作吗?
可以,但建议用普通用户 + sudo。万一误操作删了系统文件,root 权限下连恢复的机会都没有。
3. VPS 内存经常被占满,怎么排查?
先用 `top` 看进程,再用 `free -h` 看内存分配。重点查 `mysqld` 和 `php-fpm`,它们是最常见的吃内存大户。
4. 开启 BBR 后为什么速度没有明显提升?
BBR 主要优化网络拥堵,如果你服务器带宽本身就小(比如 1Mbps),或者目标用户离你机房很近,效果不明显。检查一下带宽是否跑满。
5. 1 核 1G 的 VPS 适合装数据库吗?
如果数据库很小(几十 MB),用 SQLite 代替 MySQL/MariaDB。否则,把 `innodb_buffer_pool_size` 降到 64M,并禁用查询缓存。
6. 为什么按教程优化后,内存还是不够?
检查是否装了不必要的软件包,比如 `snapd`、`docker`、`clamav`。这些都是内存杀手,直接卸载。
apt purge snapd –autoremove
转载请注明出处:https://www.zhujixuan.com/jishujiaocheng/9550.html 商家投稿邮箱:zhujixuanblog@qq.com
