Ubuntu 虚拟机内存不足的排查与解决
一、先快速定位问题
free -h、swapon --show、top/htop,确认是否物理内存吃满、swap 是否启用且足够。df -h。若根分区或 /var 占用接近 100%,通常是磁盘空间问题,并非内存不足。二、立即可做的缓解措施(不改配置)
sudo apt-get autoclean、sudo apt-get cleansudo journalctl --vacuum-time=1wvm.swappiness(默认 60,建议 10–30):sudo sysctl -w vm.swappiness=10/etc/sysctl.conf,加入 vm.swappiness=10 后执行 sudo sysctl -psudo apt install zram-configsudo fallocate -l 4G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfile && sudo swapon /swapfile/etc/fstab 追加 /swapfile none swap sw 0 0free -h 与 top/htop 的变化。三、根本解决 增加虚拟机内存分配
free -h,确认总内存已增加。四、已无法进入系统时的应急与修复
reboot。reboot 并用 df -h 验证。五、配置与运维建议
zram-config 启用,作为第一层交换,减少对磁盘 swap 的依赖。vm.swappiness 等参数写入 /etc/sysctl.conf;日常用 free -h、htop、journalctl 做容量与性能监控与预警。