|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Slackware Linux作为最古老的存活Linux发行版之一,自1993年由Patrick Volkerding创建以来,以其简洁性、稳定性和遵循UNIX传统而闻名。然而,作为一个古老的发行版,Slackware可能不像现代Linux发行版那样即装即用,需要进行一些调整才能发挥最佳性能。本文将全面介绍如何优化Slackware系统的性能,适用于桌面和服务器环境,帮助你充分挖掘这个经典发行版的潜力。
1. 系统评估与监控
在开始优化之前,首先需要了解当前系统的性能状况和潜在瓶颈。以下是评估和监控Slackware系统性能的工具和方法:
1.1 系统信息收集
- # 查看系统基本信息
- uname -a
- cat /etc/slackware-version
- lsb_release -a # 如果安装了lsb_release
- # 查看硬件信息
- lscpu
- lspci
- lsusb
- free -h
- df -h
- fdisk -l
复制代码
1.2 性能监控工具
- # 安装常用监控工具(如果尚未安装)
- slackpkg install sysstat procps-ng htop iotop
- # 实时系统监控
- top
- htop # 更友好的进程查看器
- # CPU使用率统计
- mpstat 1 5 # 每1秒采集一次,共5次
- # 内存使用情况
- vmstat 1 5
- free -h
- # 磁盘I/O统计
- iostat -xz 1 5
- iotop
- # 网络统计
- sar -n DEV 1 5
- iftop
- nload
- # 系统活动报告
- sar -A > system_activity_report.txt
复制代码
1.3 启动时间和服务分析
- # 查看系统启动时间
- systemd-analyze # 如果使用systemd
- # 或者查看传统启动日志
- dmesg | grep kernel
- # 查看运行的服务
- ps aux
- service --status-all
复制代码
1.4 性能瓶颈识别
通过上述工具收集的数据,可以识别系统的主要瓶颈:
• CPU瓶颈:高负载、高上下文切换、高等待时间
• 内存瓶颈:高内存使用率、频繁的交换活动
• 磁盘I/O瓶颈:高等待时间、低吞吐量
• 网络瓶颈:高延迟、丢包、带宽限制
识别瓶颈后,可以有针对性地进行优化。
2. 内核优化
Slackware允许用户定制内核以满足特定需求,这是提高系统性能的关键步骤。
2.1 内核升级
Slackware通常提供稳定的内核版本,但用户可以根据需要升级到更新的内核:
- # 检查当前内核版本
- uname -r
- # 安装内核源码(如果尚未安装)
- slackpkg install kernel-source
- # 下载并编译新内核(以5.15.0为例)
- cd /usr/src
- wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
- tar xvf linux-5.15.tar.xz
- cd linux-5.15
- make mrproper
- cp /boot/config-$(uname -r) .config # 使用当前配置作为起点
- make oldconfig # 更新配置以适应新内核
- make -j$(nproc) # 使用所有可用核心编译
- make modules_install
- make install
复制代码
2.2 内核配置优化
根据系统用途定制内核配置可以显著提高性能:
- # 进入内核配置界面
- make menuconfig
- # 通用优化选项:
- # 1. 启用Preemption Model (Preemptible Kernel (Low-Latency Desktop))
- # 适用于桌面系统,降低延迟
- # 2. 启用Tickless System (Dynamic Ticks)
- # 减少定时器中断,提高能效
- # 3. 启用Processor type and features -> Performance events
- # 提供更好的性能监控
- # 4. 禁用不必要的驱动和功能,减少内核大小
- # 5. 启用内核压缩(如LZ4或LZO)以加快启动速度
复制代码
2.3 内核参数调优
通过修改/etc/sysctl.conf文件调整内核参数:
- # 编辑sysctl.conf
- nano /etc/sysctl.conf
- # 添加以下优化参数
- # 虚拟内存管理
- vm.swappiness=10 # 减少交换倾向,适用于有足够内存的系统
- vm.vfs_cache_pressure=50 # 增加inode/dentry缓存保留时间
- vm.dirty_ratio=10 # 减少脏页比例
- vm.dirty_background_ratio=5 # 降低后台写回阈值
- # 网络优化
- net.core.rmem_max=16777216 # 增加接收缓冲区大小
- net.core.wmem_max=16777216 # 增加发送缓冲区大小
- net.ipv4.tcp_rmem="4096 87380 16777216" # TCP接收缓冲区
- net.ipv4.tcp_wmem="4096 65536 16777216" # TCP发送缓冲区
- net.ipv4.tcp_congestion_control=bbr # 使用BBR拥塞控制算法
- net.ipv4.tcp_fastopen=3 # 启用TCP快速打开
- # 文件系统优化
- fs.file-max=2097152 # 增加文件描述符限制
- fs.inotify.max_user_watches=524288 # 增加inotify监视限制
- # 应用更改
- sysctl -p
复制代码
2.4 启用内核模块自动加载
创建自定义模块加载配置:
- # 编辑模块配置文件
- nano /etc/modprobe.d/custom.conf
- # 添加常用高性能模块
- options kvm_intel nested=1 # 如果使用Intel VT-x
- options snd_hda_intel power_save=0 # 禁用音频节能,减少延迟
复制代码
3. 启动过程优化
系统启动速度是用户体验的重要部分,以下是如何优化Slackware的启动过程:
3.1 分析启动时间
- # 如果使用systemd
- systemd-analyze time
- systemd-analyze blame # 查看启动最慢的服务
- systemd-analyze critical-chain # 查看关键启动链
- # 对于传统SysV init
- systemd-analyze # 不适用,可以查看启动日志
- dmesg | grep -i "init"
复制代码
3.2 优化启动服务
- # 查看运行的服务
- ls /etc/rc.d/rc*.d/
- # 禁用不必要的服务(以蓝牙为例)
- chmod -x /etc/rc.d/rc.bluetooth
- # 或者使用rcconf工具(如果安装)
- slackpkg install rcconf
- rcconf
复制代码
3.3 并行启动服务
Slackware默认使用串行启动服务,可以修改为并行启动:
- # 编辑rc.M文件
- nano /etc/rc.d/rc.M
- # 找到类似以下行
- # /etc/rc.d/rc.yp start
- # /etc/rc.d/rc.nfsd start
- # /etc/rc.d/rc.samba start
- # 修改为后台启动
- /etc/rc.d/rc.yp start &
- /etc/rc.d/rc.nfsd start &
- /etc/rc.d/rc.samba start &
- wait
复制代码
3.4 优化文件系统检查
减少启动时的文件系统检查时间:
- # 编辑fstab
- nano /etc/fstab
- # 确保根分区和其他分区有适当的dump和pass选项
- # 例如:
- /dev/sda1 / ext4 defaults,noatime 0 1
- /dev/sda2 /home ext4 defaults,noatime 0 2
- # noatime选项减少磁盘写入,提高性能
- # 最后一个数字是fsck顺序,0表示不检查,1是根分区,2是其他分区
复制代码
3.5 使用initramfs加速启动
创建和使用initramfs可以加速启动过程:
- # 安装mkinitrd
- slackpkg install mkinitrd
- # 创建initramfs
- mkinitrd -c -k 4.19.0 -m ext4 -f ext4 -r /dev/sda1
- # 配置引导加载程序(以lilo为例)
- nano /etc/lilo.conf
- # 添加或修改initrd行
- image = /boot/vmlinuz
- initrd = /boot/initrd.gz
- root = /dev/sda1
- label = Slackware
- read-only
- # 更新lilo
- lilo
复制代码
4. 文件系统优化
选择合适的文件系统并进行优化可以显著提高系统性能,特别是在磁盘I/O密集型应用中。
4.1 选择合适的文件系统
Slackware支持多种文件系统,各有优缺点:
• ext4:稳定可靠,广泛使用,适合大多数场景
• XFS:高性能,适合大文件和高I/O负载,如媒体服务器
• Btrfs:现代特性丰富,如快照、压缩,但相对较新
• JFS:轻量级,适合嵌入式系统或旧硬件
4.2 文件系统创建优化
创建文件系统时进行优化:
- # 创建ext4文件系统(适用于SSD)
- mkfs.ext4 /dev/sda1 -L root -m 1 -E stride=128,stripe-width=128
- # 创建XFS文件系统(适用于大存储)
- mkfs.xfs /dev/sda1 -L storage
- # 创建Btrfs文件系统(启用压缩)
- mkfs.btrfs /dev/sda1 -L storage
复制代码
4.3 挂载选项优化
修改/etc/fstab以优化文件系统挂载选项:
- # 编辑fstab
- nano /etc/fstab
- # ext4优化选项(适用于SSD)
- /dev/sda1 / ext4 defaults,noatime,discard,data=writeback 0 1
- # XFS优化选项
- /dev/sdb1 /storage xfs defaults,noatime,largeio,inode64 0 2
- # Btrfs优化选项(启用压缩)
- /dev/sdc1 /backup btrfs defaults,noatime,compress=lzo 0 2
复制代码
常见挂载选项说明:
• noatime:不更新文件访问时间,减少磁盘写入
• nodiratime:不更新目录访问时间
• discard:启用TRIM支持(适用于SSD)
• data=writeback:减少数据一致性检查,提高性能(有风险)
• compress=lzo:启用LZO压缩(Btrfs)
4.4 文件系统维护
定期维护文件系统以保持性能:
- # 检查文件系统
- fsck -t ext4 /dev/sda1
- # 整理ext4文件系统
- e4defrag /dev/sda1
- # 检查XFS文件系统
- xfs_repair -n /dev/sda1 # 检查不修复
- xfs_repair /dev/sda1 # 修复
- # Btrfs平衡和清理
- btrfs filesystem balance /mount/point
- btrfs filesystem defrag -r /mount/point
- btrfs filesystem sync /mount/point
复制代码
4.5 优化I/O调度器
根据存储设备类型选择合适的I/O调度器:
- # 查看当前调度器
- cat /sys/block/sda/queue/scheduler
- # 临时更改调度器(以noop为例,适合SSD或虚拟机)
- echo noop > /sys/block/sda/queue/scheduler
- # 永久更改(创建udev规则)
- nano /etc/udev/rules.d/60-io-scheduler.rules
- # 添加以下内容
- ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop"
- ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="deadline"
- # 重新加载udev规则
- udevadm control --reload-rules
复制代码
5. 内存管理优化
内存管理对系统性能至关重要,特别是在内存有限的环境中。
5.1 监控内存使用
- # 查看内存使用情况
- free -h
- cat /proc/meminfo
- # 查看进程内存使用
- ps aux --sort=-%mem | head -10
- # 监控内存使用情况
- vmstat 1 10
复制代码
5.2 交换空间优化
- # 查看当前交换空间
- swapon --show
- free -h
- # 创建交换文件(例如4GB)
- fallocate -l 4G /swapfile
- chmod 600 /swapfile
- mkswap /swapfile
- swapon /swapfile
- # 添加到fstab使其永久生效
- echo '/swapfile none swap sw 0 0' >> /etc/fstab
- # 调整交换参数(swappiness)
- sysctl vm.swappiness=10
- echo 'vm.swappiness=10' >> /etc/sysctl.conf
- # 调整交换压力(vfs_cache_pressure)
- sysctl vm.vfs_cache_pressure=50
- echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf
复制代码
5.3 内存清理
- # 清理页面缓存
- echo 1 > /proc/sys/vm/drop_caches
- # 清理dentries和inodes
- echo 2 > /proc/sys/vm/drop_caches
- # 清理页面缓存、dentries和inodes
- echo 3 > /proc/sys/vm/drop_caches
复制代码
5.4 使用内存缓存工具
安装和使用内存缓存优化工具:
- # 安装prelink(预先链接库,减少程序启动时间)
- slackpkg install prelink
- prelink -avmR
- # 使用earlyoom防止内存耗尽(在低内存系统中)
- slackpkg install earlyoom
- chmod +x /etc/rc.d/rc.earlyoom
- /etc/rc.d/rc.earlyoom start
复制代码
5.5 优化内存分配
- # 调整内存映射限制
- echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
- sysctl -p
- # 调整内存过载处理
- echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf
- sysctl -p
复制代码
6. CPU性能优化
优化CPU调度和频率设置可以显著提高系统响应能力。
6.1 监控CPU性能
- # 查看CPU信息
- lscpu
- cat /proc/cpuinfo
- # 监控CPU使用率
- top
- htop
- mpstat 1 5
- # 查看CPU频率
- cpufreq-info
- cat /proc/cpuinfo | grep "MHz"
复制代码
6.2 CPU频率调节
- # 安装cpufrequtils
- slackpkg install cpufrequtils
- # 查看可用频率调节器
- cpufreq-info
- # 设置性能模式(适用于服务器)
- cpufreq-set -g performance
- # 设置按需调节(适用于笔记本电脑)
- cpufreq-set -g ondemand
- # 设置省电模式
- cpufreq-set -g powersave
- # 永久设置(创建sysfsutils配置)
- nano /etc/sysfs.conf
- # 添加以下内容
- devices/system/cpu/cpu0/cpufreq/scaling_governor = performance
复制代码
6.3 CPU亲和性设置
将进程绑定到特定CPU核心以提高性能:
- # 查看进程当前运行的CPU
- taskset -p <PID>
- # 将进程绑定到特定CPU核心
- taskset -c 0,1 <command> # 绑定到核心0和1
- taskset -cp 0,1 <PID> # 绑定现有进程
- # 使用numactl控制NUMA系统上的内存分配
- slackpkg install numactl
- numactl --cpubind=0 --membind=0 <command>
复制代码
6.4 启用CPU微码更新
保持CPU微码最新可以提高稳定性和性能:
- # 安装微码更新工具
- slackpkg install intel-microcode # Intel CPU
- # 或
- slackpkg install amd-ucode # AMD CPU
- # 更新微码
- echo 1 > /sys/devices/system/cpu/microcode/reload
复制代码
6.5 优化多核性能
- # 调整进程调度器
- echo 'kernel.sched_min_granularity_ns=10000000' >> /etc/sysctl.conf
- echo 'kernel.sched_wakeup_granularity_ns=15000000' >> /etc/sysctl.conf
- sysctl -p
- # 启用并行编译(适用于构建软件)
- echo 'MAKEFLAGS="-j$(nproc)"' >> /etc/profile.d/makeflags.sh
- source /etc/profile.d/makeflags.sh
复制代码
7. 网络性能优化
网络性能优化对于服务器和桌面系统都很重要,特别是对于高延迟或高带宽需求的场景。
7.1 监控网络性能
- # 查看网络接口信息
- ip addr
- ifconfig
- # 监控网络流量
- iftop
- nload
- bmon
- # 测试网络延迟和带宽
- ping google.com
- traceroute google.com
- iperf3 -c server.example.com
复制代码
7.2 网络接口优化
- # 查看网络接口设置
- ethtool eth0
- # 启用网络接口卸载功能
- ethtool -K eth0 gso on
- ethtool -K eth0 tso on
- ethtool -K eth0 lro on
- ethtool -K eth0 gro on
- # 调整网络队列长度
- ifconfig eth0 txqueuelen 10000
- # 永久保存设置(创建网络配置脚本)
- nano /etc/rc.d/rc.network_optimizations
- # 添加以下内容
- #!/bin/sh
- ethtool -K eth0 gso on
- ethtool -K eth0 tso on
- ethtool -K eth0 lro on
- ethtool -K eth0 gro on
- ifconfig eth0 txqueuelen 10000
- # 添加执行权限
- chmod +x /etc/rc.d/rc.network_optimizations
复制代码
7.3 TCP/IP协议栈优化
- # 编辑sysctl.conf
- nano /etc/sysctl.conf
- # 添加以下网络优化参数
- # 增加TCP缓冲区大小
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- # 启用TCP窗口缩放
- net.ipv4.tcp_window_scaling = 1
- # 启用TCP快速打开
- net.ipv4.tcp_fastopen = 3
- # 启用BBR拥塞控制算法
- net.ipv4.tcp_congestion_control = bbr
- net.core.default_qdisc = fq
- # 增加最大连接数
- net.core.somaxconn = 65535
- net.ipv4.tcp_max_syn_backlog = 65535
- # TCP连接优化
- net.ipv4.tcp_keepalive_time = 600
- net.ipv4.tcp_keepalive_intvl = 60
- net.ipv4.tcp_keepalive_probes = 10
- # 优化网络连接跟踪(如果使用防火墙)
- net.netfilter.nf_conntrack_max = 1000000
- net.netfilter.nf_conntrack_tcp_timeout_established = 3600
- # 应用更改
- sysctl -p
复制代码
7.4 DNS优化
- # 安装dnsmasq作为本地缓存DNS服务器
- slackpkg install dnsmasq
- chmod +x /etc/rc.d/rc.dnsmasq
- /etc/rc.d/rc.dnsmasq start
- # 配置系统使用本地DNS服务器
- nano /etc/resolv.conf
- # 将nameserver改为本地
- nameserver 127.0.0.1
- # 添加备用DNS
- nameserver 8.8.8.8
- nameserver 8.8.4.4
复制代码
7.5 网络服务优化
优化常见网络服务的性能:
- # SSH服务优化
- nano /etc/ssh/sshd_config
- # 添加或修改以下选项
- UseDNS no
- GSSAPIAuthentication no
- MaxStartups 50:30:100
- MaxSessions 100
- # 重启SSH服务
- /etc/rc.d/rc.sshd restart
- # NTP服务优化(保持系统时间同步)
- slackpkg install ntp
- chmod +x /etc/rc.d/rc.ntpd
- nano /etc/ntp.conf
- # 添加或修改以下选项
- server pool.ntp.org iburst
- driftfile /var/lib/ntp/drift
- restrict default nomodify nopeer noquery limited kod
- restrict 127.0.0.1
- # 启动NTP服务
- /etc/rc.d/rc.ntpd start
复制代码
8. 桌面环境优化
对于使用Slackware作为桌面系统的用户,以下优化可以显著提高用户体验。
8.1 选择轻量级桌面环境
Slackware提供了多种桌面环境选择,不同环境对资源的需求不同:
• KDE Plasma:功能丰富,但资源消耗较大
• Xfce:轻量级,功能适中,适合大多数硬件
• LXQt:超轻量级,适合旧硬件
• MATE:传统GNOME 2的分支,平衡功能和资源使用
- # 安装轻量级桌面环境(以Xfce为例)
- slackpkg install xfce
- slackpkg install slim # 轻量级登录管理器
- # 设置默认启动X11
- nano /etc/inittab
- # 找到以下行
- # id:3:initdefault:
- # 修改为
- id:4:initdefault:
- # 启用slim显示管理器
- chmod +x /etc/rc.d/rc.slim
复制代码
8.2 优化显示服务器
- # 使用轻量级显示服务器(如Xorg而非Wayland)
- # Xorg通常是Slackware的默认选项
- # 优化Xorg配置
- nano /etc/X11/xorg.conf
- # 添加或修改以下部分以提高性能
- Section "Device"
- Identifier "Card0"
- Driver "modesetting" # 或适合您显卡的驱动
- Option "AccelMethod" "glamor"
- Option "DRI" "3"
- EndSection
- Section "Screen"
- Identifier "Screen0"
- Device "Card0"
- DefaultDepth 24
- SubSection "Display"
- Depth 24
- EndSubSection
- EndSection
复制代码
8.3 文件管理器优化
- # 以Thunar(Xfce文件管理器)为例
- # 禁用预览以提高性能
- nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml
- # 添加或修改以下选项
- <property name="misc-thumbnail-mode" type="string" value="NONE"/>
- <property name="misc-file-size-binary" type="bool" value="true"/>
复制代码
8.4 应用启动优化
- # 使用prelink预链接库
- slackpkg install prelink
- prelink -avmR
- # 添加每日自动预链接任务
- echo '#!/bin/sh' > /etc/cron.daily/prelink
- echo '/usr/sbin/prelink -avmR' >> /etc/cron.daily/prelink
- chmod +x /etc/cron.daily/prelink
复制代码
8.5 系统托盘和后台程序优化
- # 禁用不必要的系统托盘程序
- # 在Xfce中,可以通过Session and Startup设置管理自动启动程序
- xfce4-session-settings
- # 或者手动编辑自动启动文件
- nano ~/.config/autostart/
- # 删除或注释掉不需要的.desktop文件
复制代码
8.6 字体渲染优化
- # 安装字体渲染优化工具
- slackpkg install fontconfig-infinality
- # 配置字体渲染
- nano /etc/fonts/conf.d/99-infinality.conf
- # 选择适合您的渲染风格
- # 例如,Windows风格:
- <selectfont>
- <acceptfont>
- <pattern>
- <patelt name="family">
- <string>Helvetica</string>
- </patelt>
- </pattern>
- </acceptfont>
- </selectfont>
复制代码
9. 服务器特定优化
对于将Slackware用作服务器的用户,以下优化可以提高服务器性能和稳定性。
9.1 Web服务器优化
以Apache和Nginx为例:
- # 安装Web服务器
- slackpkg install httpd # Apache
- # 或
- slackpkg install nginx # Nginx
- # Apache优化
- nano /etc/httpd/httpd.conf
- # 调整以下参数以提高性能
- KeepAlive On
- MaxKeepAliveRequests 100
- KeepAliveTimeout 5
- <IfModule mpm_prefork_module>
- StartServers 5
- MinSpareServers 5
- MaxSpareServers 10
- MaxRequestWorkers 150
- MaxConnectionsPerChild 0
- </IfModule>
- # 启用缓存模块
- LoadModule cache_module lib/httpd/modules/mod_cache.so
- LoadModule cache_disk_module lib/httpd/modules/mod_cache_disk.so
- # 配置缓存
- <IfModule mod_cache_disk.c>
- CacheRoot /var/cache/httpd
- CacheEnable disk /
- CacheDirLevels 2
- CacheDirLength 1
- </IfModule>
- # Nginx优化
- nano /etc/nginx/nginx.conf
- # 调整以下参数
- worker_processes auto;
- worker_rlimit_nofile 100000;
- events {
- worker_connections 2048;
- use epoll;
- multi_accept on;
- }
- # 配置缓存
- http {
- open_file_cache max=200000 inactive=20s;
- open_file_cache_valid 30s;
- open_file_cache_min_uses 2;
- open_file_cache_errors on;
- }
复制代码
9.2 数据库服务器优化
以MariaDB/MySQL为例:
- # 安装MariaDB
- slackpkg install mariadb
- # 初始化数据库
- mysql_install_db --user=mysql --datadir=/var/lib/mysql
- # 启动服务
- chmod +x /etc/rc.d/rc.mysqld
- /etc/rc.d/rc.mysqld start
- # 安全配置
- mysql_secure_installation
- # 优化配置
- nano /etc/my.cnf
- # 添加以下优化参数
- [mysqld]
- # 缓冲区优化
- innodb_buffer_pool_size = 2G # 根据可用内存调整
- key_buffer_size = 256M
- query_cache_size = 128M
- query_cache_type = 1
- # 连接优化
- max_connections = 200
- max_connect_errors = 100000
- thread_cache_size = 8
- # InnoDB优化
- innodb_log_file_size = 256M
- innodb_log_buffer_size = 8M
- innodb_flush_log_at_trx_commit = 2
- innodb_flush_method = O_DIRECT
- innodb_file_per_table = 1
- # 重启MySQL服务
- /etc/rc.d/rc.mysqld restart
复制代码
9.3 文件服务器优化
以NFS和Samba为例:
- # 安装NFS服务器
- slackpkg install nfs-utils
- # 配置NFS
- nano /etc/exports
- # 添加共享目录
- /share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
- # 优化NFS性能
- nano /etc/sysctl.conf
- # 添加以下参数
- sunrpc.tcp_slot_table_entries = 128
- sunrpc.udp_slot_table_entries = 128
- fs.nfs.nlm_tcpport = 32768
- fs.nfs.nlm_udpport = 32768
- # 启动NFS服务
- chmod +x /etc/rc.d/rc.nfsd
- /etc/rc.d/rc.nfsd start
- # 安装Samba
- slackpkg install samba
- # 配置Samba
- nano /etc/samba/smb.conf
- # 添加以下优化参数
- [global]
- workgroup = WORKGROUP
- server string = Samba Server
- netbios name = SERVER
- socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
- read raw = yes
- write raw = yes
- max xmit = 65535
- dead time = 15
- getwd cache = yes
- lpq cache = 30
- # 启动Samba服务
- chmod +x /etc/rc.d/rc.samba
- /etc/rc.d/rc.samba start
复制代码
9.4 邮件服务器优化
以Postfix为例:
- # 安装Postfix
- slackpkg install postfix
- # 配置Postfix
- nano /etc/postfix/main.cf
- # 添加以下优化参数
- # 性能优化
- smtpd_client_connection_count_limit = 30
- smtpd_client_connection_rate_limit = 30
- smtpd_client_message_rate_limit = 30
- queue_directory = /var/spool/postfix
- command_directory = /usr/sbin
- daemon_directory = /usr/libexec/postfix
- data_directory = /var/lib/postfix
- mail_owner = postfix
- default_privs = nobody
- inet_interfaces = all
- mydestination = $myhostname, localhost.$mydomain, localhost
- unknown_local_recipient_reject_code = 550
- mynetworks = 127.0.0.0/8, 192.168.1.0/24
- alias_maps = hash:/etc/aliases
- alias_database = hash:/etc/aliases
- home_mailbox = Maildir/
- debugger_command =
- PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
- ddd $daemon_directory/$process_name $process_id & sleep 5
- sendmail_path = /usr/sbin/sendmail
- newaliases_path = /usr/bin/newaliases
- mailq_path = /usr/bin/mailq
- setgid_group = postdrop
- html_directory = no
- manpage_directory = /usr/local/man
- sample_directory = /etc/postfix
- readme_directory = no
- # 启动Postfix服务
- chmod +x /etc/rc.d/rc.postfix
- /etc/rc.d/rc.postfix start
复制代码
9.5 服务器监控和日志管理
- # 安装监控工具
- slackpkg install sysstat
- slackpkg install logrotate
- # 配置sysstat收集系统性能数据
- nano /etc/sysconfig/sysstat
- # 启用数据收集
- ENABLED="true"
- # 配置日志轮转
- nano /etc/logrotate.conf
- # 添加以下优化参数
- # 每周轮转日志
- weekly
- # 保留4周的日志
- rotate 4
- # 压缩旧日志
- compress
- # 延迟压缩
- delaycompress
- # 忽略空日志文件
- missingok
- # 不在轮转时显示错误
- notifempty
- # 创建新的空日志文件
- create 640 root adm
- # 启动sysstat
- chmod +x /etc/rc.d/rc.sysstat
- /etc/rc.d/rc.sysstat start
复制代码
10. 定期维护
保持系统性能需要定期维护,以下是一些关键的维护任务。
10.1 系统更新
- # 更新系统包
- slackpkg update
- slackpkg upgrade-all
- # 清理旧包
- slackpkg clean-system
复制代码
10.2 日志管理
- # 设置日志轮转
- nano /etc/logrotate.d/custom
- # 添加自定义日志轮转规则
- /var/log/custom.log {
- weekly
- rotate 4
- compress
- delaycompress
- missingok
- notifempty
- create 640 root adm
- }
- # 手动触发日志轮转
- logrotate -f /etc/logrotate.conf
复制代码
10.3 磁盘维护
- # 检查文件系统
- fsck -t ext4 /dev/sda1
- # 清理旧文件
- find /tmp -type f -atime +10 -delete
- find /var/tmp -type f -atime +30 -delete
- # 查找大文件
- find / -type f -size +100M -exec ls -lh {} \;
- # 清理包缓存
- rm /var/cache/packages/*.tgz
复制代码
10.4 性能监控
- # 设置sar收集数据
- nano /etc/sysconfig/sysstat
- # 确保数据收集已启用
- ENABLED="true"
- # 查看历史数据
- sar -u
- sar -r
- sar -b
- # 创建性能报告脚本
- nano /usr/local/bin/perf-report
- # 添加以下内容
- #!/bin/bash
- DATE=$(date +%Y%m%d)
- REPORT_DIR="/var/log/perf-reports"
- mkdir -p $REPORT_DIR
- # CPU使用率
- sar -u > $REPORT_DIR/cpu-$DATE.log
- # 内存使用率
- sar -r > $REPORT_DIR/memory-$DATE.log
- # 磁盘I/O
- sar -b > $REPORT_DIR/disk-$DATE.log
- # 网络统计
- sar -n DEV > $REPORT_DIR/network-$DATE.log
- # 添加执行权限
- chmod +x /usr/local/bin/perf-report
- # 添加到cron以每天运行
- echo "0 0 * * * /usr/local/bin/perf-report" > /var/spool/cron/crontabs/root
复制代码
10.5 服务管理
- # 检查服务状态
- service --status-all
- # 禁用不必要的服务
- chmod -x /etc/rc.d/rc.bluetooth
- chmod -x /etc/rc.d/rc.pcmcia
- # 启用必要的服务
- chmod +x /etc/rc.d/rc.httpd
- chmod +x /etc/rc.d/rc.mysqld
复制代码
11. 结论
Slackware Linux作为一个古老而稳定的发行版,通过适当的优化可以提供出色的性能。本文全面介绍了Slackware系统性能优化的各个方面,从内核定制到服务配置,从文件系统选择到网络调优。
优化的关键在于:
1. 了解系统瓶颈并针对性地优化
2. 根据系统用途(桌面或服务器)选择适当的优化策略
3. 定期维护和监控系统性能
4. 保持系统更新以获得最新的性能改进和安全补丁
通过实施本文提供的优化建议,用户可以显著提高Slackware系统的运行速度和响应能力,无论是用于日常桌面使用还是关键服务器环境。
请记住,优化是一个持续的过程,需要根据系统负载和使用模式不断调整。定期评估系统性能并根据需要进行微调,将确保Slackware系统始终保持最佳状态。
Slackware的简洁性和稳定性,结合适当的性能优化,使其成为那些寻求可靠、高效操作系统的用户的理想选择。通过本文提供的指南,您可以充分挖掘Slackware系统的潜力,享受流畅、高效的计算体验。 |
|