Значение Read Ahead автоматически обновляется при загрузке

Версия ОС: CentOS Linux выпуск 7.2.1511 (Core)

У меня есть следующие команды в моем файле rc.local:

/usr/sbin/blockdev --report > /root/test_boot
/usr/sbin/blockdev --setra 256 /dev/vdb
/usr/sbin/blockdev --report >> /root/test_boot

После загрузки файл /root/test_boot имеет следующее содержимое:

cat test_boot

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0     10737418240   /dev/vda
rw   256   512  4096       2048      8588886016   /dev/vda1
rw   256   512  4096          0     53687091200   /dev/vdb
RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096          0     10737418240   /dev/vda
rw   256   512  4096       2048      8588886016   /dev/vda1
rw   256   512  4096          0     53687091200   /dev/vdb

тогда как команда

blockdev - отчет

дает другое значение:

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw  8192   512  4096          0     10737418240   /dev/vda
rw  8192   512  4096       2048      8588886016   /dev/vda1
rw  8192   512  4096          0     53687091200   /dev/vdb

Так что, похоже, какая-то другая программа ядра перезаписывает значение при загрузке. Какая может быть программа? Есть ли какой-нибудь способ, которым я могу выполнить команду blockdev --setra в самом конце процесса загрузки?

Примечание: я также попытался поместить команды в init.d, systemd и crontab. То же самое происходит все время.

2 ответа

  1. Отключите значение readahead в tuned.conf.
  2. Запустите эти команды для перезагрузки файла tuned.conf:

    # tuned-adm profile
    # tuned-adm active virtual-guest
    

После этого значения будут загружены из файла /etc/rc.d/rc.local.

Это выход cat /etc/rc.local с сервера Centos 7.

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
Другие вопросы по тегам