Linux 文件和进程级 I/O 性能指标
有没有人提出一种解决方案,允许在进程和/或文件级别报告 I/O 性能指标(IOP、MBps)?我不确定 Linux 是否保留此信息,但想了解一下其他人在做什么。
我的用例是:
1)我知道某个特定的文件系统和/或设备正在运行,但我想知道它是正在访问的特定文件还是多个。文件系统本身可能会公开此信息。假设我使用典型的 Linux 文件系统。
2)我想知道哪些进程造成了负载。具体来说,如何报告进程级别的吞吐量 (MBps)、IOP、响应时间?我知道该应用程序可以用来解决这些问题,但是,我更感兴趣的是了解操作系统是否公开了这种级别的数据。
Has anyone come up with a solution that allows the I/O performance metrics (IOPs, MBps) to be reported at the process and/or file level? I'm not sure if Linux keeps this info available, but wanted to reach out see what others are doing.
My use cases are:
1) I know that a particular file system and/or device is running hot, but I want to know if it's a particular file that's being accessed or multiple. Potentially the filesystem itself exposes this information. Assume I'm using the typical Linux file systems.
2) I want to know which processes are contributing to the load. Specifically how can I report throughput (MBps), IOPs, response times at the process level? I know that the app could be instrumented to work this stuff out, however, i'm more interested in understanding if the OS exposes this level of data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
/proc/[number]/io
找到它。lsof /dev/sda1
. But it's unlikely to get throughput information on file level (at least I don't know how).iotop
. I don't know any convenient way to get IOPS, but you can find it periodically reading/proc/[number]/io
.