活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Slackware系统性能全面优化指南 提升古老Linux发行版的运行速度与响应能力 让你的计算机体验更加流畅 适用于桌面和服务器环境

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-10-1 14:10:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Slackware Linux作为最古老的存活Linux发行版之一,自1993年由Patrick Volkerding创建以来,以其简洁性、稳定性和遵循UNIX传统而闻名。然而,作为一个古老的发行版,Slackware可能不像现代Linux发行版那样即装即用,需要进行一些调整才能发挥最佳性能。本文将全面介绍如何优化Slackware系统的性能,适用于桌面和服务器环境,帮助你充分挖掘这个经典发行版的潜力。

1. 系统评估与监控

在开始优化之前,首先需要了解当前系统的性能状况和潜在瓶颈。以下是评估和监控Slackware系统性能的工具和方法:

1.1 系统信息收集
  1. # 查看系统基本信息
  2. uname -a
  3. cat /etc/slackware-version
  4. lsb_release -a  # 如果安装了lsb_release
  5. # 查看硬件信息
  6. lscpu
  7. lspci
  8. lsusb
  9. free -h
  10. df -h
  11. fdisk -l
复制代码

1.2 性能监控工具
  1. # 安装常用监控工具(如果尚未安装)
  2. slackpkg install sysstat procps-ng htop iotop
  3. # 实时系统监控
  4. top
  5. htop  # 更友好的进程查看器
  6. # CPU使用率统计
  7. mpstat 1 5  # 每1秒采集一次,共5次
  8. # 内存使用情况
  9. vmstat 1 5
  10. free -h
  11. # 磁盘I/O统计
  12. iostat -xz 1 5
  13. iotop
  14. # 网络统计
  15. sar -n DEV 1 5
  16. iftop
  17. nload
  18. # 系统活动报告
  19. sar -A > system_activity_report.txt
复制代码

1.3 启动时间和服务分析
  1. # 查看系统启动时间
  2. systemd-analyze  # 如果使用systemd
  3. # 或者查看传统启动日志
  4. dmesg | grep kernel
  5. # 查看运行的服务
  6. ps aux
  7. service --status-all
复制代码

1.4 性能瓶颈识别

通过上述工具收集的数据,可以识别系统的主要瓶颈:

• CPU瓶颈:高负载、高上下文切换、高等待时间
• 内存瓶颈:高内存使用率、频繁的交换活动
• 磁盘I/O瓶颈:高等待时间、低吞吐量
• 网络瓶颈:高延迟、丢包、带宽限制

识别瓶颈后,可以有针对性地进行优化。

2. 内核优化

Slackware允许用户定制内核以满足特定需求,这是提高系统性能的关键步骤。

2.1 内核升级

Slackware通常提供稳定的内核版本,但用户可以根据需要升级到更新的内核:
  1. # 检查当前内核版本
  2. uname -r
  3. # 安装内核源码(如果尚未安装)
  4. slackpkg install kernel-source
  5. # 下载并编译新内核(以5.15.0为例)
  6. cd /usr/src
  7. wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
  8. tar xvf linux-5.15.tar.xz
  9. cd linux-5.15
  10. make mrproper
  11. cp /boot/config-$(uname -r) .config  # 使用当前配置作为起点
  12. make oldconfig  # 更新配置以适应新内核
  13. make -j$(nproc)  # 使用所有可用核心编译
  14. make modules_install
  15. make install
复制代码

2.2 内核配置优化

根据系统用途定制内核配置可以显著提高性能:
  1. # 进入内核配置界面
  2. make menuconfig
  3. # 通用优化选项:
  4. # 1. 启用Preemption Model (Preemptible Kernel (Low-Latency Desktop))
  5. #    适用于桌面系统,降低延迟
  6. # 2. 启用Tickless System (Dynamic Ticks)
  7. #    减少定时器中断,提高能效
  8. # 3. 启用Processor type and features -> Performance events
  9. #    提供更好的性能监控
  10. # 4. 禁用不必要的驱动和功能,减少内核大小
  11. # 5. 启用内核压缩(如LZ4或LZO)以加快启动速度
复制代码

2.3 内核参数调优

通过修改/etc/sysctl.conf文件调整内核参数:
  1. # 编辑sysctl.conf
  2. nano /etc/sysctl.conf
  3. # 添加以下优化参数
  4. # 虚拟内存管理
  5. vm.swappiness=10  # 减少交换倾向,适用于有足够内存的系统
  6. vm.vfs_cache_pressure=50  # 增加inode/dentry缓存保留时间
  7. vm.dirty_ratio=10  # 减少脏页比例
  8. vm.dirty_background_ratio=5  # 降低后台写回阈值
  9. # 网络优化
  10. net.core.rmem_max=16777216  # 增加接收缓冲区大小
  11. net.core.wmem_max=16777216  # 增加发送缓冲区大小
  12. net.ipv4.tcp_rmem="4096 87380 16777216"  # TCP接收缓冲区
  13. net.ipv4.tcp_wmem="4096 65536 16777216"  # TCP发送缓冲区
  14. net.ipv4.tcp_congestion_control=bbr  # 使用BBR拥塞控制算法
  15. net.ipv4.tcp_fastopen=3  # 启用TCP快速打开
  16. # 文件系统优化
  17. fs.file-max=2097152  # 增加文件描述符限制
  18. fs.inotify.max_user_watches=524288  # 增加inotify监视限制
  19. # 应用更改
  20. sysctl -p
复制代码

2.4 启用内核模块自动加载

创建自定义模块加载配置:
  1. # 编辑模块配置文件
  2. nano /etc/modprobe.d/custom.conf
  3. # 添加常用高性能模块
  4. options kvm_intel nested=1  # 如果使用Intel VT-x
  5. options snd_hda_intel power_save=0  # 禁用音频节能,减少延迟
复制代码

3. 启动过程优化

系统启动速度是用户体验的重要部分,以下是如何优化Slackware的启动过程:

3.1 分析启动时间
  1. # 如果使用systemd
  2. systemd-analyze time
  3. systemd-analyze blame  # 查看启动最慢的服务
  4. systemd-analyze critical-chain  # 查看关键启动链
  5. # 对于传统SysV init
  6. systemd-analyze  # 不适用,可以查看启动日志
  7. dmesg | grep -i "init"
复制代码

3.2 优化启动服务
  1. # 查看运行的服务
  2. ls /etc/rc.d/rc*.d/
  3. # 禁用不必要的服务(以蓝牙为例)
  4. chmod -x /etc/rc.d/rc.bluetooth
  5. # 或者使用rcconf工具(如果安装)
  6. slackpkg install rcconf
  7. rcconf
复制代码

3.3 并行启动服务

Slackware默认使用串行启动服务,可以修改为并行启动:
  1. # 编辑rc.M文件
  2. nano /etc/rc.d/rc.M
  3. # 找到类似以下行
  4. # /etc/rc.d/rc.yp start
  5. # /etc/rc.d/rc.nfsd start
  6. # /etc/rc.d/rc.samba start
  7. # 修改为后台启动
  8. /etc/rc.d/rc.yp start &
  9. /etc/rc.d/rc.nfsd start &
  10. /etc/rc.d/rc.samba start &
  11. wait
复制代码

3.4 优化文件系统检查

减少启动时的文件系统检查时间:
  1. # 编辑fstab
  2. nano /etc/fstab
  3. # 确保根分区和其他分区有适当的dump和pass选项
  4. # 例如:
  5. /dev/sda1 / ext4 defaults,noatime 0 1
  6. /dev/sda2 /home ext4 defaults,noatime 0 2
  7. # noatime选项减少磁盘写入,提高性能
  8. # 最后一个数字是fsck顺序,0表示不检查,1是根分区,2是其他分区
复制代码

3.5 使用initramfs加速启动

创建和使用initramfs可以加速启动过程:
  1. # 安装mkinitrd
  2. slackpkg install mkinitrd
  3. # 创建initramfs
  4. mkinitrd -c -k 4.19.0 -m ext4 -f ext4 -r /dev/sda1
  5. # 配置引导加载程序(以lilo为例)
  6. nano /etc/lilo.conf
  7. # 添加或修改initrd行
  8. image = /boot/vmlinuz
  9.   initrd = /boot/initrd.gz
  10.   root = /dev/sda1
  11.   label = Slackware
  12.   read-only
  13. # 更新lilo
  14. lilo
复制代码

4. 文件系统优化

选择合适的文件系统并进行优化可以显著提高系统性能,特别是在磁盘I/O密集型应用中。

4.1 选择合适的文件系统

Slackware支持多种文件系统,各有优缺点:

• ext4:稳定可靠,广泛使用,适合大多数场景
• XFS:高性能,适合大文件和高I/O负载,如媒体服务器
• Btrfs:现代特性丰富,如快照、压缩,但相对较新
• JFS:轻量级,适合嵌入式系统或旧硬件

4.2 文件系统创建优化

创建文件系统时进行优化:
  1. # 创建ext4文件系统(适用于SSD)
  2. mkfs.ext4 /dev/sda1 -L root -m 1 -E stride=128,stripe-width=128
  3. # 创建XFS文件系统(适用于大存储)
  4. mkfs.xfs /dev/sda1 -L storage
  5. # 创建Btrfs文件系统(启用压缩)
  6. mkfs.btrfs /dev/sda1 -L storage
复制代码

4.3 挂载选项优化

修改/etc/fstab以优化文件系统挂载选项:
  1. # 编辑fstab
  2. nano /etc/fstab
  3. # ext4优化选项(适用于SSD)
  4. /dev/sda1 / ext4 defaults,noatime,discard,data=writeback 0 1
  5. # XFS优化选项
  6. /dev/sdb1 /storage xfs defaults,noatime,largeio,inode64 0 2
  7. # Btrfs优化选项(启用压缩)
  8. /dev/sdc1 /backup btrfs defaults,noatime,compress=lzo 0 2
复制代码

常见挂载选项说明:

• noatime:不更新文件访问时间,减少磁盘写入
• nodiratime:不更新目录访问时间
• discard:启用TRIM支持(适用于SSD)
• data=writeback:减少数据一致性检查,提高性能(有风险)
• compress=lzo:启用LZO压缩(Btrfs)

4.4 文件系统维护

定期维护文件系统以保持性能:
  1. # 检查文件系统
  2. fsck -t ext4 /dev/sda1
  3. # 整理ext4文件系统
  4. e4defrag /dev/sda1
  5. # 检查XFS文件系统
  6. xfs_repair -n /dev/sda1  # 检查不修复
  7. xfs_repair /dev/sda1  # 修复
  8. # Btrfs平衡和清理
  9. btrfs filesystem balance /mount/point
  10. btrfs filesystem defrag -r /mount/point
  11. btrfs filesystem sync /mount/point
复制代码

4.5 优化I/O调度器

根据存储设备类型选择合适的I/O调度器:
  1. # 查看当前调度器
  2. cat /sys/block/sda/queue/scheduler
  3. # 临时更改调度器(以noop为例,适合SSD或虚拟机)
  4. echo noop > /sys/block/sda/queue/scheduler
  5. # 永久更改(创建udev规则)
  6. nano /etc/udev/rules.d/60-io-scheduler.rules
  7. # 添加以下内容
  8. ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
  9. ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="deadline"
  10. # 重新加载udev规则
  11. udevadm control --reload-rules
复制代码

5. 内存管理优化

内存管理对系统性能至关重要,特别是在内存有限的环境中。

5.1 监控内存使用
  1. # 查看内存使用情况
  2. free -h
  3. cat /proc/meminfo
  4. # 查看进程内存使用
  5. ps aux --sort=-%mem | head -10
  6. # 监控内存使用情况
  7. vmstat 1 10
复制代码

5.2 交换空间优化
  1. # 查看当前交换空间
  2. swapon --show
  3. free -h
  4. # 创建交换文件(例如4GB)
  5. fallocate -l 4G /swapfile
  6. chmod 600 /swapfile
  7. mkswap /swapfile
  8. swapon /swapfile
  9. # 添加到fstab使其永久生效
  10. echo '/swapfile none swap sw 0 0' >> /etc/fstab
  11. # 调整交换参数(swappiness)
  12. sysctl vm.swappiness=10
  13. echo 'vm.swappiness=10' >> /etc/sysctl.conf
  14. # 调整交换压力(vfs_cache_pressure)
  15. sysctl vm.vfs_cache_pressure=50
  16. echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf
复制代码

5.3 内存清理
  1. # 清理页面缓存
  2. echo 1 > /proc/sys/vm/drop_caches
  3. # 清理dentries和inodes
  4. echo 2 > /proc/sys/vm/drop_caches
  5. # 清理页面缓存、dentries和inodes
  6. echo 3 > /proc/sys/vm/drop_caches
复制代码

5.4 使用内存缓存工具

安装和使用内存缓存优化工具:
  1. # 安装prelink(预先链接库,减少程序启动时间)
  2. slackpkg install prelink
  3. prelink -avmR
  4. # 使用earlyoom防止内存耗尽(在低内存系统中)
  5. slackpkg install earlyoom
  6. chmod +x /etc/rc.d/rc.earlyoom
  7. /etc/rc.d/rc.earlyoom start
复制代码

5.5 优化内存分配
  1. # 调整内存映射限制
  2. echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
  3. sysctl -p
  4. # 调整内存过载处理
  5. echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf
  6. sysctl -p
复制代码

6. CPU性能优化

优化CPU调度和频率设置可以显著提高系统响应能力。

6.1 监控CPU性能
  1. # 查看CPU信息
  2. lscpu
  3. cat /proc/cpuinfo
  4. # 监控CPU使用率
  5. top
  6. htop
  7. mpstat 1 5
  8. # 查看CPU频率
  9. cpufreq-info
  10. cat /proc/cpuinfo | grep "MHz"
复制代码

6.2 CPU频率调节
  1. # 安装cpufrequtils
  2. slackpkg install cpufrequtils
  3. # 查看可用频率调节器
  4. cpufreq-info
  5. # 设置性能模式(适用于服务器)
  6. cpufreq-set -g performance
  7. # 设置按需调节(适用于笔记本电脑)
  8. cpufreq-set -g ondemand
  9. # 设置省电模式
  10. cpufreq-set -g powersave
  11. # 永久设置(创建sysfsutils配置)
  12. nano /etc/sysfs.conf
  13. # 添加以下内容
  14. devices/system/cpu/cpu0/cpufreq/scaling_governor = performance
复制代码

6.3 CPU亲和性设置

将进程绑定到特定CPU核心以提高性能:
  1. # 查看进程当前运行的CPU
  2. taskset -p <PID>
  3. # 将进程绑定到特定CPU核心
  4. taskset -c 0,1 <command>  # 绑定到核心0和1
  5. taskset -cp 0,1 <PID>     # 绑定现有进程
  6. # 使用numactl控制NUMA系统上的内存分配
  7. slackpkg install numactl
  8. numactl --cpubind=0 --membind=0 <command>
复制代码

6.4 启用CPU微码更新

保持CPU微码最新可以提高稳定性和性能:
  1. # 安装微码更新工具
  2. slackpkg install intel-microcode  # Intel CPU
  3. # 或
  4. slackpkg install amd-ucode        # AMD CPU
  5. # 更新微码
  6. echo 1 > /sys/devices/system/cpu/microcode/reload
复制代码

6.5 优化多核性能
  1. # 调整进程调度器
  2. echo 'kernel.sched_min_granularity_ns=10000000' >> /etc/sysctl.conf
  3. echo 'kernel.sched_wakeup_granularity_ns=15000000' >> /etc/sysctl.conf
  4. sysctl -p
  5. # 启用并行编译(适用于构建软件)
  6. echo 'MAKEFLAGS="-j$(nproc)"' >> /etc/profile.d/makeflags.sh
  7. source /etc/profile.d/makeflags.sh
复制代码

7. 网络性能优化

网络性能优化对于服务器和桌面系统都很重要,特别是对于高延迟或高带宽需求的场景。

7.1 监控网络性能
  1. # 查看网络接口信息
  2. ip addr
  3. ifconfig
  4. # 监控网络流量
  5. iftop
  6. nload
  7. bmon
  8. # 测试网络延迟和带宽
  9. ping google.com
  10. traceroute google.com
  11. iperf3 -c server.example.com
复制代码

7.2 网络接口优化
  1. # 查看网络接口设置
  2. ethtool eth0
  3. # 启用网络接口卸载功能
  4. ethtool -K eth0 gso on
  5. ethtool -K eth0 tso on
  6. ethtool -K eth0 lro on
  7. ethtool -K eth0 gro on
  8. # 调整网络队列长度
  9. ifconfig eth0 txqueuelen 10000
  10. # 永久保存设置(创建网络配置脚本)
  11. nano /etc/rc.d/rc.network_optimizations
  12. # 添加以下内容
  13. #!/bin/sh
  14. ethtool -K eth0 gso on
  15. ethtool -K eth0 tso on
  16. ethtool -K eth0 lro on
  17. ethtool -K eth0 gro on
  18. ifconfig eth0 txqueuelen 10000
  19. # 添加执行权限
  20. chmod +x /etc/rc.d/rc.network_optimizations
复制代码

7.3 TCP/IP协议栈优化
  1. # 编辑sysctl.conf
  2. nano /etc/sysctl.conf
  3. # 添加以下网络优化参数
  4. # 增加TCP缓冲区大小
  5. net.core.rmem_max = 16777216
  6. net.core.wmem_max = 16777216
  7. net.ipv4.tcp_rmem = 4096 87380 16777216
  8. net.ipv4.tcp_wmem = 4096 65536 16777216
  9. # 启用TCP窗口缩放
  10. net.ipv4.tcp_window_scaling = 1
  11. # 启用TCP快速打开
  12. net.ipv4.tcp_fastopen = 3
  13. # 启用BBR拥塞控制算法
  14. net.ipv4.tcp_congestion_control = bbr
  15. net.core.default_qdisc = fq
  16. # 增加最大连接数
  17. net.core.somaxconn = 65535
  18. net.ipv4.tcp_max_syn_backlog = 65535
  19. # TCP连接优化
  20. net.ipv4.tcp_keepalive_time = 600
  21. net.ipv4.tcp_keepalive_intvl = 60
  22. net.ipv4.tcp_keepalive_probes = 10
  23. # 优化网络连接跟踪(如果使用防火墙)
  24. net.netfilter.nf_conntrack_max = 1000000
  25. net.netfilter.nf_conntrack_tcp_timeout_established = 3600
  26. # 应用更改
  27. sysctl -p
复制代码

7.4 DNS优化
  1. # 安装dnsmasq作为本地缓存DNS服务器
  2. slackpkg install dnsmasq
  3. chmod +x /etc/rc.d/rc.dnsmasq
  4. /etc/rc.d/rc.dnsmasq start
  5. # 配置系统使用本地DNS服务器
  6. nano /etc/resolv.conf
  7. # 将nameserver改为本地
  8. nameserver 127.0.0.1
  9. # 添加备用DNS
  10. nameserver 8.8.8.8
  11. nameserver 8.8.4.4
复制代码

7.5 网络服务优化

优化常见网络服务的性能:
  1. # SSH服务优化
  2. nano /etc/ssh/sshd_config
  3. # 添加或修改以下选项
  4. UseDNS no
  5. GSSAPIAuthentication no
  6. MaxStartups 50:30:100
  7. MaxSessions 100
  8. # 重启SSH服务
  9. /etc/rc.d/rc.sshd restart
  10. # NTP服务优化(保持系统时间同步)
  11. slackpkg install ntp
  12. chmod +x /etc/rc.d/rc.ntpd
  13. nano /etc/ntp.conf
  14. # 添加或修改以下选项
  15. server pool.ntp.org iburst
  16. driftfile /var/lib/ntp/drift
  17. restrict default nomodify nopeer noquery limited kod
  18. restrict 127.0.0.1
  19. # 启动NTP服务
  20. /etc/rc.d/rc.ntpd start
复制代码

8. 桌面环境优化

对于使用Slackware作为桌面系统的用户,以下优化可以显著提高用户体验。

8.1 选择轻量级桌面环境

Slackware提供了多种桌面环境选择,不同环境对资源的需求不同:

• KDE Plasma:功能丰富,但资源消耗较大
• Xfce:轻量级,功能适中,适合大多数硬件
• LXQt:超轻量级,适合旧硬件
• MATE:传统GNOME 2的分支,平衡功能和资源使用
  1. # 安装轻量级桌面环境(以Xfce为例)
  2. slackpkg install xfce
  3. slackpkg install slim  # 轻量级登录管理器
  4. # 设置默认启动X11
  5. nano /etc/inittab
  6. # 找到以下行
  7. # id:3:initdefault:
  8. # 修改为
  9. id:4:initdefault:
  10. # 启用slim显示管理器
  11. chmod +x /etc/rc.d/rc.slim
复制代码

8.2 优化显示服务器
  1. # 使用轻量级显示服务器(如Xorg而非Wayland)
  2. # Xorg通常是Slackware的默认选项
  3. # 优化Xorg配置
  4. nano /etc/X11/xorg.conf
  5. # 添加或修改以下部分以提高性能
  6. Section "Device"
  7.     Identifier "Card0"
  8.     Driver "modesetting"  # 或适合您显卡的驱动
  9.     Option "AccelMethod" "glamor"
  10.     Option "DRI" "3"
  11. EndSection
  12. Section "Screen"
  13.     Identifier "Screen0"
  14.     Device "Card0"
  15.     DefaultDepth 24
  16.     SubSection "Display"
  17.         Depth 24
  18.     EndSubSection
  19. EndSection
复制代码

8.3 文件管理器优化
  1. # 以Thunar(Xfce文件管理器)为例
  2. # 禁用预览以提高性能
  3. nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
  4. # 添加或修改以下选项
  5. <property name="misc-thumbnail-mode" type="string" value="NONE"/>
  6. <property name="misc-file-size-binary" type="bool" value="true"/>
复制代码

8.4 应用启动优化
  1. # 使用prelink预链接库
  2. slackpkg install prelink
  3. prelink -avmR
  4. # 添加每日自动预链接任务
  5. echo '#!/bin/sh' > /etc/cron.daily/prelink
  6. echo '/usr/sbin/prelink -avmR' >> /etc/cron.daily/prelink
  7. chmod +x /etc/cron.daily/prelink
复制代码

8.5 系统托盘和后台程序优化
  1. # 禁用不必要的系统托盘程序
  2. # 在Xfce中,可以通过Session and Startup设置管理自动启动程序
  3. xfce4-session-settings
  4. # 或者手动编辑自动启动文件
  5. nano ~/.config/autostart/
  6. # 删除或注释掉不需要的.desktop文件
复制代码

8.6 字体渲染优化
  1. # 安装字体渲染优化工具
  2. slackpkg install fontconfig-infinality
  3. # 配置字体渲染
  4. nano /etc/fonts/conf.d/99-infinality.conf
  5. # 选择适合您的渲染风格
  6. # 例如,Windows风格:
  7. <selectfont>
  8.   <acceptfont>
  9.     <pattern>
  10.       <patelt name="family">
  11.         <string>Helvetica</string>
  12.       </patelt>
  13.     </pattern>
  14.   </acceptfont>
  15. </selectfont>
复制代码

9. 服务器特定优化

对于将Slackware用作服务器的用户,以下优化可以提高服务器性能和稳定性。

9.1 Web服务器优化

以Apache和Nginx为例:
  1. # 安装Web服务器
  2. slackpkg install httpd  # Apache
  3. # 或
  4. slackpkg install nginx # Nginx
  5. # Apache优化
  6. nano /etc/httpd/httpd.conf
  7. # 调整以下参数以提高性能
  8. KeepAlive On
  9. MaxKeepAliveRequests 100
  10. KeepAliveTimeout 5
  11. <IfModule mpm_prefork_module>
  12.     StartServers 5
  13.     MinSpareServers 5
  14.     MaxSpareServers 10
  15.     MaxRequestWorkers 150
  16.     MaxConnectionsPerChild 0
  17. </IfModule>
  18. # 启用缓存模块
  19. LoadModule cache_module lib/httpd/modules/mod_cache.so
  20. LoadModule cache_disk_module lib/httpd/modules/mod_cache_disk.so
  21. # 配置缓存
  22. <IfModule mod_cache_disk.c>
  23.     CacheRoot /var/cache/httpd
  24.     CacheEnable disk /
  25.     CacheDirLevels 2
  26.     CacheDirLength 1
  27. </IfModule>
  28. # Nginx优化
  29. nano /etc/nginx/nginx.conf
  30. # 调整以下参数
  31. worker_processes auto;
  32. worker_rlimit_nofile 100000;
  33. events {
  34.     worker_connections 2048;
  35.     use epoll;
  36.     multi_accept on;
  37. }
  38. # 配置缓存
  39. http {
  40.     open_file_cache max=200000 inactive=20s;
  41.     open_file_cache_valid 30s;
  42.     open_file_cache_min_uses 2;
  43.     open_file_cache_errors on;
  44. }
复制代码

9.2 数据库服务器优化

以MariaDB/MySQL为例:
  1. # 安装MariaDB
  2. slackpkg install mariadb
  3. # 初始化数据库
  4. mysql_install_db --user=mysql --datadir=/var/lib/mysql
  5. # 启动服务
  6. chmod +x /etc/rc.d/rc.mysqld
  7. /etc/rc.d/rc.mysqld start
  8. # 安全配置
  9. mysql_secure_installation
  10. # 优化配置
  11. nano /etc/my.cnf
  12. # 添加以下优化参数
  13. [mysqld]
  14. # 缓冲区优化
  15. innodb_buffer_pool_size = 2G  # 根据可用内存调整
  16. key_buffer_size = 256M
  17. query_cache_size = 128M
  18. query_cache_type = 1
  19. # 连接优化
  20. max_connections = 200
  21. max_connect_errors = 100000
  22. thread_cache_size = 8
  23. # InnoDB优化
  24. innodb_log_file_size = 256M
  25. innodb_log_buffer_size = 8M
  26. innodb_flush_log_at_trx_commit = 2
  27. innodb_flush_method = O_DIRECT
  28. innodb_file_per_table = 1
  29. # 重启MySQL服务
  30. /etc/rc.d/rc.mysqld restart
复制代码

9.3 文件服务器优化

以NFS和Samba为例:
  1. # 安装NFS服务器
  2. slackpkg install nfs-utils
  3. # 配置NFS
  4. nano /etc/exports
  5. # 添加共享目录
  6. /share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
  7. # 优化NFS性能
  8. nano /etc/sysctl.conf
  9. # 添加以下参数
  10. sunrpc.tcp_slot_table_entries = 128
  11. sunrpc.udp_slot_table_entries = 128
  12. fs.nfs.nlm_tcpport = 32768
  13. fs.nfs.nlm_udpport = 32768
  14. # 启动NFS服务
  15. chmod +x /etc/rc.d/rc.nfsd
  16. /etc/rc.d/rc.nfsd start
  17. # 安装Samba
  18. slackpkg install samba
  19. # 配置Samba
  20. nano /etc/samba/smb.conf
  21. # 添加以下优化参数
  22. [global]
  23.    workgroup = WORKGROUP
  24.    server string = Samba Server
  25.    netbios name = SERVER
  26.    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
  27.    read raw = yes
  28.    write raw = yes
  29.    max xmit = 65535
  30.    dead time = 15
  31.    getwd cache = yes
  32.    lpq cache = 30
  33. # 启动Samba服务
  34. chmod +x /etc/rc.d/rc.samba
  35. /etc/rc.d/rc.samba start
复制代码

9.4 邮件服务器优化

以Postfix为例:
  1. # 安装Postfix
  2. slackpkg install postfix
  3. # 配置Postfix
  4. nano /etc/postfix/main.cf
  5. # 添加以下优化参数
  6. # 性能优化
  7. smtpd_client_connection_count_limit = 30
  8. smtpd_client_connection_rate_limit = 30
  9. smtpd_client_message_rate_limit = 30
  10. queue_directory = /var/spool/postfix
  11. command_directory = /usr/sbin
  12. daemon_directory = /usr/libexec/postfix
  13. data_directory = /var/lib/postfix
  14. mail_owner = postfix
  15. default_privs = nobody
  16. inet_interfaces = all
  17. mydestination = $myhostname, localhost.$mydomain, localhost
  18. unknown_local_recipient_reject_code = 550
  19. mynetworks = 127.0.0.0/8, 192.168.1.0/24
  20. alias_maps = hash:/etc/aliases
  21. alias_database = hash:/etc/aliases
  22. home_mailbox = Maildir/
  23. debugger_command =
  24.      PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
  25.      ddd $daemon_directory/$process_name $process_id & sleep 5
  26. sendmail_path = /usr/sbin/sendmail
  27. newaliases_path = /usr/bin/newaliases
  28. mailq_path = /usr/bin/mailq
  29. setgid_group = postdrop
  30. html_directory = no
  31. manpage_directory = /usr/local/man
  32. sample_directory = /etc/postfix
  33. readme_directory = no
  34. # 启动Postfix服务
  35. chmod +x /etc/rc.d/rc.postfix
  36. /etc/rc.d/rc.postfix start
复制代码

9.5 服务器监控和日志管理
  1. # 安装监控工具
  2. slackpkg install sysstat
  3. slackpkg install logrotate
  4. # 配置sysstat收集系统性能数据
  5. nano /etc/sysconfig/sysstat
  6. # 启用数据收集
  7. ENABLED="true"
  8. # 配置日志轮转
  9. nano /etc/logrotate.conf
  10. # 添加以下优化参数
  11. # 每周轮转日志
  12. weekly
  13. # 保留4周的日志
  14. rotate 4
  15. # 压缩旧日志
  16. compress
  17. # 延迟压缩
  18. delaycompress
  19. # 忽略空日志文件
  20. missingok
  21. # 不在轮转时显示错误
  22. notifempty
  23. # 创建新的空日志文件
  24. create 640 root adm
  25. # 启动sysstat
  26. chmod +x /etc/rc.d/rc.sysstat
  27. /etc/rc.d/rc.sysstat start
复制代码

10. 定期维护

保持系统性能需要定期维护,以下是一些关键的维护任务。

10.1 系统更新
  1. # 更新系统包
  2. slackpkg update
  3. slackpkg upgrade-all
  4. # 清理旧包
  5. slackpkg clean-system
复制代码

10.2 日志管理
  1. # 设置日志轮转
  2. nano /etc/logrotate.d/custom
  3. # 添加自定义日志轮转规则
  4. /var/log/custom.log {
  5.     weekly
  6.     rotate 4
  7.     compress
  8.     delaycompress
  9.     missingok
  10.     notifempty
  11.     create 640 root adm
  12. }
  13. # 手动触发日志轮转
  14. logrotate -f /etc/logrotate.conf
复制代码

10.3 磁盘维护
  1. # 检查文件系统
  2. fsck -t ext4 /dev/sda1
  3. # 清理旧文件
  4. find /tmp -type f -atime +10 -delete
  5. find /var/tmp -type f -atime +30 -delete
  6. # 查找大文件
  7. find / -type f -size +100M -exec ls -lh {} \;
  8. # 清理包缓存
  9. rm /var/cache/packages/*.tgz
复制代码

10.4 性能监控
  1. # 设置sar收集数据
  2. nano /etc/sysconfig/sysstat
  3. # 确保数据收集已启用
  4. ENABLED="true"
  5. # 查看历史数据
  6. sar -u
  7. sar -r
  8. sar -b
  9. # 创建性能报告脚本
  10. nano /usr/local/bin/perf-report
  11. # 添加以下内容
  12. #!/bin/bash
  13. DATE=$(date +%Y%m%d)
  14. REPORT_DIR="/var/log/perf-reports"
  15. mkdir -p $REPORT_DIR
  16. # CPU使用率
  17. sar -u > $REPORT_DIR/cpu-$DATE.log
  18. # 内存使用率
  19. sar -r > $REPORT_DIR/memory-$DATE.log
  20. # 磁盘I/O
  21. sar -b > $REPORT_DIR/disk-$DATE.log
  22. # 网络统计
  23. sar -n DEV > $REPORT_DIR/network-$DATE.log
  24. # 添加执行权限
  25. chmod +x /usr/local/bin/perf-report
  26. # 添加到cron以每天运行
  27. echo "0 0 * * * /usr/local/bin/perf-report" > /var/spool/cron/crontabs/root
复制代码

10.5 服务管理
  1. # 检查服务状态
  2. service --status-all
  3. # 禁用不必要的服务
  4. chmod -x /etc/rc.d/rc.bluetooth
  5. chmod -x /etc/rc.d/rc.pcmcia
  6. # 启用必要的服务
  7. chmod +x /etc/rc.d/rc.httpd
  8. chmod +x /etc/rc.d/rc.mysqld
复制代码

11. 结论

Slackware Linux作为一个古老而稳定的发行版,通过适当的优化可以提供出色的性能。本文全面介绍了Slackware系统性能优化的各个方面,从内核定制到服务配置,从文件系统选择到网络调优。

优化的关键在于:

1. 了解系统瓶颈并针对性地优化
2. 根据系统用途(桌面或服务器)选择适当的优化策略
3. 定期维护和监控系统性能
4. 保持系统更新以获得最新的性能改进和安全补丁

通过实施本文提供的优化建议,用户可以显著提高Slackware系统的运行速度和响应能力,无论是用于日常桌面使用还是关键服务器环境。

请记住,优化是一个持续的过程,需要根据系统负载和使用模式不断调整。定期评估系统性能并根据需要进行微调,将确保Slackware系统始终保持最佳状态。

Slackware的简洁性和稳定性,结合适当的性能优化,使其成为那些寻求可靠、高效操作系统的用户的理想选择。通过本文提供的指南,您可以充分挖掘Slackware系统的潜力,享受流畅、高效的计算体验。
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则