Сделать stripe_cache_size постоянным

В 10.10 Ubuntu Software Center имеет список всех обновлений, которые вы загрузили в прошлом.

14
задан 16 January 2011 в 10:04

93 ответа

Добавить правило udev, например. to /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
15
ответ дан 25 May 2018 в 23:33
  • 1
    Большое вам спасибо, это, наконец, идеальное решение :-) Синтаксис в порядке, мне просто нужно было добавить 60- перед именем и регенерировать ramfs. – BarsMonster 10 March 2011 в 19:21
  • 2
    Благодарю. Я не могу поверить, что это все еще проблема в Ubuntu 13.10. Просто пошел от & lt; 10MB / s и полностью зависает до & gt; 100 Мбайт / с при копировании из одного зашифрованного RAID в другой, просто изменив размер кеша полосы на гораздо более щедрую ценность. – frostschutz 5 October 2013 в 02:00
  • 3
    Просто так ясно для других: по крайней мере, по современным системам Ubuntu (17.04 в моем случае), возможно, другим, вам нужно перестроить свои initramfs («sudo update-initramfs -u») после создания этого нового правила или не будет фактически вступают в силу автоматически. – Bryan Henry 23 August 2017 в 07:18

Добавьте правило udev, например. to /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  
15
ответ дан 25 July 2018 в 22:38

Добавить правило udev, например. to /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
15
ответ дан 26 July 2018 в 23:17

Добавьте правило udev, например. to /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  
15
ответ дан 31 July 2018 в 10:42

Добавить правило udev, например. to /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
15
ответ дан 31 July 2018 в 11:46

Добавьте правило udev, например. to /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  
15
ответ дан 2 August 2018 в 04:04

Добавьте правило udev, например. to /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  
15
ответ дан 4 August 2018 в 20:08

Добавьте правило udev, например. to /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  
15
ответ дан 6 August 2018 в 04:10

Добавьте правило udev, например. to /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  
15
ответ дан 7 August 2018 в 22:09

Добавьте правило udev, например. to /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  
15
ответ дан 10 August 2018 в 10:23

Добавьте правило udev, например. to /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  
15
ответ дан 13 August 2018 в 16:48
  • 1
    Большое вам спасибо, это, наконец, идеальное решение :-) Синтаксис в порядке, мне просто нужно было добавить 60- перед именем и регенерировать ramfs. – BarsMonster 10 March 2011 в 19:21
  • 2
    Благодарю. Я не могу поверить, что это все еще проблема в Ubuntu 13.10. Просто пошел от & lt; 10 МБ / с и полностью зависает до & gt; 100 МБ / с при копировании с одного зашифрованного RAID на другой, просто изменив размер кэша полосы до гораздо более щедрой ценности. – frostschutz 5 October 2013 в 02:00
  • 3
    Просто так ясно для других: по крайней мере, по современным системам Ubuntu (17.04 в моем случае), возможно, другим, вам нужно перестроить свои initramfs («sudo update-initramfs -u») после создания этого нового правила или не будет фактически вступают в силу автоматически. – Bryan Henry 23 August 2017 в 07:18

Просто чтобы перейти к последнему сообщению; сценарий под мной работает для меня. Просто поменяйте свои данные между «& lt; ...>». Наслаждайтесь!

#!/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
1
ответ дан 25 May 2018 в 23:33
  • 1
    Не говорите «Просто чтобы расширить последнее сообщение». потому что ответы обычно оцениваются по голосам, поэтому его возможный ответ может оказаться выше того, о котором вы говорите. Обратитесь к сообщению по имени автора. Это намного яснее. – Warren Hill 11 August 2013 в 13:37

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

0
ответ дан 25 May 2018 в 23:33

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

ОРИГИНАЛЬНЫЙ ОТВЕТ: Я не могу понять, как комментировать ваш вопрос; Думаю, я отредактирую этот ответ, когда узнаю больше о вашей проблеме. Можете ли вы опубликовать (или pastebin, если он длинный) вывод
grep -R md0 /etc/init.d
0
ответ дан 25 May 2018 в 23:33
  • 1
    Ничего не найдено. – BarsMonster 13 January 2011 в 08:05
  • 2
    Хммм ... У меня нет RAID, поэтому он довольно длинный, но можете ли вы попробовать «grep -R 256 /etc/init.d» и «grep -R stripe_cache_size /etc/init.d»? – zpletan 13 January 2011 в 16:25
  • 3
    оба не дали никаких результатов. – BarsMonster 15 January 2011 в 13:39

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

start on started tty1

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

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

0
ответ дан 25 May 2018 в 23:33
  • 1
    Я уже пытался поставить это в скрипт запуска (rc.local), и это не помогло. Кроме того, поскольку это сервер Ubuntu, после перезагрузки терминалы могут отсутствовать, AFAIK. – BarsMonster 17 January 2011 в 01:29
  • 2
    Я предлагал это в качестве альтернативы методу rc.local. Возможно, это начнется позже. На самом деле я не знаю. – user1974 17 January 2011 в 04:41
  • 3
    Что касается отсутствия терминалов, я понятия не имею. Почему сервер не запускается после запуска? Мы имеем в виду то же самое, когда говорим о терминале? Несмотря на это, вы можете использовать другую службу для запуска команды, просто измените tty1 – user1974 17 January 2011 в 04:53

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

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

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

0
ответ дан 25 May 2018 в 23:33
  • 1
    Хорошая идея, но, похоже, что-то в процессе загрузки Ubuntu приковано: -S Я постараюсь сегодня опубликовать. – BarsMonster 19 January 2011 в 14:32
  • 2
    Не помогло: - | – BarsMonster 21 January 2011 в 23:03

Добавить

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

- /etc/rc.local.

0
ответ дан 25 May 2018 в 23:33
  • 1
    См. Вопрос - это первое, что я пробовал, и это не сработало, по-видимому, md-driver был повторно инициализирован или что-то после выполнения rc.local. – BarsMonster 25 October 2011 в 12:16

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

-1
ответ дан 25 May 2018 в 23:33
  • 1
    Это совсем другое дело. Размер кеша полосы - это параметр для драйвера ядра MD в памяти для кеша полосы. – BarsMonster 25 January 2011 в 12:36

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

0
ответ дан 25 May 2018 в 23:33

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

0
ответ дан 25 May 2018 в 23:33

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

0
ответ дан 25 May 2018 в 23:33

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

0
ответ дан 25 May 2018 в 23:33

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

0
ответ дан 25 May 2018 в 23:33

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

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

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

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

  grep -R  md0 /etc/init.d  
0
ответ дан 25 July 2018 в 22:38

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

start on start tty1 exec echo 8192> / sys / block / md0 / md / stripe_cache_size

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

0
ответ дан 25 July 2018 в 22:38

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

0
ответ дан 25 July 2018 в 22:38

Просто чтобы перейти к последнему сообщению; сценарий под мной работает для меня. Просто поменяйте свои данные между «& lt; ...>». Наслаждайтесь!


  #! / Bin / sh -e # # rc.local # # Этот скрипт выполняется в конце каждого многоуровневого уровня запуска.  # Убедитесь, что сценарий будет «выходить 0» на успех или любое другое значение # при ошибке.  # # Чтобы включить или отключить этот скрипт, просто измените биты выполнения #.  # # По умолчанию этот скрипт ничего не делает.  ################# ПРИМЕЧАНИЕ ######################## Вы также ограничены процессором и памятью  # ## & lt; Ваше имя & gt;  & lt; Дата модификации & gt;  # ## размер кэша полосы и чтение-вперед # ########################################  #### echo 16384 & gt;  / sys / block / & lt; Ваш RAID5 или 6 Volume & gt; / md / stripe_cache_size blockdev --setra 16384 / dev / & lt; Ваш RAID5 или 6 Volume & gt;  выход 0  
1
ответ дан 25 July 2018 в 22:38

Добавить

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

- /etc/rc.local.

0
ответ дан 25 July 2018 в 22:38

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

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

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

0
ответ дан 25 July 2018 в 22:38

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

-1
ответ дан 25 July 2018 в 22:38

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

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