Создан: 30.10.2014
 Модиф: 30.10.2014
 Иванов Аркадий
 
 SSD-диски работают совершенно по иному, нежели традиционные HDD.
 У них нет позиционирования головок - это огромный плюс.
 У них ограниченное число циклов перезаписи - это главный минус.
 Зато мы имеем скорость записи/чтения около 500Mb/sec и нет никаких задержек на поиски нужной дорожки и сектора (цифры соответствуют дате написания этой заметки).
  
 Здесь я собрал многое из того, что применимо к использованию SDD в Linux, что может увеличить производительность работы с ним и продлить его жизнь.
  
 1. До установки системы в BIOS следует включить режим AHCI.
 2. В установленной системе включаем поддержку TRIM(команда, передаваемая в SSD, где указываются блоки, уже не используемые файловой системой).
    Для разделов SSD в /etc/fstab в опции монтирования добавляем параметр discard, например:
    UUID=aca9f4ba-a2e7-462a-9802-ea847d2a481b  / ext4  errors=remount-ro,relatime,nodiratime,commit=60,discard,barrier=0    0    1
  
 2a. В строке монтирования я также сразу указал дополнительные важные ключи:
 - relatime - не записыать время последнего доступа к файлу, только время изменения.
 - nodiratime - аналогично для каталогов
 - commit=60 - сброс данных на диск из буферов раз в минуту.
  
 2b. Подобные ключи следует указать для всех разделов SSD-диска.
  
 3. Указываю дополнительные параметры ядра в /etc/sysctl.conf:
    vm.laptop_mode = 5                               # изменение режима
    vm.dirty_writeback_centisecs = 6000   # запись буферов раз в минуту
    vm.swappiness = 5                                 # использую swap только когда свободного ОЗУ останется 5%
  
    Применить изменения следует командой:
    sysctl -p
  
 4. Умолчания для grub правим в /etc/default/grub:
    GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop"
    и затем делаем
    update-grub
    Этот параметр отключает планировщик ввода-вывода, который отвечал за оптимальное позиционирование головок диска.
    Для SSD он не нужен.
  
  5. Используем tmpfs в оперативной памяти машины для каталогов, которые система и задачи используют как временные.
      Добавлю следующие строки в /etc/fstab:
    tmpfs /tmp tmpfs defaults 0 0
    tmpfs /var/tmp tmpfs defaults 0 0
  
 6. Если ОЗУ много, можно вообще отключить SWAP, закомментировав этот раздел в /etc/fstab, например:
    #UUID=07ab725c-7923-4e8a-b048-b39c9ef4ea94 none            swap    sw              0       0
  
 7. Можно искуственно по расписанию запускать очистку блоков, освобождённых файловой системой. В /etc/crontab вписываю 
     очистку файловых систем "/" и "/home" по воскресеньям:
     01 01 * * 7 root fstrim / 2>&1
     05 01 * * 7 root fstrim /home 2>&1