Linux uses the readahead technique to accelerate file access by pre-fetching data and loading the data into the page cache. Linux also supports the context readahead algorithm that can discover interleaved sequential streams to optimize file access performance. However, in specific random access scenarios, the context readahead algorithm is prone to poor judgement and may prefetch more pages than necessary. In the preceding scenarios, you can disable the context readahead feature to significantly improve application performance. This topic describes how to use the vm.enable_context_readahead parameter to configure the context readahead feature of file systems in Alibaba Cloud Linux 2 and 3.
Limits
Operating systems:
Alibaba Cloud Linux 2 whose kernel version is
4.19.91-18or laterAlibaba Cloud Linux 3
Procedure
Configure the /proc/sys/vm/enable_context_readahead system parameter to enable or disable the context readahead feature of file systems. Valid values:
1: enables the context readahead feature.
0: disables the context readahead feature.
Check the status of the context readahead feature.
View the parameter file to check the status of the context readahead feature.
cat /proc/sys/vm/enable_context_readaheadUse the sysctl interface to check the status of the context readahead feature.
sysctl -n vm.enable_context_readahead
Configure the context readahead feature.
Enable the context readahead feature.
Modify the parameter file to enable the context readahead feature.
sudo sh -c 'echo 1 > /proc/sys/vm/enable_context_readahead'Use the sysctl interface to enable the context readahead feature.
sudo sysctl -w vm.enable_context_readahead=1
Disable the context readahead feature.
Modify the parameter file to disable the context readahead feature.
sudo sh -c 'echo 0 > /proc/sys/vm/enable_context_readahead'Use the sysctl interface to disable the context readahead feature.
sudo sysctl -w vm.enable_context_readahead=0