优化Linux系统(针对FetchLinux环境的一般性策略)
由于FetchLinux未作为标准发行版有专门优化文档,以下是基于通用Linux系统的优化方法,适用于FetchLinux或其他Linux环境:
选择较新的稳定内核版本(如5.15及以上),新内核通常包含CPU调度、内存管理、文件系统驱动等方面的性能优化及硬件支持;通过lsmod命令查看已加载内核模块,禁用未使用的模块(如蓝牙、旧式存储控制器驱动),减少内核内存占用。
noatime(不更新文件访问时间)、nodiratime(不更新目录访问时间)减少磁盘I/O;对于ext4可加data=writeback(提升写入性能,但牺牲部分数据安全性);XFS可加noatime,nodiratime,allocsize=1G(预分配大块空间,减少碎片)。nice(范围-20~19,数值越小优先级越高)启动高优先级进程(如数据库服务),renice调整运行中进程优先级;chrt命令设置为实时调度策略(如SCHED_FIFO或SCHED_RR);vm.swappiness(默认60,建议设为10~30,减少内存交换到Swap的概率)、kernel.sched_child_runs_first(设为1,让子进程先运行,提升多进程应用性能)。free -h查看Swap使用情况,若长期占用过高,可临时关闭Swap(swapoff -a)或永久禁用(注释/etc/fstab中的Swap行);sync && echo 3 > /proc/sys/vm/drop_caches清理页缓存、目录项和inode缓存),但生产环境需谨慎(避免频繁清理导致性能波动);valgrind工具检测应用程序内存泄漏(如valgrind --leak-check=full ./your_program),及时修复问题。discard(SSD启用TRIM,延长寿命)、noatime(减少访问时间更新);根据磁盘类型选择调度器:
none(取消调度,由SSD自身处理)或noop(无调度);deadline(保证读写延迟)或cfq(公平队列,适合多任务);echo deadline > /sys/block/sda/queue/scheduler(sda为磁盘设备名)。调整脏页比例(内存中未写入磁盘的数据):
vm.dirty_ratio(默认20%,内存占用达20%时触发写入):设为10~15;vm.dirty_background_ratio(默认10%,后台异步写入阈值):设为5~10;sysctl命令修改(如sysctl -w vm.dirty_ratio=10),持久化需写入/etc/sysctl.conf。调整内核网络参数(/etc/sysctl.conf):
net.ipv4.tcp_wmem = 4096 16384 4194304(最小、默认、最大)、net.ipv4.tcp_rmem = 4096 87380 4194304;net.ipv4.tcp_tw_reuse = 1(快速回收TIME_WAIT连接);net.ipv4.tcp_fin_timeout = 30(TIME_WAIT状态超时30秒);sysctl -p生效。ethtool)调整(如ethtool -C eth0 rx-usecs 100,每100微秒合并一次中断);bonding驱动将多个网卡绑定为一个逻辑接口(如mode=4负载均衡),提升带宽和冗余。关闭不必要的系统服务(如cups打印服务、bluetooth蓝牙服务),使用systemctl disable <service_name>禁用,systemctl stop <service_name>停止;通过chkconfig(CentOS)或systemctl list-unit-files查看服务状态。
top(进程CPU/内存占用)、htop(增强版top,支持颜色和树状视图)、vmstat 1(系统整体状态,1秒刷新一次)、iostat -x 1(磁盘I/O详情)、netstat -tulnp(网络连接与端口监听);sar -u 1 3(CPU历史数据)、sar -r 1 3(内存历史数据)、sar -d 1 3(磁盘历史数据);perf top(实时查看热点函数)、strace -p <pid>(跟踪进程系统调用)。使用Tuned工具(Linux自带)进行场景化优化:
yum install tuned -y(CentOS)或apt install tuned -y(Ubuntu);tuned-adm profile throughput-performance(提升吞吐量,适合数据库服务器)、tuned-adm profile latency-performance(降低延迟,适合Web服务器);/etc/tuned/<profile>/tuned.conf调整参数。cpufrequtils工具,设为performance模式,固定频率);