Linux 基础教程

Linux 参考手册

Linux 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/linux-cmd-ssd-hdd-get.html

如何查看或判断磁盘/硬盘是固态硬盘(SSD)还是机械硬盘(HDD)

Linux lsblk 命令 Linux lsblk 命令


想要判断 Linux 下磁盘是固态硬盘(solid-state drive)还是机械硬盘(hard disk),有多种方法。

方法一,cat /sys/block/{fs_name}/queue/rotational

Linux 可以自动判定硬盘是否是 SSD,从 2.6.29 的内核版本之后,可以通过如下命令查看硬盘是不是 ssd:

cat /sys/block/{fs_name}/queue/rotational

其中,{fs_name} 是你的硬盘设备名称,例如 vda、vdb、sda 等等。

若上述命令返回 1 表示机械硬盘(hard disk),若返回 0,则表示固态硬盘(ssd)。

需要注意的是,如果设备是例如 RAID 这样的逻辑设备,上述命令可能不可用。

示例如下:

[deme@Linux ~]$ cat /sys/block/vdb/queue/rotational
1
[deme@Linux ~]$ grep ^ /sys/block/*/queue/rotational
/sys/block/vda/queue/rotational:1
/sys/block/vdb/queue/rotational:1

方法二,利用 lsblk 命令

使用 lsblk 命令进行判断,该命令属于 util-linux(一个 Linux 标准软件包)的一部分,参数 -d 表示显示设备名称,参数 -o 表示仅显示特定的列。

[deme@Linux ~]$ lsblk -d -o name,rota
NAME ROTA
vda     1
vdb     1

其中 ROTA 表示 rotational device,1 代表是机械硬盘,0 则就是 ssd 了。

方法三,使用 fdisk 命令

使用 fdisk 命令,后面加 -l 选项表示查看磁盘详细信息,如果输出的详细信息中包含机械硬盘中有的 heads(磁头)、track(磁道)、cylinders(柱面)等概念,那表示是该磁盘是 HDD,否则很有可能是 SSD。

下面分别列出了 HDD 和 SSD 的示例:

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074f7d
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos

方法四,使用第三方工具 smartctl

smartctl 是管理和监控存储硬件工具 smartmontools 的两个程序工具之一,另一个是 smartd 程序工具,可以通过如下命令查看磁盘信息:

smartctl -a /dev/{fs_name}

示例如下:

[deme@Linux ~]$ smartctl -a /dev/disk1s1

如果看到如下一行信息,表示是固态硬盘(SSD)。

......
Rotation Rate:    Solid State Device
......

 

elasticsearch 查看当前集群中的 master 节点是哪个需要使用 _cat 监控命令,具体如下。 ...
在 es 使用中,开发者想配置自身业务中沉淀的同义词(synonyms)表,并基于该同义词库配置包含其的分析器(analyzer),主要分为 ...
Redis 如何查看 key 的数量(个数),有三个相关命令,分别是 info、dbsize 和 keys。 ...
Elasticsearch索引的配置项主要分为静态配置属性和动态配置属性,静态配置属性是索引创建后不能修改,而动态配置属性则可以随时修改。r ...
在一些业务开发中,我们希望从 redis 的有序列表(zset)中获取分数(score)最大或最小的元素成员(member),我们可以使用 ...