Ubuntu内存清理实用技巧
在清理前,需明确内存占用状态。常用命令:
free -h:直观显示总内存、已用/空闲内存、缓冲区及缓存占用(推荐)。top/htop:动态查看进程级内存消耗(htop需安装,界面更友好)。Ubuntu会自动利用空闲内存作为缓存(提升文件读取速度),但过量缓存可能占用内存。通过以下命令释放:
sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_cachessudo sync && echo 2 | sudo tee /proc/sys/vm/drop_cachessudo sync && echo 3 | sudo tee /proc/sys/vm/drop_cachessync命令用于将未写入磁盘的数据同步到存储设备,避免数据丢失。sudo apt-get clean(删除所有已下载的软件包文件,释放/var/cache/apt/archives空间);sudo apt-get autoclean(仅删除旧版本的软件包缓存)。sudo apt-get autoremove(移除系统不再需要的依赖包,如卸载软件后残留的库文件)。uname -r(避免删除正在使用的版本);dpkg --list | grep linux-image;linux-image-5.15.0-86-generic):sudo apt-get purge linux-image-<version>。sudo apt install bleachbit;运行:bleachbit(图形界面选择清理项)。sudo add-apt-repository ppa:gerardpuig/ppa && sudo apt update && sudo apt install ubuntu-cleaner。swappiness参数控制内核使用交换空间(Swap)的倾向(默认60,值越低越依赖物理内存)。编辑/etc/sysctl.conf文件,添加vm.swappiness=10(永久生效);或临时调整:sudo sysctl vm.swappiness=10。systemctl list-unit-files --type=service;禁用服务:sudo systemctl disable <service_name>(如bluetooth、cups等非必需服务)。ps aux查看进程,终止占用高的无用进程(kill -9 <PID>,谨慎操作)。编写脚本定期自动清理内存,例如:
#!/bin/bash
memfree=$(free -m | awk '{print $4}')
max=4096 # 设定内存阈值(MB)
if [[ $memfree -le $max ]]; then
echo "Memory is low. Cleaning up..."
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
fi
保存为memory-monitor.sh,赋予执行权限:chmod +x memory-monitor.sh;设置定时任务(每天凌晨2点运行):crontab -e,添加0 2 * * * /path/to/memory-monitor.sh。
sudo apt install xfce4)或LXDE(sudo apt install lxde),减少内存占用。firefox -profile ManageFirefox -clear-cache清理缓存;Chrome使用chrome://settings/clearBrowserData。注意事项:
top查看进程重要性)。