Тяжелое действие записи по SSD уничтожает производительность системы

Можно технически установить просто загрузчик и одно только ядро, но как только ядро загружается, это будет жаловаться на неспособность запустить "init", затем это будет просто находиться там, и Вы ничего не можете сделать с ним.

BTW, это - часть загрузчика, который находится в MBR. Ядро находится где-нибудь на регулярной области диска. Загрузчик настроен для знания, где то есть, таким образом, он может загрузить ядро и выполнить его.

13
28.08.2010, 01:30
3 ответа

Это было известной проблемой некоторое время. Используя настроенный на SSD FS как Btrfs мог бы помочь, но он не мог бы.

В конечном счете это - ошибка в планировщике/системах управления памятью IO. Недавно, были некоторые патчи, которые имеют целью решать эту проблему. Посмотрите Фиксированный: Настольная проблема Скорости отклика Linux?

Эти патчи могут в конечном счете превратить свой путь в ядро магистрали, но на данный момент, необходимо будет, вероятно, скомпилировать собственное ядро, если Вы хотите устранить эту проблему.

12
27.01.2020, 19:53

Существует несколько вещей, которые можно проверить, чтобы попытаться улучшить производительность SSD в соответствии с Linux.

  1. Установите точку монтирования на 'noatime'. Дополнительные времена доступа обновления действия обычно тратятся впустую на большинство вариантов использования. Особенно в случае непрерывного нагнетания одних строк в файл, Вы вызываете несколько обновлений файловой системы для каждого доступа.

  2. Проверьте лифт. Лифт по умолчанию для большинства дистрибутивов настраивается для дисков вращения произвольного доступа. SSD не нужна дополнительная логика, таким образом устанавливание лифта к noop может улучшить производительность, позволив аппаратным средствам управлять записями.

  3. Запишите - посредством v кэширования обратной записи. Это немного более тайно, но можно проверить метод кэширования, используемый с hdparm для устройства. Кэширование обратной записи может оказать позитивное влияние на производительность SSD, сравненную с записью - через.

1
27.01.2020, 19:53
  • 1
    Могли Вы @nzwulfin писать немного больше об установке лифта? –  Grzegorz Wierzowiecki 14.06.2012, 10:10

Кэширование файлов, вероятно, неправильно настроено для рабочей нагрузки. К сожалению, ядро Linux достаточно глупо, чтобы не обрабатывать это автоматически, и значения по умолчанию довольно плохие, если у вас много оперативной памяти и достаточно медленные блочные устройства. Дополнительные сведения см. в разделе https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/.

Я бы предложил попробовать модифицировать /etc/sysctl.conf либо

vm.dirty_background_ratio = 3
vm.dirty_ratio = 6

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

Другой возможностью является увеличение кэширования, но если ваш процесс постоянно записывает новые данные все время, вы столкнетесь с очень плохой задержкой, если кэш когда-либо заполнится. Если вы хотите попробовать, вы можете сделать что-то вроде

vm.dirty_background_ratio = 5
vm.dirty_ratio = 80

Обратите внимание, что настройки *_ratio относятся к проценту доступной оперативной памяти. Если вам нужно лучше управлять, используйте настройки *_bytes. Я лично использую следующую конфигурацию для своей рабочей станции:

vm.dirty_background_bytes = 50000000
vm.dirty_bytes = 200000000

Это ограничивает кэш фоновой записи до 50 МБ и принудительно синхронную запись, если в кэше находится 200 МБ.

0
27.01.2020, 19:53

Теги

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