Ускорение SSD в Ubuntu
Обновлено: 21.11.2024
Твердотельные накопители (SSD) практически обязательны для ориентированных на производительность ПК с Linux, даже несмотря на то, что они дороже, чем традиционные механические жесткие диски. В этой статье мы расскажем о небольшой настройке, которая повысит производительность SSD, когда ваш ноутбук работает от батареи.
Отказ от ответственности. Описываемая ниже настройка изменяет способ управления питанием SSD в вашей системе Linux. Пользуюсь этим методом уже давно и проблем не возникало. Тем не менее, я не могу нести ответственность, если что-то пойдет не так с вашим SSD-накопителем после использования этой настройки. Вам рекомендуется действовать по своему усмотрению, следуя этим инструкциям.
Общие сведения об управлении питанием SSD в Linux
В большинстве дистрибутивов Linux используется API-интерфейс Advanced Power Management (APM) ядра Linux для управления конфигурацией, оптимизации производительности и обеспечения стабильности устройств хранения. Этим устройствам присваивается значение APM от 1 до 255 для управления их пороговыми значениями управления питанием. Значение 254 указывает на лучшую производительность, а значение 1 указывает на лучшее управление питанием. Присвоение значения 255 полностью отключит APM. По умолчанию твердотельным накопителям назначается APM 254, когда система работает от внешнего источника питания. В режиме работы от батареи уровень APM устанавливается на 128, что снижает скорость чтения и записи твердотельных накопителей. В этой статье объясняется, как увеличить уровни SSD APM до 254, когда ваш ноутбук с Linux работает от батареи.
Использование дисков GNOME
Чтобы изменить уровень SSD APM в любом дистрибутиве Linux на основе GNOME, запустите приложение «Диски GNOME» из панели запуска приложений. Убедитесь, что ваш ноутбук находится в режиме работы от батареи. Выделите запись своего SSD-накопителя на боковой панели и щелкните трехточечное меню в правом верхнем углу, чтобы открыть меню управления дисками. Нажмите «Настройки диска…», чтобы открыть окно конфигурации.
На следующем экране убедитесь, что флажок «Применить дополнительные параметры управления питанием» включен. Используйте ползунок, чтобы увеличить APM до 254. Нажмите кнопку «ОК», чтобы применить настройки. Вам может быть предложено ввести пароль пользователя.
После применения этих настроек перезагрузите систему, чтобы изменения вступили в силу. Теперь у вас должна быть увеличена скорость чтения и записи SSD в режиме работы от батареи. Для справки, вот скорость чтения моего твердотельного накопителя SATA, показывающая положительное влияние повышения уровня APM на производительность.
Производительность SSD при APM 128 в режиме работы от батареи:
Производительность SSD при APM 254 в режиме работы от батареи:
Улучшение производительности существенное. Вы можете сравнить эти скорости чтения со скоростями, заявленными поставщиком, чтобы оценить качество твердотельных накопителей, установленных в вашей системе.
Использование hdparm
Если вы предпочитаете командную строку, вы можете использовать утилиту настройки hdparm для управления питанием SSD. Для начала определите «UUID» своего SSD, выполнив любую из приведенных ниже команд:
Вы должны получить такой вывод. Запишите значение «UUID».
/dev/sda7: UUID="a1bb9815-6c80-419c-bade-c2aeeef606e2" TYPE="ext4"
PARTUUID="42cbf56f-15c5-41b7-9a2b-36d5034c1fce"
Убедитесь, что ваш ноутбук отключен от внешнего источника питания, а затем выполните приведенную ниже команду, чтобы проверить текущий уровень APM (замените UUID в команде на UUID вашего собственного SSD).
На снимке экрана выше используется другой идентификатор SSD, но конечный результат тот же. Чтобы повысить уровень APM до 254, выполните команду в следующем формате (заменив UUID на идентификатор вашего устройства):
Приведенная выше команда изменит APM только для текущего сеанса. Чтобы сделать это изменение постоянным при перезагрузке, требуется немного больше работы. Чтобы сделать новый уровень APM постоянным, вы должны сначала найти исполняемый двоичный файл «hdparm» и его файл правил «udev». Следующие две команды помогут вам найти эти файлы:
Теперь откройте файл правил udev в текстовом редакторе, выполнив приведенную ниже команду (замените «nano» на команду вашего любимого текстового редактора):
Если файл правил hdparm не существует, вы можете создать новый файл правил в любой из папок udev, расположенных в вашей системе.
Теперь поместите следующий код в конец файла, осторожно заменив двоичный путь и UUID вашего собственного SSD-накопителя.Это справочный код, используемый для SSD в моем ноутбуке с Linux, поэтому не добавляйте точно такой же код в файл правил udev в вашей системе.
Сохраните файл правил и перезагрузите систему, чтобы изменения вступили в силу. Теперь ваш SSD должен иметь APM 254 в режиме работы от батареи.
Заключение
Изменение значений SSD APM может повысить скорость чтения и записи, а также общую производительность системы вашего ноутбука с Linux. Однако агрессивные уровни APM могут привести к более быстрой деградации устройств хранения. Используйте это руководство с осторожностью и меняйте уровни APM только в том случае, если для вас чрезвычайно важна производительность.
Об авторе
Нитеш Кумар
Я внештатный разработчик программного обеспечения и писатель, который любит Linux, программное обеспечение с открытым исходным кодом и сообщество свободного программного обеспечения.
Какие действия следует предпринять до/во время/после установки Ubuntu на твердотельный накопитель, чтобы оптимизировать производительность и обеспечить максимальную надежность накопителя?
13 ответов 13
Я успешно использовал несколько различных методов, чтобы улучшить способ использования Ubuntu устройства хранения, будь то твердотельный или традиционный диск.
Что касается твердотельных накопителей, вы также стремитесь свести к минимуму количество операций записи на диск, так как операции чтения не должны увеличивать износ диска.
1) Управление файлом подкачки
Если вы не переводите компьютер в спящий режим и у вас достаточно оперативной памяти для запуска всех ваших приложений, то теоретически раздел подкачки вам не нужен.
Если у вас есть и SSD, и жесткие диски, разместите раздел подкачки только на жестких дисках.
2) Нет записи для временных меток чтения (подходит для твердотельных накопителей и жестких дисков)
Монтирование разделов с параметрами noatime и nodiratime остановит запись временных меток при чтении файлов и папок. Эти записи временных меток обычно не требуются, если вы не используете клиент локального почтового сервера, такой как mutt. Причина, по которой это, как правило, плохая идея, заключается в том, что каждое чтение будет производить запись при обновлении меток времени. Это сокращает срок службы SSD.
Отредактируйте файл конфигурации /etc/fstab (осторожно — сделайте резервную копию, чтобы быть уверенным, что нарушение конфигурации fstab может помешать работе вашей системы):
Измените параметры монтирования для своих разделов, добавив текст noatime и nodiratime в строки, определяющие ваш корневой (/) и другие разделы, если они у вас есть (/home) - Примечание: если у вас есть раздел /home , начните с того, что просто измените этот раздел, если вы боитесь что-то сломать
Чтобы эти изменения вступили в силу, вам потребуется перезагрузить компьютер.
3) Минимизация операций записи из ОС и приложений
Предполагая, что вы не используете сервер критически важных продуктов, большинство людей не просматривают журналы, если что-то пойдет не так (тем более, что серьезные ошибки для большинства пользователей Ubuntu случаются редко). Поэтому вы можете настроить Ubuntu так, чтобы все журналы записывались в оперативную память, а не на SSD.
Примечание: вносите следующие изменения только после того, как вы установили все программное обеспечение, которое собираетесь использовать (особенно такое, как веб-сервер Apache), иначе могут возникнуть проблемы с отсутствующими каталогами в /var/log
Откройте /etc/fstab в редакторе (при условии, что вы сделали резервную копию файла /etc/fstab)
Ятритриведи
ЯтриТриведи
Писатель
Есть множество советов по настройке вашего SSD в Linux и множество анекдотических отчетов о том, что работает, а что нет. Мы провели собственные тесты с некоторыми изменениями, чтобы показать вам реальную разницу.
Контрольные показатели
Для тестирования нашего диска мы использовали набор тестов Phoronix. Он бесплатный и имеет репозиторий для Ubuntu, поэтому вам не нужно компилировать с нуля для запуска быстрых тестов. Мы протестировали нашу систему сразу после новой установки 64-разрядной версии Ubuntu Natty, используя параметры по умолчанию для файловой системы ext4.
Наши системные характеристики были следующими:
- Четырехъядерный процессор AMD Phenom II с частотой 3,2 ГГц
- Материнская плата MSI 760GM E51
- 3,5 ГБ ОЗУ
- Встроенный AMD Radeon 3000 с 512 МБ ОЗУ.
- Убунту Натти
Выдающиеся улучшения
Есть несколько изменений, которые люди рекомендуют при переходе на твердотельный накопитель. Отфильтровав некоторые старые вещи, мы составили краткий список настроек, которые дистрибутивы Linux не включили в качестве настроек по умолчанию для твердотельных накопителей.Три из них связаны с редактированием файла fstab, поэтому создайте его резервную копию, прежде чем продолжить выполнение следующей команды:
Если что-то пойдет не так, вы всегда можете удалить новый файл fstab и заменить его копией резервной копии. Если вы не знаете, что это такое, или хотите освежить в памяти, как это работает, взгляните на объяснение HTG: Что такое Linux fstab и как это работает?
Отказ от времени доступа
Вы можете увеличить срок службы твердотельного накопителя, уменьшив объем записи ОС на диск. Если вам нужно знать, когда в последний раз осуществлялся доступ к каждому файлу или каталогу, вы можете добавить эти два параметра в файл /etc/fstab:
Добавьте их вместе с другими параметрами и убедитесь, что все они разделены запятыми и не содержат пробелов.
Включение ТРИМ
Вы можете включить TRIM, чтобы управлять производительностью диска в долгосрочной перспективе. Добавьте следующий параметр в файл fstab:
Это хорошо работает для файловых систем ext4 даже на стандартных жестких дисках. У вас должна быть версия ядра не ниже 2.6.33 или выше; вы застрахованы, если используете Maverick или Natty или у вас включены бэкпорты на Lucid. Хотя это не улучшает первоначальный бенчмаркинг, это должно повысить производительность системы в долгосрочной перспективе, поэтому оно попало в наш список.
Тмпфс
Кэш системы хранится в /tmp. Мы можем указать fstab смонтировать это в ОЗУ как временную файловую систему, чтобы ваша система меньше касалась жесткого диска. Добавьте следующую строку в конец файла /etc/fstab с новой строки:
tmpfs /tmp tmpfs по умолчанию,noatime,mode=1777 0 0
Сохраните файл fstab, чтобы зафиксировать эти изменения.
Переключение планировщиков ввода-вывода
Ваша система не сразу записывает все изменения на диск, и несколько запросов ставятся в очередь. Планировщик ввода-вывода по умолчанию — cfq — справляется с этим нормально, но мы можем изменить его на тот, который лучше работает для нашего оборудования.
Сначала перечислите доступные параметры с помощью следующей команды, заменив «X» на букву вашего корневого диска:
Моя установка находится на sda. Вы должны увидеть несколько разных вариантов.
Если у вас есть крайний срок, вы должны использовать его, так как это дает вам дополнительную настройку в дальнейшем. Если нет, вы сможете использовать noop без проблем. Нам нужно указать ОС использовать эти параметры после каждой загрузки, поэтому нам нужно отредактировать файл rc.local.
Мы будем использовать nano, поскольку нам удобно работать с командной строкой, но вы можете использовать любой другой текстовый редактор (gedit, vim и т. д.).
Добавьте эти две строки над строкой «выход 0», если вы используете крайний срок:
echo крайний срок > /sys/block/sdX/queue/scheduler
echo 1 > /sys/block/sdX/queue/iosched/fifo_batch
Если вы используете noop, добавьте эту строку:
echo noop > /sys/block/sdX/queue/scheduler
Еще раз замените «X» на соответствующую букву диска для вашей установки. Просмотрите все, чтобы убедиться, что все выглядит хорошо.
Затем нажмите CTRL+O, чтобы сохранить, а затем CTRL+X, чтобы выйти.
Перезапустить
Чтобы все эти изменения вступили в силу, вам необходимо перезагрузиться. После этого все должно быть готово. Если что-то пойдет не так и вы не сможете загрузиться, вы можете систематически отменять каждый из вышеперечисленных шагов до тех пор, пока не сможете загрузиться снова. Вы даже можете использовать LiveCD или LiveUSB для восстановления, если хотите.
Ваши изменения fstab сохранятся на протяжении всей жизни вашей установки, даже несмотря на обновления, но ваше изменение rc.local нужно будет повторно вводить после каждого обновления (между версиями).
Результаты сравнительного анализа
Для выполнения тестов мы запустили набор тестов для дисков. Верхнее изображение каждого теста — до настройки конфигурации ext4, а нижнее изображение — после настройки и перезагрузки. Вы увидите краткое объяснение того, что измеряет тест, а также интерпретацию результатов.
Операции с большими файлами
Этот тест сжимает файл размером 2 ГБ со случайными данными и записывает его на диск. Настройки SSD показывают улучшение примерно на 40 %.
IOzone моделирует производительность файловой системы, в данном случае записывая файл размером 8 ГБ. Опять же, увеличение почти на 50%.
Здесь читается файл размером 8 ГБ. Результаты почти такие же, как и без настройки ext4.
AIO-Stress асинхронно тестирует ввод и вывод, используя тестовый файл размером 2 ГБ и размер записи 64 КБ. Здесь производительность увеличилась почти на 200% по сравнению с vanilla ext4!
Операции с небольшими файлами
Создается база данных SQLite, и PTS добавляет в нее 12 500 записей. Настройки SSD здесь фактически снизили производительность примерно на 10%.
В тесте Apache Benchmark тестируется случайное чтение небольших файлов. После оптимизации нашего SSD производительность увеличилась примерно на 25 %.
PostMark имитирует 25 000 транзакций с файлами, 500 одновременно в любой момент времени, с размерами файлов от 5 до 512 КБ. Это довольно хорошо имитирует веб-серверы и почтовые серверы, и мы видим увеличение производительности на 16% после настройки.
FS-Mark анализирует 1000 файлов общим размером 1 МБ и определяет, сколько из них можно полностью записать и прочитать за заданное время. Наши настройки показывают увеличение, опять же, с меньшими размерами файлов. Приблизительно на 45 % больше с настройками ext4.
Доступ к файловой системе
Эталонные тесты Dbench проверяют вызовы файловой системы клиентами, что-то вроде того, как работает Samba. Здесь производительность vanilla ext4 снижается на 75 %, что является серьезным препятствием для внесенных нами изменений.
Вы можете видеть, что по мере увеличения числа клиентов разница в производительности увеличивается.
С 48 клиентами разрыв между ними несколько сократился, но потери производительности из-за наших настроек по-прежнему очевидны.
При 128 клиентах производительность практически одинакова. Вы можете предположить, что наши настройки могут быть не идеальными для домашнего использования в такого рода операциях, но обеспечат сравнимую производительность при значительном увеличении количества клиентов.
Этот тест зависит от библиотеки доступа AIO ядра. у нас здесь улучшение на 20 %.
Здесь у нас есть многопоточное случайное чтение 64 МБ, и здесь производительность увеличилась на 200%! Вау!
При записи 64 МБ данных с помощью 32 потоков производительность по-прежнему увеличивается на 75 %.
Compile Bench имитирует влияние возраста файловой системы, представленное манипулированием деревьями ядра (создание, компиляция, исправление и т. д.). Здесь вы можете увидеть значительную выгоду от первоначального создания смоделированного ядра, около 40%.
Этот тест просто измеряет, сколько времени требуется для извлечения ядра Linux. Здесь не слишком большой прирост производительности.
Обзор
Корректировки, которые мы внесли в стандартную конфигурацию Ubuntu с ext4, оказали значительное влияние. Наибольший прирост производительности был достигнут при многопоточной записи и чтении, чтении небольших файлов и чтении и записи больших непрерывных файлов. На самом деле, единственное реальное место, где мы увидели падение производительности, это простые вызовы файловой системы, на что пользователи Samba должны обращать внимание. В целом производительность таких вещей, как размещение веб-страниц и просмотр/потоковая передача больших видео, кажется довольно значительным.
Имейте в виду, что это было конкретно с 64-разрядной версией Ubuntu Natty. Если ваша система или SSD отличаются, ваш пробег может отличаться. Однако в целом кажется, что сделанные нами настройки fstab и планировщика ввода-вывода значительно повысили производительность, поэтому, вероятно, стоит попробовать на своей собственной установке.
У вас есть свои контрольные показатели и вы хотите поделиться ими? Есть еще одна настройка, о которой мы не знаем? Высказывайтесь в комментариях!
SSD (твердотельный накопитель) значительно ускорит работу вашего компьютера. Это значительно сократит время загрузки и повысит скорость отклика большинства программных приложений.
Каждое действие записи на SSD приводит к нежелательному явлению, известному как усиление записи. Это может сократить срок службы SSD.
Похоже, что Ubuntu 16.04 готова к работе с SSD-накопителями. Вот несколько шагов, которые вы должны предпринять, чтобы продлить срок службы вашего SSD-накопителя. Ключевым моментом является сокращение операций записи.
- добавить время в fstab
- периодически запускать fstrim (по умолчанию в Ubuntu)
- уменьшить использование подкачки (необязательно в системах с достаточным объемом оперативной памяти)
- избегайте перехода в спящий режим («отключено» в Ubuntu)
1. Добавить noatime в fstab
Каждый раз, когда вы обращаетесь к файлу, Linux выполняет действие записи с датой и временем доступа. Это известно как «метка времени доступа». С параметром noatime вы отключаете «отметку времени доступа».
Вы должны добавить опцию noatime в fstab. fstab (таблица файловой системы) описывает разделы диска и их параметры. Этот файл считывается во время загрузки, поэтому Linux автоматически монтирует разделы.
На моей рабочей станции установлен твердотельный накопитель INTEL емкостью 240 ГБ. Полное название модели: «SSD INTEL 540S SERIES SSDSC2KW240H6X1 240GB 2.5” SATA3 TLC SINGLE PACK (S.M.A.R.T. включен)». Вот разделы, которые я создал:
Сначала обо всем по порядку. Создайте резервную копию файла fstab
Затем отредактируйте файл fstab в своем любимом текстовом редакторе (в моем случае это nano)
Добавить noatime в определение разделов. Я добавил параметр noatime в корень (/) и раздел данных:
Перезагрузите систему. Используйте верхнее меню рабочего стола или командную строку:
2. Периодически запускайте fstrim
fstrim используется в смонтированной файловой системе для удаления (или «обрезания») блоков, которые не используются файловой системой. Это полезно для твердотельных накопителей (SSD) и хранилищ с тонким выделением ресурсов. По умолчанию fstrim отбрасывает все неиспользуемые блоки в файловой системе. Можно использовать параметры для изменения этого поведения в зависимости от диапазона или размера, как описано ниже.
Перед использованием trim убедитесь, что ваш SSD поддерживает его. Выполнить:
вот результат в моем случае
Ненулевые значения для DISC-GRAN и DISC-MAX указывают на поддержку TRIM.
Ubuntu уже создала еженедельное задание cron /etc/cron.weekly/fstrim . Если нет, создайте его самостоятельно:
3. Уменьшите использование подкачки
Современные системы имеют достаточно оперативной памяти (4 ГБ и более), поэтому они очень редко используют память подкачки. В этом случае вам нечего делать. В противном случае:
В вашем любимом текстовом редакторе (в моем случае это nano)
Перезагрузите систему. Используйте верхнее меню рабочего стола или командную строку:
4. Избегайте гибернации
В Ubuntu режим гибернации отсутствует в параметрах выключения. Однако избегайте перехода в спящий режим, так как он приводит к большому количеству операций записи на диск. Так что в долгосрочной перспективе это может повлиять на скорость вашего SSD.
Предприниматель | Полный стек разработчик | Основатель MediSign Ltd. У меня более 15 лет профессионального опыта проектирования и разработки веб-приложений. У меня также большой опыт в управлении (веб) проектами.
Итак, я жду, когда приедет мой SSD WD Green. Между тем, я беспокоюсь и хотел бы спросить у тех, кто использует систему на SSD: насколько это быстро? Насколько отзывчивой, быстрой и плавной работает система? А если сравнивать с другими операционками? Стоило ли обновление того для вас?
Переход с жестких дисков на твердотельные накопители огромен. Время загрузки будет значительно улучшено, менее чем за 10 секунд от GRUB до рабочего стола. Аналогичное ускорение с Windows.
Да, очень. Даже программное обеспечение загружается мгновенно. Вы можете проверить время загрузки, используя:
С моим Samsung 860 Evo я получаю
Клянусь, ввод пароля при входе в систему теперь является самой длинной частью моего процесса загрузки.
Samsung 970 EVO 500 ГБ и Samsung 970 EVO PLUS 1 ТБ для моего/дома
Клянусь, ввод пароля при входе в систему теперь является самой длинной частью моего процесса загрузки.
Есть ли у вас драйверы для этого? В Windows есть специальные драйверы для оптимизации SSD Nvme PCI-e, но в прошлый раз, когда я пробовал на Ubuntu, характеристики были примерно на 20% быстрее, чем у sata ssd
У меня есть eco plus, и я использовал резервную копию образа для переустановки Ubuntu. Я считаю, что nvme кажется немного медленным??
Все лучше с твердотельным накопителем. Это как день и ночь.
Замена жестких дисков на моем ноутбуке на твердотельный накопитель была лучшей модернизацией компьютера, которую я когда-либо делал. Помимо времени загрузки, значительно сократилось время, необходимое Ubuntu для поиска файла при нажатии клавиши super и вводе имени файла.
Некоторые из больших ноутбуков имеют отсек для второго диска и также могут извлечь из этого выгоду.
У меня есть 17-дюймовый ноутбук ASUS RoG с жестким диском на 2 ТБ и NVME на 256 ГБ, который используется для раздела efi/boot и в качестве bcache.
На ноутбуке. Но в будущем я планирую приобрести жесткий диск большой емкости и поставить его рядом с твердотельным накопителем.
Загрузка системы занимает от 10 до 15 секунд, большинство приложений открывается мгновенно, это очень похоже на то, что вы видите на смартфонах, более тяжелые приложения, такие как LibreOffice, Gimp и Steam, занимают несколько секунд. Это достойный апгрейд, трудно вернуться к жестким дискам после использования SSD.
По сравнению с обычными жесткими дисками разница огромна
Чтобы сделать его немного более отзывчивым, что уже хорошо со стандартными настройками..
Я изменил планировщик ввода-вывода на «Крайний срок», что действительно помогло увеличить скорость отклика приложений, особенно Firefox.
И я изменил способ обработки системного кеша. вместо /tmp на ssd используется Tmpfs По существу позволяет воссоздать миниатюрный RAM-диск, на котором хранится /tmp.
Это дало довольно хороший импульс! Но убедитесь, что у вас достаточно памяти. У меня на ноутбуке 16 ГБ, а 2 ГБ зарезервировано для кеша на RAM-диске
Я ценю идею вашей аккуратной конфигурации. с другой стороны, я бы не стал тратить дорогую и сверхбыструю оперативную память, чтобы сэкономить немного дешевого и медленного (по сравнению с оперативной памятью) места на твердотельном накопителе. на самом деле ядро должно позаботиться о кэшировании нескольких файлов, которые записываются в / tmp в вашей оперативной памяти, пока ssd не завершит запись. после этого баран можно снова использовать для чего-то другого. возможно, вам нужно включить кэширование в параметрах монтирования, чтобы это работало.
извините за "разглагольствование", но это моя любимая мозоль, и я действительно сомневаюсь, что ваша система стала быстрее без эффекта плацебо. вы измеряли увеличение производительности?
Сегодня с 32 ГБ оперативной памяти это не так плохо, как 20 лет назад, но ручное управление оперативной памятью почти всегда является плохой идеей. ядро лучше знает, что кэшировать, а что нет.
крайней стороной этого мышления являются программы для вашего смартфона или Windows, которые «оптимизируют» ваше устройство, чтобы всегда иметь свободную оперативную память X-gb. зачем ограничивать доступ к оперативной памяти, от этого она не станет быстрее.
почему бы нам не создать виртуальный диск для наших разделов подкачки. разве это не гениальная идея? ^^
Читайте также: