Linux系统性能优化通用指南(适用于多数发行版,包括“Dopra”可能涉及的场景)
在优化前,需通过工具明确性能瓶颈所在。常用工具包括:
top(查看进程CPU/内存占用)、htop(增强版top,支持颜色和树状视图)、vmstat(查看内存、CPU、I/O统计)、iostat(查看磁盘I/O详情)、netstat/ss(查看网络连接状态)。sar(系统活动报告)、Prometheus+Grafana(可视化监控)。systemctl list-unit-files --type=service查看所有服务,通过systemctl disable <service_name>禁用不需要的服务(如cups打印服务、bluetooth蓝牙服务等)。top或htop识别占用CPU/内存过高的进程(如%CPU或%MEM超过50%),通过kill -9 <PID>终止异常进程(需确认进程无关键用途)。swappiness参数:swappiness控制内核使用交换分区(Swap)的倾向,值越小越倾向于使用物理内存。编辑/etc/sysctl.conf,添加vm.swappiness=10(默认60),执行sysctl -p生效(适用于内存充足的服务器,减少Swap交换带来的性能损耗)。free -m查看缓存(buff/cache列),若缓存过高,可使用sync; echo 3 > /proc/sys/vm/drop_caches清理(不影响正在运行的程序)。Transparent HugePages(THP)可减少内存碎片,编辑/etc/default/grub添加transparent_hugepage=always,更新GRUB后重启。taskset命令,如taskset -c 0,1 ./my_process(将进程绑定到CPU 0和1)。nice启动低优先级进程(nice -n 10 ./my_process,值越大优先级越低),或用renice调整运行中进程的优先级(renice -n -5 -p 1234,值越小优先级越高)。chrt命令设置实时调度策略(如chrt -f 99 ./my_process,-f表示FIFO实时策略)。/etc/fstab中为文件系统添加noatime(不更新文件访问时间)和nodiratime(不更新目录访问时间)选项,如/dev/sda1 / ext4 defaults,noatime,nodiratime 0 1,减少磁盘写入次数。noop或deadline,HDD用cfq),编辑/boot/grub/grub.cfg修改elevator=noop,更新GRUB后重启。iostat -x 1查看磁盘I/O负载,若await(平均I/O等待时间)过高,可调整vm.dirty_ratio(脏页比例)和vm.dirty_background_ratio(后台刷脏页比例),如vm.dirty_ratio=15、vm.dirty_background_ratio=5。/etc/sysctl.conf,优化以下参数:
net.ipv4.tcp_tw_reuse=1(复用TIME_WAIT状态的连接,减少端口占用);net.ipv4.tcp_max_syn_backlog=8192(增加SYN队列长度,应对高并发连接);net.core.somaxconn=1024(增加监听队列长度,避免连接被拒绝)。sysctl -p生效。ethtool -l <interface>查看队列数,用ethtool -L <interface> combined <num>启用多队列(如ethtool -L eth0 combined 4)。iftop(查看实时流量)、nload(监控带宽使用)工具,识别高带宽占用的进程或IP。5.15+),新内核通常包含性能优化和bug修复(通过uname -r查看当前内核版本,使用yum update kernel或apt upgrade linux-image更新)。ext4适合通用场景,XFS适合大文件和高并发),挂载时添加noatime、nodiratime选项;定期运行fsck检查文件系统完整性(需卸载分区或进入单用户模式)。Permissive模式(setenforce 0)或修改/etc/selinux/config中的SELINUX=permissive,减少SELinux带来的性能开销(需注意安全性)。free -m中swap列占用高),增加内存是最有效的优化方式。/etc、/home、数据库),防止误操作导致数据丢失。top监控CPU使用率),避免过度优化。以上优化技巧覆盖了Linux系统的主要性能维度,可根据“Dopra”系统的具体环境(如硬件配置、应用类型)选择适用的方法。