Про особенности и оптимизацию под SSD диски уже было в теме Производительность диска.
И там же ссылки на публикации (того времени - конца 2014г.) в тему:
Но самое время посмотреть специально только про SSD.
Но самое время посмотреть специально только про SSD.
Код: Выделить всё
olej@ACER:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Код: Выделить всё
olej@ACER:~$ inxi -Dxxx
Drives: Local Storage: total: 223.57 GiB used: 160.77 GiB (71.9%)
ID-1: /dev/sda vendor: Patriot model: Burst size: 223.57 GiB speed: 6.0 Gb/s serial: B7A3078B1C5300206720 rev: 61.3
temp: 33 C scheme: GPT
Скорость чтения:Olej писал(а): ↑20 окт 2019, 12:47Диск:Код: Выделить всё
olej@ACER:~$ inxi -Dxxx Drives: Local Storage: total: 223.57 GiB used: 160.77 GiB (71.9%) ID-1: /dev/sda vendor: Patriot model: Burst size: 223.57 GiB speed: 6.0 Gb/s serial: B7A3078B1C5300206720 rev: 61.3 temp: 33 C scheme: GPT
Код: Выделить всё
olej@ACER:~$ sudo /sbin/hdparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 1114 MB in 3.00 seconds = 370.96 MB/sec
Код: Выделить всё
olej@ACER:~$ sudo ioping -A -D -s512k -c10 /dev/sda4
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=1 time=13.5 ms (warmup)
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=2 time=2.17 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=3 time=1.34 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=4 time=2.10 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=5 time=3.68 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=6 time=2.44 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=7 time=1.33 ms (fast)
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=8 time=2.35 ms
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=9 time=1.35 ms (fast)
512 KiB <<< /dev/sda4 (block device 183.2 GiB): request=10 time=1.69 ms
--- /dev/sda4 (block device 183.2 GiB) ioping statistics ---
9 requests completed in 18.5 ms, 4.50 MiB read, 487 iops, 243.9 MiB/s
generated 10 requests in 9.00 s, 5 MiB, 1 iops, 568.8 KiB/s
min/avg/max/mdev = 1.33 ms / 2.05 ms / 3.68 ms / 710.8 us
Код: Выделить всё
olej@ACER:~$ sudo fdisk -l /dev/sda
[sudo] пароль для olej:
Диск /dev/sda: 223,6 GiB, 240057409536 байт, 468862128 секторов
Disk model: Patriot Burst
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 7D26966E-C393-4E98-B52F-FD416F92630F
Устр-во начало Конец Секторы Размер Тип
/dev/sda1 2048 1050623 1048576 512M EFI
/dev/sda2 1050624 59643903 58593280 28G Файловая система Linux
/dev/sda3 59643904 84557823 24913920 11,9G Linux своп
/dev/sda4 84557824 468860927 384303104 183,3G Файловая система Linux
Код: Выделить всё
olej@ACER:~$ df | grep ^/dev/sda
/dev/sda2 28705700 22718760 4505724 84% /
/dev/sda1 523248 5220 518028 1% /boot/efi
/dev/sda4 188087440 145863156 32600324 82% /home
Код: Выделить всё
olej@ACER:~$ /sbin/swapon
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 11,9G 0B -2
/dev/zram0 partition 128M 0B 100
Код: Выделить всё
olej@ACER:~$ sudo ioping -S64M -L -s128k -WWW -c10 /dev/sda3
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=1 time=11.9 ms (warmup)
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=2 time=2.45 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=3 time=2.61 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=4 time=2.32 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=5 time=2.55 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=6 time=2.79 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=7 time=2.68 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=8 time=2.54 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=9 time=2.58 ms
128 KiB >>> /dev/sda3 (block device 11.9 GiB): request=10 time=2.61 ms
--- /dev/sda3 (block device 11.9 GiB) ioping statistics ---
9 requests completed in 23.1 ms, 1.12 MiB written, 388 iops, 48.6 MiB/s
generated 10 requests in 9.00 s, 1.25 MiB, 1 iops, 142.2 KiB/s
min/avg/max/mdev = 2.32 ms / 2.57 ms / 2.79 ms / 125.8 us
Команда TRIM была введена вскоре после появления твердотельных накопителей (SSD), чтобы сделать их конкурентоспособной альтернативой традиционным HDD в персональных компьютерах. Из-за того, что на внутреннем уровне реализация операций в SSD существенно отличается от реализации тех же операций в традиционных механических жёстких дисках, обычные методы ОС таких операций, как удаление файлов и форматирование диска (не обращаясь непосредственно к затрагиваемым секторам/страницам на накопителе), приводит к прогрессирующему ухудшению производительности операций записи на SSD.
Но, как пишут, не все SSD поддерживают операцию TRIM.Традиционно большинство ОС не информируют накопители об удаленных секторах/страницах, что не позволяет контроллерам SSD оптимально распределять свободное пространство. Команда TRIM была введена чтобы исправить это, очищая неиспользуемые ячейки до того, как в них будет произведена запись, таким образом уменьшая время доступа.
Так как команда полностью стирает данные в ячейках, восстановить из них данные обычно не представляется возможным.[
Так что начинать всегда нужно с проверки того, что носитель поддерживает TRIM - Fedora - Включить TRIM для SSD.TRIM не всегда поддерживается в RAID-массивах.
Для старых твердотельных дисков, произведённых до добавления команды TRIM в стандарт ATA, необходимо обновление прошивки — в противном случае команда будет ими игнорироваться. Команда TRIM поддерживается также не всеми операционными системами.
Код: Выделить всё
olej@ACER:~$ lsblk --discard
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
loop0 0 4K 4G 0
loop1 0 4K 4G 0
loop2 0 4K 4G 0
sda 0 512B 2G 0
├─sda1 0 512B 2G 0
├─sda2 0 512B 2G 0
├─sda3 0 512B 2G 0
└─sda4 0 512B 2G 0
sr0 0 0B 0B 0
zram0 0 4K 2T 0
Или так:Все диски, где в колонках DISC-MAX / DISC-GRAN не будет по нулям, это значит, что диски поддерживают TRIM:
Код: Выделить всё
olej@ACER:~$ sudo /sbin/hdparm -I /dev/sda | grep TRIM
[sudo] пароль для olej:
* Data Set Management TRIM supported (limit 8 blocks)
Меня сильно удивило в моём Debian 10:
Код: Выделить всё
olej@ACER:~$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
Loaded: loaded (/lib/systemd/system/fstrim.timer; disabled; vendor preset: enabled)
Active: inactive (dead)
Trigger: n/a
Docs: man:fstrim
olej@ACER:~$ systemctl status fstrim.service
● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
Loaded: loaded (/lib/systemd/system/fstrim.service; static; vendor preset: enabled)
Active: inactive (dead)
Docs: man:fstrim(8)
Код: Выделить всё
olej@ACER:~$ crontab -l
no crontab for olej
olej@ACER:~$ ls -lah /etc/cron.*/ | grep trim
olej@ACER:~$
Код: Выделить всё
olej@ACER:~$ time sudo fstrim -v /
/: 5,7 GiB (6126694400 bytes) trimmed
real 0m1,934s
user 0m0,000s
sys 0m0,180s
Код: Выделить всё
olej@ACER:~$ time sudo fstrim -v -A
[sudo] пароль для olej:
/home: 40,3 GiB (43216863232 bytes) trimmed on /dev/sda4
/boot/efi: 505,9 MiB (530460672 bytes) trimmed on /dev/sda1
/: 38,1 MiB (39944192 bytes) trimmed on /dev/sda2
real 0m4,242s
user 0m0,012s
sys 0m0,112s
Чтобы к этому не возвращаться (пока я не убежусь в противном ) делаю так:
Код: Выделить всё
olej@ACER:~$ sudo systemctl enable fstrim.service
[sudo] пароль для olej:
The unit files have no installation config (WantedBy=, RequiredBy=, Also=,
Alias= settings in the [Install] section, and DefaultInstance= for template
units). This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
olej@ACER:~$ sudo systemctl start fstrim.service
olej@ACER:~$ sudo systemctl status fstrim.service
● fstrim.service - Discard unused blocks on filesystems from /etc/fstab
Loaded: loaded (/lib/systemd/system/fstrim.service; static; vendor preset: enabled)
Active: inactive (dead)
Docs: man:fstrim(8)
окт 20 14:07:57 ACER systemd[1]: Starting Discard unused blocks on filesystems from /etc/fstab...
окт 20 14:07:58 ACER fstrim[13026]: /home: 956 MiB (1002487808 bytes) trimmed on /dev/sda4
окт 20 14:07:58 ACER fstrim[13026]: /boot/efi: 505,9 MiB (530460672 bytes) trimmed on /dev/sda1
окт 20 14:07:58 ACER fstrim[13026]: /: 0 B (0 bytes) trimmed on /dev/sda2
окт 20 14:07:58 ACER systemd[1]: fstrim.service: Succeeded.
окт 20 14:07:58 ACER systemd[1]: Started Discard unused blocks on filesystems from /etc/fstab.
Код: Выделить всё
olej@ACER:~$ sudo systemctl enable fstrim.timer
Created symlink /etc/systemd/system/timers.target.wants/fstrim.timer → /lib/systemd/system/fstrim.timer.
olej@ACER:~$ sudo systemctl start fstrim.timer
olej@ACER:~$ sudo systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Sun 2019-10-20 14:09:18 EEST; 6s ago
Trigger: Mon 2019-10-21 00:00:00 EEST; 9h left
Docs: man:fstrim
окт 20 14:09:18 ACER systemd[1]: Started Discard unused blocks once a week.
olej@ACER:~$ sudo systemctl is-enabled fstrim.timer
enabled
Очень важно (потому как, оказывается, срок службы SSD, в зависимости от технологии, может отличаться в 30 раз!):11 апреля 2019г.
Чаще всего, выбор SSD дисков сводится исключительно к их размерам и стоимости. Чуть более продвинутые пользователи смотрят ещё на заявленные скоростные характеристики и раскрученность бренда – так продаётся большинство накопителей.
На мой взгляд, подобный подход, в корне не правильный, ведь существует масса других, более важных параметров, которые просто не берутся во внимание. Так, я уже рассказывал о характеристиках надежности SSD дисков: TBW и DWPD, а сегодня речь пойдёт о типах памяти, применяемых при производстве твердотельных накопителей.
Стоит понимать, что каждый дополнительный бит существенно снижает количество циклов чтения-записи ячейки памяти и скорость работы SSD. Так, для MLC этот показатель уже около 10 000 циклов, у TLC - 3 000, а QLC всего порядка 1 000. Есть ещё eMLC (Enterprise Multi Level Cell), где число циклов перезаписи увеличено до 30 000.
И ещё: Различия между SLC, MLC, TLC и QLC в SSDКстати, на скорость работы твердотельных накопителей влияет не только тип памяти, но и интерфейс по которому он работает: SATA, PCI-E или NVMe. Так, в случае SSD с интерфейсом SATA заметить разницу в скорости между типами памяти TLC и MLC не получится, зато TLC накопитель с NVMe может оказаться быстрее сходного по цене с памятью MLC, работающего на PCI-E.
Как определить тип памяти в имеющихся SSD? (кроме как по типу модели пойти на сайт производителя в надежде там поискать информацию)11.10.2019
И всё же:Olej писал(а): Как определить тип памяти в имеющихся SSD? (кроме как по типу модели пойти на сайт производителя в надежде там поискать информацию)
У меня на 3-х компьютерах стоят SSD - разных типов, производителей и, главное, очень разных лет производства. Сравнивать их, конечно, очень сложно, хотя бы из-за того, что на этих компьютерах совершенно разные по производительности процессоры, которые могут радикально влиять на скорости...
Код: Выделить всё
[olej@xenix ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 30 (Thirty)
Release: 30
Codename: Thirty
[olej@xenix ~]$ uname -a
Linux xenix.localdomain 5.2.17-200.fc30.x86_64 #1 SMP Mon Sep 23 13:42:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
КОД: ВЫДЕЛИТЬ ВСЁ
[olej@xenix ~]$ inxi -Dxxx
Drives: Local Storage: total: 530.99 GiB used: 117.10 GiB (22.1%)
ID-1: /dev/sda vendor: Western Digital model: WD2500BB-22DWA0 size: 232.89 GiB speed: <unknown>
serial: WD-WMAEH1241345 rev: 5R15 scheme: MBR
ID-2: /dev/sdb vendor: Western Digital model: WD1600JB-00FUA0 size: 149.05 GiB speed: <unknown>
serial: WD-WMAES1729881 rev: 5R15 scheme: MBR
ID-3: /dev/sdc vendor: Intel model: SSDSA2MH160G1GC size: 149.05 GiB speed: <unknown> serial: CVEM938500TB160PGN
rev: 8820 scheme: MBR
[olej@xenix ~]$ inxi -Cxxx
CPU: Topology: Quad Core model: Intel Xeon E5462 bits: 64 type: MCP arch: Penryn rev: 6 L2 cache: 6144 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx bogomips: 18666
Speed: 2003 MHz min/max: 2403/2803 MHz Core speeds (MHz): 1: 2000 2: 2000 3: 2006 4: 2007
Код: Выделить всё
[olej@xenix ~]$ df | grep /dev/sd
/dev/sdc2 156033024 122576344 31257624 80% /
/dev/sdc1 243815 199452 27467 88% /boot
Код: Выделить всё
[olej@xenix ~]$ sudo /sbin/hdparm -t /dev/sdc
[sudo] пароль для olej:
/dev/sdc:
Timing buffered disk reads: 632 MB in 3.00 seconds = 210.36 MB/sec
Код: Выделить всё
olej@ACER:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
olej@ACER:~$ uname -a
Linux ACER 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux
КОД: ВЫДЕЛИТЬ ВСЁ
olej@ACER:~$ inxi -Dxxx
Drives: Local Storage: total: 223.57 GiB used: 160.78 GiB (71.9%)
ID-1: /dev/sda vendor: Patriot model: Burst size: 223.57 GiB speed: 6.0 Gb/s serial: B7A3078B1C5300206720
rev: 61.3 scheme: GPT
olej@ACER:~$ inxi -Cxxx
CPU: Topology: Dual Core model: Intel Celeron G1840 bits: 64 type: MCP arch: Haswell rev: 3 L2 cache: 2048 KiB
flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 11174
Speed: 2794 MHz min/max: 800/2800 MHz Core speeds (MHz): 1: 2775 2: 2774
Код: Выделить всё
olej@ACER:~$ sudo /sbin/hdparm -t /dev/sda
[sudo] пароль для olej:
/dev/sda:
Timing buffered disk reads: 1134 MB in 3.01 seconds = 377.15 MB/sec
Код: Выделить всё
olej@atom ~ $ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 17.3 Rosa
Release: 17.3
Codename: rosa
olej@atom ~ $ uname -a
Linux atom 4.4.0-148-generic #174~14.04.1-Ubuntu SMP Thu May 9 08:18:11 UTC 2019 i686 i686 i686 GNU/Linux
Код: Выделить всё
olej@atom ~ $ df | grep /dev/sd
/dev/sda1 27485052 18879960 7185880 73% /
olej@atom ~ $ inxi -Dxxx
Drives: HDD Total Size: 30.0GB (68.5% used)
ID-1: /dev/sda model: KINGSTON_SSDNOW size: 30.0GB serial: 20LM10BQM83Z
olej@atom ~ $ inxi -Cxxx
CPU: Dual core Intel Core2 Duo E7500 (-MCP-) cache: 3072 KB
flags: (lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx) bmips: 11704
clock speeds: min/max: 1600/2933 MHz 1: 2133 MHz 2: 1867 MHz
Код: Выделить всё
olej@atom ~ $ sudo /sbin/hdparm -t /dev/sda
[sudo] password for olej:
/dev/sda:
Timing buffered disk reads: 286 MB in 3.03 seconds = 94.41 MB/sec
Утверждается, что (под Windows) это возможно, хотя и хлопотно: Как определить тип памяти в SSD
09.04.2018
Код: Выделить всё
[olej@xenix Загрузки]$ ls -l SSD*
-rw-rw-r-- 1 olej olej 399360 окт 20 20:08 SSD-Z_16_01_18b.zip
-rw-r--r-- 1 olej olej 946176 янв 18 2016 SSD-Z.exe
Код: Выделить всё
[olej@xenix Загрузки]$ wine SSD-Z.exe
...
Код: Выделить всё
[olej@xenix ~]$ inxi -Dxxx
Drives: Local Storage: total: 530.99 GiB used: 118.72 GiB (22.4%)
ID-1: /dev/sda vendor: Western Digital model: WD2500BB-22DWA0 size: 232.89 GiB speed: <unknown>
serial: WD-WMAEH1241345 rev: 5R15 temp: 38 C scheme: MBR
ID-2: /dev/sdb vendor: Western Digital model: WD1600JB-00FUA0 size: 149.05 GiB speed: <unknown>
serial: WD-WMAES1729881 rev: 5R15 temp: 46 C scheme: MBR
ID-3: /dev/sdc vendor: Intel model: SSDSA2MH160G1GC size: 149.05 GiB speed: <unknown> serial: CVEM938500TB160PGN
rev: 8820 scheme: MBR
На компьютере с 3-мя дисками:Опубликовано: 2016-02-03
Начиная с версии ядра 2.6.29 Linux автоматически опеределяет SSD и HDD диски. Чтобы узнать, какой тип накопителя установлен в компьютере, а именно узнать SSD или HDD диск в Linux, достаточно набрать следующую команду в терминале:
$ cat /sys/block/sda/queue/rotational
Если в результате вы получаете 0 - значит SSD, если 1 - тогда установлен HDD. Вместо sda нужно подставить наименование носителя, можно в принципе написать sd*. Тогда вы захватите и sda и sdb, если у Вас их несколько.
Код: Выделить всё
[olej@xenix ~]$ inxi -D
Drives: Local Storage: total: 530.99 GiB used: 118.76 GiB (22.4%)
ID-1: /dev/sda vendor: Western Digital model: WD2500BB-22DWA0 size: 232.89 GiB
ID-2: /dev/sdb vendor: Western Digital model: WD1600JB-00FUA0 size: 149.05 GiB
ID-3: /dev/sdc vendor: Intel model: SSDSA2MH160G1GC size: 149.05 GiB
Код: Выделить всё
[olej@xenix ~]$ cat /sys/block/sd*/queue/rotational
1
1
0
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей