Вопрос или проблема
Недавно мой SSD на Arch Linux (1TB Crucial BX500) начал замедляться, из-за чего система стала неотзывчивой и время от времени зависала. После быстрого бенчмаркинга оказалось, что скорость чтения нормальная (около 500МБ/с, как и ожидалось), но скорость записи значительно ниже ожидаемой (около 30МБ/с).
Я также провел тест SMART на диске, который показал 79% оставшегося срока службы, что по сравнению с SSD на Windows (та же модель и время использования) очень низко.
На этом этапе я начинаю думать, что SSD на Linux, вероятно, покидает этот мир, и мне стоит его заменить. Хотя я сделал что-то, что улучшило ситуацию: я отформатировал и заново создал загрузочный раздел Linux с нуля, и дела сразу вернулись в норму… но с некоторыми нюансами. Я снова запустил бенчмарки KDiskMark, и они выдали результаты чуть нестабильные, но в целом намного лучше, чем раньше, и система теперь стала более плавной.
Есть ли что-то еще, что мне следует попробовать перед окончательной заменой SSD?
Диск выглядит нормально — как “работающий по назначению” — однако он не предназначен для хороших показателей при записи.
Это диск начального уровня, и скорости записи оставляют желать лучшего — см. https://tomshardware.com/reviews/crucial-bx500-ssd,5377.html — в котором были получены показатели от 68 до 100 мегабайт в секунду для непрерывной записи.
Показатель 79% (который мне кажется немного подозрительным – математика не сходится) означает, что диск записал около 21% от того, что можно было бы ожидать в течение его срока службы. Поскольку вы написали только 11 ТБ на данный момент, это не должно быть проблемой. Я считаю, что этот показатель 79% подозрителен, потому что диск — это 1 ТБ с выносливостью 360 ТБ. Похоже, что показатель выносливости рассчитывается так, как будто диск — это только модель на 250 ГБ.
Возможно, стоит посмотреть, как выглядит ввод-вывод вашего диска — я подозреваю, что происходит много свопинга. Вы можете получить представление о вводе-выводе, выполнив команду:
vmstat 5
И посмотрев на столбцы свопа и ввода-вывода. Если своп высокий, вы можете либо добавить больше ОЗУ в вашу систему, либо изменить значение swappiness на низкое (или и то, и другое). Я не использовал Arch, но в общем вы можете изменить это, отредактировав /etc/sysctl.conf
и добавив/изменив строку:
vm.swappiness = 5
Затем выполните:
sysctl -p
Чтобы загрузить это в текущую работающую систему.
Конечно, новый диск с лучшим контроллером, вероятно, обеспечит вам в разы лучшую производительность, чем вы можете получить от текущего диска. Если ваша система поддерживает NVMe-диски, они оставят SATA далеко позади — но даже SATA-диск с хорошим контроллером даст 5-10 раз лучшую скорость записи, чем у вас сейчас.
“…определенно заменяя SSD?”
Это лучший совет.
Ваш SSD умирает; тот факт, что вы воссоздали раздел Linux, лишь немного продлит ему жизнь. Скоро он вернется в свое прежнее состояние от ежедневного/базового использования.
Единственная ваша настоящая надежда — купить новый SSD и заменить им старый SSD.
Ответ или решение
Совершенно ясно, что ваша проблема с SSD на Linux вызвана сочетанием факторов, включая качество самого устройства, возможные операции с диском и конфигурации системы. Давайте подробно рассмотрим каждый аспект.
Причины медленной записи на SSD
-
Тип SSD и его характеристики: Crucial BX500 — это бюджетный SSD, в котором используются более медленные компоненты по сравнению с более дорогими моделями. Такая архитектура может быть причиной медленной записи, особенно при высоких нагрузках. Ваша начальная скорость записи 30 МБ/с явно ниже ожидаемого уровня, особенно если базироваться на спецификациях SSD.
-
Состояние SSD: Согласно вашему SMART-тесту, диск показывает 79% износа. Хотя это может не казаться критическим, для SSD с низкой долговечностью (например, на 1TB) это может влиять на производительность, так как запись на диск может замедляться по мере его заполнения.
-
Своппинг и загрузка памяти: Как вы упомянули, замедление системы может быть связано со своппингом, если оперативной памяти недостаточно. Использование команды
vmstat
может помочь вам увидеть, как происходит взаимодействие с диском и есть ли проблемы с памятью.
Что можно сделать для улучшения скорости записи
-
Оптимизация параметров системы:
- Изменение параметра
vm.swappiness
может помочь уменьшить использование свопа, тем самым разгрузив SSD. Установка значения5
, как вы уже упомянули, позволит системе реже использовать своп и больше полагаться на оперативную память.
- Изменение параметра
-
Мониторинг и управление загрузкой: Используйте инструменты мониторинга (например,
iotop
илиhtop
) для выявления процессов, которые слишком активно используют диск. Оптимизация программного обеспечения или уменьшение фоновых задач может помочь. -
Проверка состояния файловой системы: Иногда файлы могут фрагментироваться, нарушая рекордность записи. Используйте утилиты для проверки и коррекции файловой системы (например,
fsck
). -
Обновление прошивки SSD: Иногда производители выпусдают обновления прошивки, которые могут улучшить производительность и устранить ошибки. Проверьте на сайте Crucial, есть ли обновления для вашего диска.
-
Переход на новый SSD: Рассматривая все причины, возможно, лучшим вариантом будет замена SSD на более качественный. Обычно NVMe-диски обеспечивают гораздо более высокую скорость записи и чтения, чем SATA-диски, значительно улучшая производительность системы.
Заключение
Хотя оптимизации системы и анализ состояния SSD могут помочь немного улучшить ситуацию, учтите, что со временем производительность вашего текущего устройства будет только ухудшаться. Поэтому, если ваши нужды в производительности высоки, замена SSD на более современный и быстрый диск окажется наиболее рациональным решением. Это, несомненно, улучшит как скорость записи, так и общую отзывчивость вашей системы.