Gibt es eine schnelle Möglichkeit, eine Art "Speicher" unter Linux zu verstehen? Ist es eine Festplatte oder SSD (oder NVMe)? Es ist bereits bekannt, dass der Host eine physische Maschine und keine VM ist. Das erste, worüber ich nachdachte, war das rotational
Flag unter /sys/block/<device>/queue/
Verzeichnis. Aber meiner Erfahrung nach kann es sogar für SSD-Geräte den Wert "1" enthalten. Der zweite Weg und realistischer und wahrheitsgemäßer war eine Latenz. Es ist etwas schwieriger zu messen (einige arbeiten mit / proc / diskstats), sieht aber besser aus.
Gibt es noch andere Möglichkeiten? Es ist wichtig zu erwähnen, dass ich nicht das genaue Modell des "Speichers" kennen muss, sondern nur dessen Typ.
smartctl
hier erwähnten, anderen Dienstprogrammen wielshw
undlsblk
melden die gleichen Informationen. Siehe auch askubuntu.com/q/792814/295286lshw
. Verlässtlsblk
sich auch aufrotational
Flag im sysfs-Verzeichnis, daher kann ich ihm nicht vertrauen.smartctl
Verwendet den ioctl-Aufruf und fragt direkt vom Gerät nach Informationen.Antworten:
Wie wäre es mit so etwas wie
sudo smartctl -a /dev/<device> | grep Rotation
- wenn dies zurückkehrtRotation Rate: Solid State Device
, dann ist das eine SSD. Ich bin mir auch nicht sicher, ob diese kugelsichere Methode.quelle