问题描述
在 Linux 系统中执行如下命令时:
yum install memcached php-memcache
安装过程中突然终止,并提示:
Killed
原因分析
这种情况通常是由于系统内存不足,且未启用 swap 交换空间导致的。Linux 在内存不足时,会启动 OOM Killer(Out-Of-Memory Killer)机制,强制终止占用资源较多的进程,比如 yum。
如何确认
执行以下命令查看 swap 状态:
free -h
如果输出中 Swap 一行为 0B,说明系统未启用 swap:
Swap: 0B 0B 0B
解决方案:添加 swap 空间
你可以通过以下命令添加 2GB 的 swap:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h
设置开机自动挂载 swap(可选)
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
再次执行安装命令
swap 启用后,再次运行安装命令即可正常完成:
sudo yum install memcached php-memcache
总结
- Killed 通常是内存不足引起的。
- 确保系统配置了足够的 swap 空间,可以显著提高稳定性。
- 推荐所有内存低于 2GB 的 VPS 或虚拟机默认添加 swap。