Linux 系统优化指南
对 Linux 服务器进行系统优化可以显著提升其性能、稳定性和安全性,尤其对于作为 SSH 服务器或运行关键服务的机器而言。本指南将介绍一些常见的优化策略。
1. 更新系统和软件包
保持系统和所有软件包最新是优化的第一步,这不仅能获得性能改进,还能修复安全漏洞。
- Debian/Ubuntu:bash
sudo apt update sudo apt upgrade -y sudo apt autoremove -y - CentOS/RHEL:bash
sudo yum update -y sudo yum autoremove -y
2. 管理启动服务
禁用不必要的启动服务可以减少系统资源占用,加快启动速度。
- 查看所有服务:bash
systemctl list-unit-files --type=service --state=enabled - 禁用服务(以
apache2为例):bash注意:在禁用服务前,请务必确认该服务不是系统运行所必需的。sudo systemctl disable apache2 sudo systemctl stop apache2
3. 优化文件系统
选择合适的文件系统和挂载选项可以提升磁盘 I/O 性能。
- 使用
noatime挂载选项:noatime选项可以阻止系统在每次读取文件时更新文件的访问时间,减少磁盘写入操作。 编辑/etc/fstab文件,在相应分区的挂载选项中添加noatime。修改后需要重新挂载分区或重启系统生效:# 示例: UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 defaults,noatime 0 1sudo mount -o remount /
4. 调整 Swap 空间 (交换空间)
Swap 空间是当物理内存不足时,系统用来临时存储数据的硬盘空间。不当的 Swap 配置可能导致性能下降。
- 查看当前
swappiness值:swappiness值决定了系统将数据从物理内存交换到 Swap 空间的倾向,值越高越倾向于使用 Swap。bashcat /proc/sys/vm/swappiness - 调整
swappiness: 对于服务器,通常建议将swappiness设置为较低的值(如10或20),以尽量使用物理内存。bash要永久生效,编辑sudo sysctl vm.swappiness=10/etc/sysctl.conf文件,添加或修改vm.swappiness = 10。
5. 限制资源使用 (ulimit)
ulimit 命令可以限制用户进程的资源使用,防止单个进程耗尽系统资源。
- 查看当前限制:
ulimit -a - 修改限制:编辑
/etc/security/limits.conf文件。这通常需要用户重新登录才能生效。# 示例:允许用户 'youruser' 打开更多文件 youruser soft nofile 65535 youruser hard nofile 65535
6. 定期清理系统
删除不再需要的软件包、日志文件和临时文件可以释放磁盘空间并减少系统负担。
- 清理软件包缓存:
- Debian/Ubuntu:
sudo apt clean - CentOS/RHEL:
sudo yum clean all
- Debian/Ubuntu:
- 清理旧内核:
- Debian/Ubuntu:
sudo apt autoremove --purge
- Debian/Ubuntu:
- 清理日志文件: 通常日志文件在
/var/log/目录下,可以使用logrotate进行管理,或手动清理旧日志。
7. 监控系统性能
持续监控系统性能是发现瓶颈和验证优化效果的关键。
- 常用工具:
top/htop:实时查看进程和资源使用。free -h:查看内存使用情况。df -h:查看磁盘空间使用情况。iostat/iotop:监控磁盘 I/O。netstat/ss:查看网络连接和统计。
通过以上这些优化措施,你可以让你的 Linux 服务器运行得更高效、更稳定。