Я сделал
echo 8192 > /sys/block/md0/md/stripe_cache_size
, чтобы улучшить производительность RAID, и это мне очень помогло.
Но я до сих пор не могу понять, как сделать его постоянным.
Я пытался установить его в /etc/rc.local - другие команды выполняются, но в других местах он был перезаписан до 256 ... Есть подсказки?
Всего в темноте, поскольку у меня нет настройки RAID 5 для тестирования: возможно, добавьте строку с
chmod -w /sys/block/md0/md/stripe_cache_size
в rc.local, чтобы удалить запись разрешения после того, как он установлен. Может быть, это помешает ему измениться в другом месте?
Я тоже пытаюсь это выяснить. Я положил свой в rc.local и не повезло. Я запускаю его вручную после входа в систему. Я полагаю, что вы могли бы написать скрипт, чтобы справиться с этим, и поместить его в ваши «Приложения для запуска», но это совсем не поможет, если вы не вошли в gnome.
Добавить
echo 8192 > /sys/block/mdX/md/stripe_cache_size
к /etc/rc.local
.
Просто подробно остановимся на последнем посте; скрипт внизу работает на меня. Просто поменяйте свои данные между "< ...>". Наслаждайтесь!
<час>#!/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
Поможет ли пакет sysfsutils решить вашу проблему?
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Я не могу понять, как прокомментировать ваш вопрос; Думаю, я отредактирую этот ответ, когда узнаю больше о вашей проблеме.
Можете ли вы опубликовать (или вставить, если он длинный) вывод
blockquote>grep -R md0 /etc/init.d
У меня нет реального ответа для вас, но, возможно, вы могли бы попытаться создать простой стартовый скрипт запуска. Создайте файл в / etc / init с расширением .conf. В файле поместите:
exec echo 8192 > /sys/block/md0/md/stripe_cache_size
start on started tty1
Я думаю, что он должен запускать команду примерно во время запуска терминала, что, вероятно, примерно в то же время, когда вы запускаете команду .
Добавьте правило 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
На этой странице предполагается, что размер полосы (или ширина) должен был быть установлен при настройке fs. Может быть, здесь могут помочь тюны?