linux – 如何找出文件在磁盘上的物理位置(块号)?

我知道这是一个模糊的问题.我正在尝试对 Linux机器上的某些磁盘进行一些性能测试.我得到一些不一致的结果,在同一个磁盘上运行相同的测试.我知道磁盘具有不同的性能,具体取决于访问磁盘的哪个部分.特别是,由于几乎恒定的数据密度和恒定的旋转速度,对磁盘外部的读取和写入比读取和写入磁盘内部的吞吐量高得多.

我想看看我的不一致性是否可归因于这种几何引起的吞吐量变化.是否可以使用现有工具找出磁盘上放置文件的位置?

如果没有,我想我可以写一些东西直接寻找,读取和写入设备文件本身,绕过(并销毁)文件系统,但我希望避免这种情况.我目前在3.0内核上使用ext4(Arch Linux,如果它很重要),但我也对其他文件系统的技术感兴趣.

解决方法

你可以使用debugfs:
debugfs -R "stat ~/myfile" /dev/hda1

相应地更改硬盘/分区驱动器,并确保卸载驱动器.
您将获得一个包含所有使用块的列表:

BLOCKS:
(0):1643532
TOTAL: 1

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...