我正在寻找识别磁盘是SSD还是HDD的方法?我发现有一种方法可以检测到它。这是通过读取cat / sys / block / sda / queue / rotation的值?如果它是1那么它是HDD,否则它是SSD。我想知道这个文件是什么/ sys / block / sda / queue / rotate?为什么它被内核使用?这个由内核维护的k对象是什么?
答案 0 :(得分:10)
来自:https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
旋转(RW)
如果设备属于旋转类型,则此文件用于统计 非旋转型。
另请参阅:http://lwn.net/Articles/408428/
传统上,阻挡层是由避免头部搜索的需要驱动的;如果设法避免单次搜索,则可以证明使用相当多的CPU时间是合理的。固态硬盘 - 至少是好的固态硬盘 - 更少关注搜索,因此花费大量的CPU时间来避免它们不再有意义。有多种方法可以检测硬件中的SSD,但它们并不总是有效,特别是对于质量较差的设备。因此块层在
下导出一个标志
/sys/block/<device>/queue/rotational
可用于覆盖系统关于它正在处理哪种存储设备的概念。