我非常想知道Linux操作系统中vmstat
命令信息来源的文件的名称和位置。
报告统计信息的用户空间工具可能通过procfs/sysfs文件系统从内核获取统计信息。由于它们大多数都是开源的,所以阅读源代码很容易。例如,获取包名称的一种方法是显示版本:
$ vmstat --version
vmstat from procps-ng 3.3.16
从前面的内容中,您知道可以从procps-ng包中获取源代码。
正如Stark在评论中所说,你可以用strace
工具监视vmstat
的执行,你会看到哪些文件被打开以获得信息:
$ strace vmstat
[...]
openat(AT_FDCWD, "/proc/meminfo", O_RDONLY) = 3
[...]
openat(AT_FDCWD, "/proc/stat", O_RDONLY) = 4
[...]
openat(AT_FDCWD, "/proc/vmstat", O_RDONLY) = 5
[...]