SSD: различия между версиями
м (→файловые системы: worked around template weirdness, thx wrar@ and hiddenman@) |
м (→Ссылки: +1) |
||
Строка 65: | Строка 65: | ||
* [http://www.bog.pp.ru/hard/SSD.html Bog BOS: hardware: SSD] | * [http://www.bog.pp.ru/hard/SSD.html Bog BOS: hardware: SSD] | ||
* [http://optimization.hardlinux.ru/?page_id=224 Оптимизация системы под SSD] | * [http://optimization.hardlinux.ru/?page_id=224 Оптимизация системы под SSD] | ||
* [http://blogs.oracle.com/jkshah/resource/pgeast_ssd.pdf Анализ производительности PostgreSQL при использовании SSD/SAS] |
Версия от 20:06, 16 января 2012
Использование ALT Linux на твердотельных дисках
SSD (Solid State Drive, твердотельный накопитель) — перспективный вид постоянной памяти, отличающийся высокой скоростью и низкой латентностью доступа, который уже пригоден для использования в десктопных и серверных задачах.
Несмотря на эти достоинства и совместимость с обычными SATA HDD по интерфейсу большинства моделей, начинка радикально отличается по поведению и без учёта этой разницы можно получить снижение производительности и сокращение срока службы.
Выравнивание разделов
Вкратце — как и для HDD с размером сектора более 512 байт или страйповых RAID, для получения разумной производительности необходимо учитывать размер физического блока[1] при разбиении устройства на разделы. Может быть достаточно отделить первые 1—4[2] двоичных (sic!) мегабайта и начинать первый раздел с 2048-го или 8192-го сектора размером в 512 байт; текущий fdisk сделает это автоматически, инсталер 6.0+ — тоже.
Минимизация записи
Количество циклов перезаписи для flash-памяти ограничено, поэтому при всех предпринимаемых производителями мерах по wear leveling стоит по возможности снизить запись на разделы, размещённые на SSD-накопителе (особенно мелкоблочную случайного характера).
временные файлы
Рекомендуется /tmp на tmpfs (по умолчанию в 4.0+) совместно с pam_mktemp. Можно обдумать отключение дискового кэша браузера.
журналы
- десктоп: рекомендуется отключить (chkconfig syslogd off; service syslogd stop)
- сервер: стоит пересмотреть конфигурацию syslog (см. /etc/syslog.conf).
своп
При достаточном количестве RAM можно обдумать/проверить работу без раздела/файла подкачки (либо вынести его на HDD).
Настройки
block layer
Рекомендуется выставить планировщик ввода-вывода noop или deadline[3], добавив в /etc/sysfs.conf (sysfsutils) строку
block/sda/queue/scheduler = deadline
применение «на лету»:
echo noop > /sys/block/sda/queue/scheduler
VFS
Рекомендуется добавить в /etc/sysctl.conf строку
vm.laptop_mode = 5
применение «на лету»:
sysctl -w vm.laptop_mode=5
файловые системы
Некоторые ФС уже обзавелись[4] поддержкой SSD, которую стоит задействовать — сперва проверив при помощи mount -o remount,option=value вручную и затем аккуратно зафиксировав в /etc/fstab.
общие
- обязательно: noatime[5] или хотя бы relatime (по умолчанию с 4.0+, кажется)
ext4
- обязательно при поддержке TRIM накопителем: discard
- желательно: data=writeback,delalloc,nobarrier
- возможно[6][7]: stripe=1024,commit=NN,max_batch_time=NNNNN,min_batch_time=NNNN
btrfs
- обязательно: ssd
- обязательно при поддержке TRIM накопителем: discard
Примечания
- ↑ ...даже если про него железка смело врёт, что "512 bytes"!
- ↑ см. тж. flashbench и здесь
- ↑ deadline вроде как больше подходит для контроллеров недорогих SSD, которые могут "захлебнуть" запись; noop чуть дешевле по CPU
- ↑ Linux 2.6.33++
- ↑ также включает nodiratime
- ↑ почитайте man mount и подгоните под свою ситуацию!
- ↑ замечено, что как минимум под 2.6.39-pure-emerald-alt6 max_batch_time получает значение min_batch_time, см. /proc/mounts
Ссылки
обзорные
- Solid State Drives - ArchWiki
- AnandTech - The SSD Relapse: Understanding and Choosing the Best SSD (предшествующая антология)
- Optimizing Linux with cheap flash drives [LWN.net]