【问题标题】:In python, can I see if a file lives on an HD or an SSD?在 python 中,我可以查看文件是位于 HD 还是 SSD 上?
【发布时间】:2015-06-04 15:15:34
【问题描述】:

我想随机访问一个大型数组 (>7GB) 的元素,我将其作为 HDF5 数据集 (h5py.Dataset) 或内存映射数组 (numpy.memmap) 加载到 Python 中。

如果此文件存在于旋转盘片 HD 上,则这些随机访问将持续很长时间,原因很明显。

在尝试这些随机访问之前,有没有办法检查(断言)有问题的文件是否存在于 SSD 上?

我在 Linux (Ubuntu 14.04) 中运行 python。我不介意非跨平台解决方案。

【问题讨论】:

  • 操作系统本身甚至都不知道,两者的界面是相同的。我唯一能想到的就是做一些时间测试,但这可能比它的价值更麻烦。
  • 使用较新的内核非常容易,请参阅:unix.stackexchange.com/q/65595
  • cat /sys/block/sda/queue/rotational 会告诉您您的硬盘是固态硬盘还是硬盘。 (1是硬盘,0是ssd)
  • 这些必须以某种方式来说明。如果我尝试对 SSD 进行碎片整理,我的碎片整理软件会发出警告。
  • @NendoTaka 酷!现在有没有办法让我从文件的绝对路径中判断文件所在的硬盘驱动器(根据“sda”、“sdb”等)?

标签: python numpy h5py solid-state-drive memory-mapping


【解决方案1】:

cat /sys/block/sda/queue/rotational 是确定您的硬盘是 SSD 还是硬盘的好方法。您也可以稍微更改此命令以获得其他有用的信息,例如cat /sys/block/sdb/queue/rotational

【讨论】:

  • 有什么推荐的方法来查找特定文件所在的 /sys/block/*?
猜你喜欢
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2016-11-23
  • 1970-01-01
  • 2015-04-17
  • 2011-01-24
  • 2020-09-11
  • 2014-06-24
相关资源
最近更新 更多