Делаем stripe_cache_size постоянным

Я сделал

echo 8192 > /sys/block/md0/md/stripe_cache_size

, чтобы улучшить производительность RAID, и это мне очень помогло.

Но я до сих пор не могу понять, как сделать его постоянным.

Я пытался установить его в /etc/rc.local - другие команды выполняются, но в других местах он был перезаписан до 256 ... Есть подсказки?

15
задан 16 January 2011 в 09:04

8 ответов

Всего в темноте, поскольку у меня нет настройки RAID 5 для тестирования: возможно, добавьте строку с

chmod -w /sys/block/md0/md/stripe_cache_size

в rc.local, чтобы удалить запись разрешения после того, как он установлен. Может быть, это помешает ему измениться в другом месте?

0
ответ дан 16 January 2011 в 09:04

Я тоже пытаюсь это выяснить. Я положил свой в rc.local и не повезло. Я запускаю его вручную после входа в систему. Я полагаю, что вы могли бы написать скрипт, чтобы справиться с этим, и поместить его в ваши «Приложения для запуска», но это совсем не поможет, если вы не вошли в gnome.

0
ответ дан 16 January 2011 в 09:04

Добавить

echo 8192 > /sys/block/mdX/md/stripe_cache_size

к /etc/rc.local.

0
ответ дан 16 January 2011 в 09:04

Просто подробно остановимся на последнем посте; скрипт внизу работает на меня. Просто поменяйте свои данные между "< ...>". Наслаждайтесь!

<час>
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#################NOTE######################
##  You are limited by CPU and memory too #
##  <Your Name> <Date of Modification>    #
##  stripe cache size and read-ahead      #
###########################################
echo 16384 > /sys/block/<Your RAID5 or 6 Volume>/md/stripe_cache_size
blockdev --setra 16384 /dev/<Your RAID5 or 6 Volume>

exit 0
0
ответ дан 16 January 2011 в 09:04

Поможет ли пакет sysfsutils решить вашу проблему?

ОРИГИНАЛЬНЫЙ ОТВЕТ:

Я не могу понять, как прокомментировать ваш вопрос; Думаю, я отредактирую этот ответ, когда узнаю больше о вашей проблеме.

Можете ли вы опубликовать (или вставить, если он длинный) вывод

grep -R md0 /etc/init.d
0
ответ дан 16 January 2011 в 09:04

У меня нет реального ответа для вас, но, возможно, вы могли бы попытаться создать простой стартовый скрипт запуска. Создайте файл в / etc / init с расширением .conf. В файле поместите:

start on started tty1

exec echo 8192 > /sys/block/md0/md/stripe_cache_size

Я думаю, что он должен запускать команду примерно во время запуска терминала, что, вероятно, примерно в то же время, когда вы запускаете команду .

0
ответ дан 16 January 2011 в 09:04

Добавьте правило udev, например, на /etc/udev/rules.d/60-md-stripe-cache.rules:

SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"

Я на самом деле не пробовал это, так что это может быть не на 100% правильно (могут быть некоторые опечатки), но это должно быть близко. Проверьте man udev, чтобы понять больше.

Вы также можете выполнить следующие команды впоследствии, чтобы немедленно применить новое правило:

udevadm trigger
udevadm control --reload-rules
0
ответ дан 16 January 2011 в 09:04

На этой странице предполагается, что размер полосы (или ширина) должен был быть установлен при настройке fs. Может быть, здесь могут помочь тюны?

0
ответ дан 16 January 2011 в 09:04

Другие вопросы по тегам:

Похожие вопросы: