/proc/diskstats 注解

  今儿在准备利用shell监控磁盘读写次数等信息时,看到该文件,但是又不清楚每段的具体含义,这里备注下。

文件内容

[root@namenode proc]# cat diskstats
1 0 ram0 0 0 0 0 0 0 0 0 0 0 0
1 1 ram1 0 0 0 0 0 0 0 0 0 0 0
1 2 ram2 0 0 0 0 0 0 0 0 0 0 0
1 3 ram3 0 0 0 0 0 0 0 0 0 0 0
1 4 ram4 0 0 0 0 0 0 0 0 0 0 0
1 5 ram5 0 0 0 0 0 0 0 0 0 0 0
1 6 ram6 0 0 0 0 0 0 0 0 0 0 0
1 7 ram7 0 0 0 0 0 0 0 0 0 0 0
1 8 ram8 0 0 0 0 0 0 0 0 0 0 0
1 9 ram9 0 0 0 0 0 0 0 0 0 0 0
1 10 ram10 0 0 0 0 0 0 0 0 0 0 0
1 11 ram11 0 0 0 0 0 0 0 0 0 0 0
1 12 ram12 0 0 0 0 0 0 0 0 0 0 0
1 13 ram13 0 0 0 0 0 0 0 0 0 0 0
1 14 ram14 0 0 0 0 0 0 0 0 0 0 0
1 15 ram15 0 0 0 0 0 0 0 0 0 0 0
7 0 loop0 0 0 0 0 0 0 0 0 0 0 0
7 1 loop1 0 0 0 0 0 0 0 0 0 0 0
7 2 loop2 0 0 0 0 0 0 0 0 0 0 0
7 3 loop3 0 0 0 0 0 0 0 0 0 0 0
7 4 loop4 0 0 0 0 0 0 0 0 0 0 0
7 5 loop5 0 0 0 0 0 0 0 0 0 0 0
7 6 loop6 0 0 0 0 0 0 0 0 0 0 0
7 7 loop7 0 0 0 0 0 0 0 0 0 0 0
8 0 sda 161825 32656 12306800 110421 3250057 6321432 89861512 3881319 0 3288546 3989923
8 1 sda1 737 496 13868 61 129 5349 10968 578 0 257 639
8 2 sda2 160934 32160 12291700 110350 2775297 6316083 89850544 1564080 0 1009226 1672710
11 0 sr0 48 0 384 4 0 0 0 0 0 4 4
11 1 sr1 0 0 0 0 0 0 0 0 0 0 0
253 0 dm-0 110730 0 4684314 114640 4879595 0 55689296 25927606 0 2862098 26042976
253 1 dm-1 7482 0 59856 8656 21296 0 170368 55930 0 1326 64657
253 2 dm-2 75407 0 7546602 20849 4267078 0 33990880 13185771 0 469527 13206732
[root@namenode proc]#

  这个文件用于显示磁盘、分区和统计信息:sda为整个硬盘的统计信息,sda1为第一个分区的统计信息,sda2为第二个分区的统计信息,ramdisk设备为通过软件将RAM当做硬盘来使用的一项技术。

各部分含义

  /proc/diskstats文件比/sys/block/sda/stat文件多3个域,从左至右分别对应主设备号,次设备号和设备名称。后续的11个域在这两个文件里是相同的,它们的函义将在下面解释。除了第9个域,所有的域都是从启动时的累积值。

  第1个域:读完成次数 ----- 读磁盘的次数,成功完成读的总次数。

(number of issued reads. This is the total number of reads completed successfully.)

  第2个域:合并读完成次数, 第6个域:合并写完成次数。为了效率可能会合并相邻的读和写。从而两次4K的读在它最终被处理到磁盘上之前可能会变成一次8K的读,才被计数(和排队),因此只有一次I/O操作。这个域使你知道这样的操作有多频繁。

(number of reads merged)

  第3个域:读扇区的次数,成功读过的扇区总次数。

(number of sectors read. This is the total number of sectors read successfully.)

  第4个域:读花费的毫秒数,这是所有读操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。
(number of milliseconds spent reading. This is the total number of milliseconds spent by all reads (as measured from __make_request() to end_that_request_last()).)

  第5个域:写完成次数 ----写完成的次数,成功写完成的总次数。

(number of writes completed. This is the total number of writes completed successfully.)

  第6个域:合并写完成次数 -----合并写次数。

(number of writes merged Reads and writes which are adjacent to each other may be merged for efficiency. Thus two 4K reads may become one 8K read before it is ultimately handed to the disk, and so it will be counted (and queued) as only one I/O. This field lets you know how often this was done.)

  第7个域:写扇区次数 ---- 写扇区的次数,成功写扇区总次数。

(number of sectors written. This is the total number of sectors written successfully.)

  第8个域:写操作花费的毫秒数  ---  写花费的毫秒数,这是所有写操作所花费的毫秒数(用__make_request()到end_that_request_last()测量)。

(number of milliseconds spent writing This is the total number of milliseconds spent by all writes (as measured from __make_request() to end_that_request_last()).)

  第9个域:正在处理的输入/输出请求数 -- -I/O的当前进度,只有这个域应该是0。当请求被交给适当的request_queue_t时增加和请求完成时减小。

(number of I/Os currently in progress. The only field that should go to zero. Incremented as requests are given to appropriate request_queue_t and decremented as they finish.)

  第10个域:输入/输出操作花费的毫秒数  ----花在I/O操作上的毫秒数,这个域会增长只要field 9不为0。

(number of milliseconds spent doing I/Os. This field is increased so long as field 9 is nonzero.)

  第11个域:输入/输出操作花费的加权毫秒数 -----  加权, 花在I/O操作上的毫秒数,在每次I/O开始,I/O结束,I/O合并时这个域都会增加。这可以给I/O完成时间和存储那些可以累积的提供一个便利的测量标准。

(number of milliseconds spent doing I/Os. This field is incremented at each I/O start, I/O completion, I/O merge, or read of these stats by the number of I/Os in progress (field 9) times the number of milliseconds spent doing I/O since the last update of this field. This can provide an easy measure of both I/O completion time and the backlog that may be accumulating.)

最新文章

  1. 【内核篇】Windows内核重要变量
  2. 【线段树】bzoj1756 Vijos1083 小白逛公园
  3. 揭秘Sql2014新特性-tempdb性能提升
  4. PS常见错误-无法完成请求,因为文件格式模块不能解析该文件
  5. 你好,C++(22) 排排坐,吃果果——4.3.3 for循环:某个范围内…每个都…
  6. JavaScript的日期处理
  7. iOS 之 界面编程解析
  8. swift手记-4
  9. Spring MVC 详解之废话少说
  10. Leetcode_263_Ugly Number
  11. 查看macOS下正在使用的zsh
  12. LeetCode(105):从前序与中序遍历序列构造二叉树
  13. abstract class和interface的异同
  14. zabbix 创建主机、主机群组、监控第一台服务器
  15. 2016最新的中国省市区三级数据库表.sql mssql
  16. Oracle OAF 应用构建基础之实现控制器 (转)
  17. WebGL编程指南案例解析之3D视图视区问题
  18. Spring boot 入门三:SpringBoot用JdbcTemplates访问Mysql 实现增删改查
  19. 记录用户操作历史命令history
  20. 使GDAL库支持中文路径或中文文件名的处理方法

热门文章

  1. 在c++中调用exe程序进行操作
  2. 网卡多ip 再看arp; arp队列也会缓存skb
  3. Django 2.0 学习(07):Django 视图(进阶-续)
  4. CentOS 文件搜索find
  5. 【SPOJ】Highways(矩阵树定理)
  6. 牛客网 Wannafly挑战赛27 蓝魔法师
  7. sass的mixin,extend,placeholder,function
  8. 简述JavaScript的类与对象
  9. Zabbix Server端配置文件
  10. template.js的使用心得