清理无用软件包与缓存
定期清理APT缓存、无用依赖包及残余配置文件是释放磁盘空间、回收系统资源的基础操作。使用sudo apt clean删除/var/cache/apt/archives目录下所有已下载的软件包;sudo apt autoclean清理不再可用的旧软件包缓存(仅保留当前可用的包);sudo apt autoremove删除因安装软件而产生的不再需要的依赖包。此外,通过dpkg --list | grep "rc "找出残留配置文件的软件包,再用sudo dpkg --purge <package-name>彻底删除,避免配置文件占用空间。
优化内存管理与回收
free -m查看内存使用情况(重点关注“available”列,代表可用内存)。若需临时释放页缓存、目录项缓存或inode缓存,可执行echo 1 | sudo tee /proc/sys/vm/drop_caches(释放页缓存)、echo 2 | sudo tee /proc/sys/vm/drop_caches(释放dentries和inodes缓存)、echo 3 | sudo tee /proc/sys/vm/drop_caches(释放所有缓存)。注意:此操作不会影响正在运行的程序,仅释放未使用的缓存。/etc/sysctl.conf文件优化内存管理策略。例如,设置vm.swappiness=10(降低内核使用Swap分区的倾向,数值越小越优先使用物理内存,建议10-30之间);vm.vfs_cache_pressure=200(提高文件系统缓存的回收频率,避免过多缓存占用内存)。修改后执行sudo sysctl -p使配置生效。top(实时显示进程内存占用,按“M”键按内存排序)、htop(更直观的进程监控工具,需安装:sudo apt install htop)或free -h(以人类可读格式显示内存使用情况)监控内存,识别占用过高内存的进程(如数据库、Web服务器),必要时终止异常进程(kill -9 <PID>)。磁盘空间与I/O优化
journalctl --vacuum-time=7d删除7天前的日志(需systemd版本≥226),或手动删除/var/log目录下旧日志文件(如rm -rf /var/log/*.gz压缩日志)。/etc/fstab文件,在挂载点选项中添加noatime(禁用文件访问时间更新,减少磁盘写入)和nodiratime(禁用目录访问时间更新),例如:UUID=xxxx-xxxx / ext4 defaults,noatime,nodiratime 0 1。修改后执行sudo mount -o remount /重新挂载。noop(无调度,适合闪存设备)或deadline(低延迟,适合高并发I/O)调度器;对于HDD,使用cfq(完全公平队列,适合单线程读写)。执行echo noop | sudo tee /sys/block/sda/queue/scheduler(sda为磁盘设备名,可通过lsblk查看)临时修改,修改/etc/default/grub中的GRUB_CMDLINE_LINUX参数(如GRUB_CMDLINE_LINUX="quiet splash elevator=noop")并执行sudo update-grub永久生效。内核参数调优
内核参数直接影响系统资源分配与性能。除上述提到的vm.swappiness、vm.vfs_cache_pressure外,还可调整以下参数:
net.core.somaxconn:增加TCP连接队列长度(默认128),适合高并发服务器(如Web服务器),设置为65535可减少连接拒绝。net.ipv4.tcp_max_syn_backlog:增加SYN连接队列长度(默认1024),避免SYN Flood攻击导致连接失败,设置为65535。/etc/sysctl.conf文件添加上述参数,执行sudo sysctl -p使配置生效。服务与进程管理
systemctl list-units --type=service查看所有运行中的服务,停止并禁用非必需服务(如bluetooth、cups、avahi-daemon),执行sudo systemctl stop <service-name>停止服务,sudo systemctl disable <service-name>禁用开机自启。systemd-analyze blame查看开机启动时间较长的服务,通过sudo systemctl disable <service-name>禁用不必要的启动项,缩短开机时间。监控与持续优化
定期使用监控工具跟踪系统性能,及时发现瓶颈并调整优化策略:
top(实时进程监控)、free -h(内存使用)、df -h(磁盘空间)。iostat -x 1(查看磁盘读写速率、I/O等待时间,需安装sysstat包)、iotop(按进程显示磁盘I/O,需安装iotop包)。netstat -tulnp(查看网络连接状态)、ss -s(统计套接字信息,替代netstat的现代工具)。