Проверка скорости работы диска (SSD или нет?)

Как понять, ssd у меня диск или нет?


Ответы (3 шт):

Автор решения: hedgehogues

Можно проверить скорость чтения/записи на диск следующей командой в linux:

dd if=/dev/zero of=/root/testfile bs=1G count=1 oflag=direct

В случае, если у Вас ssd, тогда скорость вряд ли будет ниже 200M. Если у Вас НЕ ssd, то она будет существенно ниже, порядка 50M/s. Пример вывода (НЕ ssd):

1+0 records in
1+0 records out
1073741824 bytes (1,1 GB, 1,0 GiB) copied, 28,3923 s, 37,8 MB/s

ssd:

1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.35849 s, 455 MB/s
→ Ссылка
Автор решения: PotroNik

Можно ориентироваться на параметр ROTATIONAL RW.
Для этого получаем список дисков, к примеру так:

lsblk -nb -D --output NAME,TYPE | awk '/disk/{print $1}'

И передаем на обработку в цикл

#!/bin/bash

while read device; do
# Получаем значение по типу устройства
    RW=`cat /sys/block/${device}/queue/rotational`
#Если позиционирующего устройства нет, тогда ssd, иначе hdd
    if [[ ${RW} -eq 0 ]]; then
        type=ssd
    else
        type=hdd
    fi
#Добавляем каждый диск к массиву
    result+=( "$device-$devtype;" )
done< <(lsblk -nb -D --output NAME,TYPE | awk '/disk/{print $1}')

После чего можно посмотреть результат

echo "${result[@]}"

К примеру на одном из серверов вернулся результат:

sda-ssd;sdb-hdd;

→ Ссылка
Автор решения: Sergey

На мой взгляд, самый простой и, в то же время, самый надёжный способ определения типа дисков - прочитать оглавление /dev/disk/by-id. На моём компе оно выглядит вот так:

ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E        wwn-0x5000c5003251db33
ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E-part1  wwn-0x5000c5003251db33-part1
ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E-part2  wwn-0x5000c5003251db33-part2
ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E-part3  wwn-0x5000c5003251db33-part3
ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E-part4  wwn-0x5000c5003251db33-part4
ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E-part5  wwn-0x50014ee2b846f850
ata-ST31000528AS_5VP7E7K6                wwn-0x50014ee2b846f850-part1
ata-ST31000528AS_5VP7E7K6-part1              wwn-0x50014ee2b846f850-part2
ata-ST31000528AS_5VP7E7K6-part2              wwn-0x5002538e90b71d85
ata-ST31000528AS_5VP7E7K6-part3              wwn-0x5002538e90b71d85-part1
ata-ST31000528AS_5VP7E7K6-part4              wwn-0x5002538e90b71d85-part2
ata-WDC_WD10EZRZ-00HTKB0_WD-WCC4J3UDCA5R         wwn-0x5002538e90b71d85-part3
ata-WDC_WD10EZRZ-00HTKB0_WD-WCC4J3UDCA5R-part1       wwn-0x5002538e90b71d85-part4
ata-WDC_WD10EZRZ-00HTKB0_WD-WCC4J3UDCA5R-part2       wwn-0x5002538e90b71d85-part5

Если убрать part и wwn, то останутся три строки:

ata-Samsung_SSD_860_EVO_250GB_S3Y9NX0NB05112E
ata-ST31000528AS_5VP7E7K6
ata-WDC_WD10EZRZ-00HTKB0_WD-WCC4J3UDCA5R

довольно очевидно, что SSD - это Samsung_SSD_860_EVO_250GB.

Думаю, что не так уж сложно будет найти в иНете полный список винтов всех марок. Не больше нескольких тысяч записей будет. И сделать из них табличку на SQLite.

→ Ссылка