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

#### 原理

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


#### 使用方法

文件预取参数由文件“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
```

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