proc/diskstats 如何显示这些值?那么 proc/stat 和 meminfo 呢?

proc/diskstats 如何显示这些值?那么 proc/stat 和 meminfo 呢?

我试图通过与文件相同的方式获取磁盘统计数据。有没有办法在不读取该文件的情况下达到该值?这些值是如何放置在那里的?是否有任何“.c”文件可以处理要放置在 diskstats 上的数据?那么 proc/stat 和 meminfo 呢? (diskstats 是我主要关心的)

答案1

/proc文件— 或者更确切地说,伪文件 — 是用户进程和内核之间的数据接口。当(用户)进程打开/proc文件并从中读取时,内核会提供数据。所以,是的,有一个.c生成diskstats数据的例程——但它是内核的一部分。

通过 proc 伪文件系统可访问的一些数据可以从其他源和/或通过其他方式访问。举一个简单的例子,一个进程通常可以直接访问可以从中收集的大量信息它自己的 /proc/pid目录。然而,大多数/proc信息来自用户进程通常无法访问的内核数据结构。特权用户级进程可能可以使用以下命令从内核中提取此信息/dev/kmem (请参阅内存(4)公里内存(7D))——在那些支持它的系统上——但这会非常困难,可能不可移植,而且通常不建议。出于所有实际目的,/proc这是获取该数据的唯一方法。

相关内容