Ubuntu触发系统资源不足的解决方法
首先需要明确是CPU、内存还是磁盘空间不足,使用以下命令快速定位:
top(按q退出)或htop(更直观,需安装:sudo apt install htop),可显示进程的CPU、内存占用排名。df -h(查看各分区使用率,重点关注根分区/或/home),若使用率接近100%需清理;du -sh /* | sort -rh | head -10(列出根目录下最大的10个目录,定位大文件)。free -h(查看可用内存,若“available”列接近0需释放);vmstat 1(监控内存、交换空间实时使用情况)。.deb文件,占用/var/cache/apt/archives/目录。运行sudo apt clean可彻底删除这些缓存(不影响已安装软件),或sudo apt autoclean仅删除过时的包文件。sudo apt autoremove --purge删除旧内核及配置文件(保留当前在用内核),释放/boot分区空间。/tmp/目录下的临时文件可安全删除:sudo rm -rf /tmp/*;系统日志文件(如/var/log/syslog)过大时,可清空内容:sudo truncate -s 0 /var/log/syslog,或用journalctl --vacuum-time=7d保留最近7天的日志。sudo apt remove <软件名>卸载不常用的软件(如旧版办公软件、游戏),或sudo apt autoremove删除自动安装的依赖包(这些包在软件卸载后无用)。rm -rf ~/.cache/thumbnails/*清理。交换空间(Swap)是硬盘上的虚拟内存,当物理内存不足时,系统会将部分数据转移到Swap中,缓解内存压力。
sudo fallocate -l 4G /swapfile # 创建4G大小的Swap文件(可根据内存大小调整,如8G内存建议4G Swap)
sudo chmod 600 /swapfile # 设置权限(仅root可读写)
sudo mkswap /swapfile # 格式化为Swap格式
sudo swapon /swapfile # 启用Swap
/etc/fstab文件,添加一行/swapfile none swap sw 0 0,重启后自动启用。sudo sysctl vm.swappiness=10 # 临时生效
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效
ps aux(显示所有进程),或htop(更直观),按%CPU或%MEM排序,找出占用高的进程(如未使用的浏览器标签、后台下载任务)。kill -9 <PID>终止指定进程(PID从ps aux或htop中获取),注意不要终止系统关键进程(如systemd、sshd)。systemctl管理服务,如关闭蓝牙服务(若未使用):sudo systemctl stop bluetooth,并禁用开机自启:sudo systemctl disable bluetooth。AbiWord替代LibreOffice(文字处理)、PCManFM替代Nautilus(文件管理)、LXDE/XFCE替代GNOME(桌面环境),降低系统资源消耗。若以上方法均无法解决资源不足问题,需考虑硬件升级: