怎样优化centos性能通过清理
一、清理系统缓存(快速释放内存)
系统缓存(页面缓存、目录项缓存、inode缓存)会占用内存,但Linux会自动管理。若需手动释放(如内存紧张时),可通过以下命令:
- 同步数据到磁盘(避免数据丢失):
sync
- 清理所有缓存(页面+目录项+inode):
echo 3 > /proc/sys/vm/drop_caches
- 仅清理页面缓存(不影响正在运行的程序):
echo 1 > /proc/sys/vm/drop_caches
- 清理目录项和inode缓存(加速目录查找):
echo 2 > /proc/sys/vm/drop_caches
注:这些操作需root权限,清理后系统会重新构建缓存,短暂影响性能但能释放内存。
二、清理YUM/DNF缓存(释放磁盘空间)
YUM(CentOS 7及以下)/DNF(CentOS 8及以上)会缓存下载的软件包(位于/var/cache/yum
或/var/cache/dnf
),占用大量磁盘空间。清理命令:
- YUM缓存:
sudo yum clean all
- DNF缓存:
sudo dnf clean all
- 手动删除缓存目录(彻底清理):
rm -rf /var/cache/yum/*
(YUM)或rm -rf /var/cache/dnf/*
(DNF)。
三、清理临时文件(避免磁盘空间浪费)
临时文件(位于/tmp
、/var/tmp
)通常不再需要,长期积累会占用磁盘空间甚至导致磁盘满。清理方法:
- 手动删除(立即生效):
sudo rm -rf /tmp/*
、sudo rm -rf /var/tmp/*
(注意:避免删除正在使用的文件)。 - 定时任务(自动清理):通过
crontab -e
添加0 3 * * * rm -rf /tmp/*
(每天凌晨3点清理/tmp
),同理可设置/var/tmp
。
四、清理旧内核(释放/boot分区空间)
旧内核不会自动删除,会导致/boot
分区空间不足(无法升级内核或系统)。清理命令:
- 查看已安装内核:
rpm -q kernel
- 删除旧内核(保留最新的2个):
package-cleanup --oldkernels --count=2
(需安装yum-utils
:sudo yum install yum-utils
)。
五、清理孤立包(无用的依赖)
安装软件时产生的孤立依赖(不再被任何软件包需要)会占用空间。清理命令:
- YUM:
sudo yum autoremove
- DNF:
sudo dnf autoremove
这些命令会自动删除无用的依赖包,减少磁盘占用。
六、清理日志文件(避免日志膨胀)
日志文件(位于/var/log
)会随时间增长占用大量空间,尤其是messages
、access.log
等。清理方法:
- 截断大日志(清空内容但保留文件):
find /var/log -type f -name "*.log" -size +50M -mtime +7 -exec truncate -s 0 { } \;
(清空大于50M且7天未修改的日志)。 - 删除旧日志(彻底删除):
find /var/log -type f -name "*.log" -mtime +30 -exec rm -f { } \;
(删除30天以上的日志)。 - 设置日志轮转(自动管理日志大小和保留时间):编辑
/etc/logrotate.conf
,调整rotate
(保留份数)、compress
(压缩旧日志)、maxage
(最大保留天数)等参数,或手动触发轮转:sudo logrotate -f /etc/logrotate.conf
。
七、关闭不必要的服务(减少资源占用)
不必要的服务(如firewalld
、NetworkManager
)会在后台运行,消耗CPU、内存和磁盘I/O。关闭命令:
- 停止服务:
sudo systemctl stop service_name
(如sudo systemctl stop firewalld
)。 - 禁用服务(开机不启动):
sudo systemctl disable service_name
。 - 查看运行中的服务:
systemctl list-unit-files --type=service
(筛选出不需要服务的名称)。
八、调整内核参数(优化系统性能)
通过修改/etc/sysctl.conf
文件调整内核参数,提升系统性能:
- 启用TCP端口复用(减少TIME_WAIT状态连接):
net.ipv4.tcp_tw_reuse = 1
- 缩短TIME_WAIT超时时间(快速释放端口):
net.ipv4.tcp_fin_timeout = 30
- 增加本地端口范围(支持更多并发连接):
net.ipv4.ip_local_port_range = "1024 65535"
- 调整TCP最大半连接队列(应对SYN Flood攻击):
net.ipv4.tcp_max_syn_backlog = 8192
- 使配置生效:
sudo sysctl -p
(加载/etc/sysctl.conf
中的参数)。
九、调整文件系统挂载选项(减少磁盘I/O)
通过修改/etc/fstab
文件,为文件系统添加noatime
(不记录文件访问时间)和nodiratime
(不记录目录访问时间)选项,减少磁盘写操作:
- 编辑
/etc/fstab
:找到根分区(如/dev/sda1
),修改挂载选项为defaults,noatime,nodiratime
。 - 重新挂载文件系统:
sudo mount -a
(使修改生效)。
十、调整Swappiness(优化内存与Swap使用)
Swappiness(默认60)控制系统使用Swap分区的倾向,值越高越易使用Swap(导致性能下降)。降低Swappiness(如10)可减少Swap使用:
- 临时调整:
sudo sysctl vm.swappiness=10
- 永久生效:编辑
/etc/sysctl.conf
,添加vm.swappiness=10
,然后执行sudo sysctl -p
。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样优化centos性能通过清理
本文地址: https://pptw.com/jishu/718830.html