一、清理无用软件包与缓存
定期清理系统中无用的软件包和缓存是释放磁盘空间、提升资源回收利用率的基础操作。使用apt-get clean命令清除APT软件包缓存(位于/var/cache/apt/archives/目录),删除已下载的安装包文件;apt-get autoclean命令清理旧版本的软件包缓存(仅保留当前可用的版本);apt-get autoremove命令移除不再被任何已安装软件包依赖的冗余依赖包。此外,可使用deborphan工具查找并删除孤立软件包(无主程序的依赖包),进一步释放空间。
二、优化内存管理与回收策略
/etc/sysctl.conf文件优化内存回收行为。例如,设置vm.swappiness=10(默认值通常为60),降低内核将物理内存数据交换到Swap空间的倾向,减少Swap使用频率(适用于内存充足的系统);设置vm.vfs_cache_pressure=50(默认值为100),增加内核回收文件系统缓存(如目录项、inode缓存)的积极性,释放更多内存供应用程序使用。修改后运行sudo sysctl -p使设置生效。zram-tools包并配置/etc/default/zramswap文件启用(例如设置zram_swap_size=2G,表示分配2GB内存作为压缩交换空间)。sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches命令。其中sync将缓存数据写入磁盘,echo 3清理页面缓存、目录项缓存和inode缓存(不影响正在运行的程序)。三、监控与分析资源使用情况
实时监控系统资源使用情况是发现瓶颈、针对性优化的关键。常用工具包括:
top/htop:实时显示进程的CPU、内存占用情况,按M键按内存排序,找出占用内存高的进程;vmstat 1:每秒刷新虚拟内存统计信息(如内存使用、Swap使用、IO等待),关注si(Swap In)、so(Swap Out)列,若数值持续较高,说明内存不足;iostat 1:监控磁盘IO情况(如读写速率、IO等待时间),关注%util列(磁盘利用率),若接近100%,说明磁盘存在瓶颈;free -h:查看内存和Swap的使用情况(以易读的单位显示),重点关注available列(可用内存,包括缓存和缓冲区的可回收部分)。四、优化磁盘空间使用
/var/log/目录下的syslog、auth.log)会随时间增长占用大量空间。可使用logrotate工具(默认已安装)自动管理日志(如按大小或时间分割、压缩旧日志、删除超过保留期限的日志);或手动删除旧日志文件(如sudo rm /var/log/*.log.*,注意备份重要日志)。du -sh /path/to/directory命令查看指定目录的大小(如du -sh /home查看/home目录总大小);使用find . -type f -size +100M -exec ls -lh {} \;命令查找当前目录及子目录中大于100MB的文件(+100M表示大于100MB,可调整阈值),确认无用后删除。gzip(快速压缩)、bzip2(高压缩比)或lzma(极高压缩比)工具压缩。例如,gzip large_file将生成large_file.gz(压缩后文件大小约为原文件的1/3~1/10),节省磁盘空间。五、调整系统服务与进程管理
systemctl list-units --types service命令列出所有正在运行的服务,禁用非必需的服务(如cups打印服务、bluetooth蓝牙服务,若未使用)。例如,sudo systemctl disable cups停止并禁用cups服务,减少后台进程对内存和CPU的占用。ulimit命令或cgroups(控制组)限制单个进程的资源使用(如CPU、内存)。例如,ulimit -u 100限制当前用户最多启动100个进程;或通过cgroups创建资源限制组(如memory.limit_in_bytes=2G),防止某个进程过度占用资源导致系统崩溃。六、升级硬件与优化存储配置
free -h显示available内存接近0,vmstat 1显示si/so数值高),升级内存是最有效的提升资源利用率的方法(如将8GB内存升级至16GB),减少Swap使用,提高应用程序运行效率。/根分区空间不足,/home分区空间充足),可使用gparted工具调整分区大小(如缩小/home分区,扩大/分区),或迁移部分数据(如将/var目录迁移到单独的分区),缓解空间压力。