我搜索并找到了 2 个选项,但我确信它们都没有提供答案。
1:cat /sys/block/sda/queue/rotational
这将向 stdout 输出“1”。这是什么意思?
2:lshw -class disc
但找不到任何可以回答我的问题的东西。
答案1
让我们尝试从磁盘的前 16GB 读取 1000 个随机 4k 块:
time for i in `seq 1 1000`; do
dd bs=4k if=/dev/sda count=1 skip=$(( $RANDOM * 128 )) >/dev/null 2>&1;
done
与 SSD 相比,旋转驱动器上这个过程应该非常慢。在我的台式机级 SSD 上,这个过程大约需要一秒钟。在台式机级 7200rpm 旋转驱动器上,这个过程需要 10 秒。
答案2
在物理机(不是 VPS)中,你可以使用以下命令获取类型smartctl
:
smartctl -a /dev/sda
并 grep Rotation
:
smartctl -a /dev/sda | grep Rotation
Rotation Rate: Solid State Device
smartctl -a /dev/sdb | grep Rotation
Rotation Rate: 5400 rpm
您很可能没有机会识别 VPS 内的磁盘类型,因为虚拟机管理程序将真实硬件从客户机中抽象出来。