【发布时间】:2019-08-06 06:18:20
【问题描述】:
目的是获取Linux平台下物理硬盘的信息。所需信息包括物理硬盘名称(标题)、设备路径(如/dev/sda)、读/写速率和每个物理磁盘的读写吞吐量、磁盘总容量和每个物理磁盘的剩余可用容量。我最终需要在 C++ 程序中获取这些信息。但我也接受命令行获取方式。
我尝试过lshw、smartctl、hdparm、lsblk、fdisk.etc,但其中一些命令在不同的 Linux 发行版上不可用。而这些方法并不能得到我想要的所有信息。我也尝试从/proc/diskstats、/sys/block等处获取信息,但并没有解决问题。逻辑磁盘和物理磁盘之间的混淆也使处理变得困难。需要强调的是,您需要获取的信息是针对每个物理磁盘的。
【问题讨论】:
-
这个问题可能离题了,但是在 smarctl 和其他工具正在运行的系统上,您可以使用
strace来查看信息的来源。
标签: c++ linux disk read-write