在服务器运维中,磁盘I/O性能往往是系统瓶颈。本文将教你如何通过调整CentOS 7的内存参数来优化磁盘缓存,显著提升读写速度。
Linux系统会利用空闲内存作为磁盘缓存(Page Cache),通过以下机制工作: 1. 写入缓存:数据先写入内存缓存区 2. 读取缓存:频繁访问数据保留在内存 3. 异步写入:后台进程定期刷写到磁盘
编辑/etc/sysctl.conf文件调整以下核心参数:
# 控制脏页(待写入数据)占总内存百分比
vm.dirty_ratio = 30
# 后台刷写进程触发阈值
vm.dirty_background_ratio = 10
# 脏页最长驻留时间(秒)
vm.dirty_expire_centisecs = 3000
# 内核回收缓存倾向值(0-100)
vm.swappiness = 10
sysctl -a | grep dirty
vi /etc/sysctl.conf
sysctl -p
使用dd命令测试优化前后差异:
# 写入测试
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
# 读取测试
hdparm -Tt /dev/sda
free -h
和vmstat 1
通过合理配置这些参数,可使机械硬盘获得近似SSD的随机读写性能,特别适合高并发Web服务器场景。