当前位置: 技术问答>linux和unix
关于iostat读取的/proc/diskstats文件
来源: 互联网 发布时间:2016-12-28
本文导语: 最近在调查sar和iostat工具是如何进行系统数据采集与统计的。 发现,iostat命令会从/proc/diskstats 以及 /sys/blocks 这两个目录下收集所需的硬盘及分区的数据的。 这两个目录下的数据基本上完全相同(关键的性能数据...
最近在调查sar和iostat工具是如何进行系统数据采集与统计的。
发现,iostat命令会从/proc/diskstats 以及 /sys/blocks 这两个目录下收集所需的硬盘及分区的数据的。
这两个目录下的数据基本上完全相同(关键的性能数据部分完全相同)
问题是:
1. 这两个目录是什么样的关系?
2. 在具体什么样的情况时会去读取/sys/blocks 这个文件?
(我用“iostat -x 1 1”这样的命令跟踪源码,只跟到/proc/diskstats 这个文件下,不知道哪种选项会去读取/sys/blocks 的文件?)
3. 这两个目录,有没有父子关系?(我设想会不会是由内核向某一个目录下写数据,另一个目录的数据是完全拷贝此目录的?)
另外,在从/proc/diskstats读取出数据后,会有major和minor这两个值,代码会调用ioc_name()函数根据这两个值生成一个名字name,将name与取得的dev_name比较等等处理,此处着实没有理解,不知道为什么要根据major和minor这两个值生成一个名字name? 逻辑功能??
以上问题,请高手指点一二,不胜感激!!
发现,iostat命令会从/proc/diskstats 以及 /sys/blocks 这两个目录下收集所需的硬盘及分区的数据的。
这两个目录下的数据基本上完全相同(关键的性能数据部分完全相同)
问题是:
1. 这两个目录是什么样的关系?
2. 在具体什么样的情况时会去读取/sys/blocks 这个文件?
(我用“iostat -x 1 1”这样的命令跟踪源码,只跟到/proc/diskstats 这个文件下,不知道哪种选项会去读取/sys/blocks 的文件?)
3. 这两个目录,有没有父子关系?(我设想会不会是由内核向某一个目录下写数据,另一个目录的数据是完全拷贝此目录的?)
另外,在从/proc/diskstats读取出数据后,会有major和minor这两个值,代码会调用ioc_name()函数根据这两个值生成一个名字name,将name与取得的dev_name比较等等处理,此处着实没有理解,不知道为什么要根据major和minor这两个值生成一个名字name? 逻辑功能??
以上问题,请高手指点一二,不胜感激!!
|
1. 这两个目录都是从内核反馈出来的信息,并不是真是存在于磁盘上。 至于它们的关系,都是为了反映磁盘信息,代表内核中的数据结构。
具体你可以看看:
http://www.xxlinux.com/linux/article/development/kernel/20090112/14828.html
2. 我不知道。
3. 这两个目录 没有 父子关系。
major和minor这两个值 是设备的 主设备号和次设备号, 是设备在系统中的唯一标识, 即使名字不同,但设备号相同,就代表了同一个设备。
具体你可以看看:
http://www.xxlinux.com/linux/article/development/kernel/20090112/14828.html
2. 我不知道。
3. 这两个目录 没有 父子关系。
major和minor这两个值 是设备的 主设备号和次设备号, 是设备在系统中的唯一标识, 即使名字不同,但设备号相同,就代表了同一个设备。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。