---
title: 调整磁盘文件预取参数
description: "文件预取的原理，就是根据局部性原理，在读取数据时，会多读一定量的相邻数据缓存到内存。如果预读的数据是后续会使用的数据，那么系统性能会提升，如果后续不使用，就浪费了磁盘带宽。在磁盘顺序读的场景下，调大预取值效果会尤其明显。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0039.html
sourcePath: /source/zh/perftuning/tuningtip/kunpengtuning_12_0039.html
indexId: cef9e6453154b8f6b235d14e3f2b3b72a8774fee2a9a8a3a40d5e42b6fb5baa958
---
# 调整磁盘文件预取参数

#### 原理

文件预取的原理，就是根据局部性原理，在读取数据时，会多读一定量的相邻数据缓存到内存。如果预读的数据是后续会使用的数据，那么系统性能会提升，如果后续不使用，就浪费了磁盘带宽。在磁盘顺序读的场景下，调大预取值效果会尤其明显。


#### 修改方式

文件预取参数由文件read_ahead_kb指定，CentOS中为“/sys/block/$DEVICE-NAME/queue/read_ahead_kb”（$DEVICE-NAME为磁盘名称），如果不确定，则通过以下命令来查找。

```
find / -name read_ahead_kb
```

此参数的默认值为128KB，可使用echo来调整，仍以CentOS为例，将预取值调整为4096KB：

```
echo 4096 > /sys/block/$DEVICE-NAME/queue/read_ahead_kb
```

这个值实际和读模型相关，要根据实际业务调整。
