在Linux中寻找kstat等价物

时间:2011-03-17 15:50:37

标签: linux performance statistics solaris kstat

我有一个程序可以收集我们Solaris系统上的各种kstat信息,现在我们已经将Linux引入了我们的数据中心,我想对Linux也这样做。

然而,我遇到了麻烦,找到了很多kstats的等价物。我想知道是否有一个模拟Linux环境的kstats的库或实用程序。即使是部分实施也会有所帮助。

截至目前,我一直在解析/ proc中的文件,但找到正确的信息已被击中或遗漏。例如,kstat具有以下数据:

UNIX :: VMINFO swap_alloc swap_avail swap_free swap_resv

在Linux中,您有条目“SwapTotal”和“SwapFree”但是 a)看来swap_free实际上对应于“SwapTotal”而swap_avail对应于“SwapFree” b)我找不到swap_avail的值(也许SwapTotal减去SwapFree?)现在swap_resv

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

我不知道Linux kstat的实现,但无论如何,你首先要面对一个术语问题。

您正在引用的Solaris kstats交换统计信息使用“swap”表示整个虚拟内存,即交换区域加上大部分RAM。

另一方面,Linux SwapTotal和SwapFree统计信息仅与交换区域相关(即在磁盘上)。

另一个问题是Linux过度使用内存分配,因此可能无法维护内存预留计数器,无论如何都不会有用。

答案 1 :(得分:0)

LWN上有这篇meminfo documentation take 2文章描述了/ proc / meminfo中的所有字段,并说明了以下关于SwapTotal和SwapFree的内容:

SwapTotal: total amount of swap space available
 SwapFree: Memory which has been evicted from RAM, and is temporarily
              on the disk

http://kerneltrap.org/node/4097也有一些讨论。

答案 2 :(得分:0)

Perl版本:

https://github.com/zfsonlinux/linux-kstat

”这是Sun :: Solaris :: Kstat Perl模块的实现 适用于Linux ZFS。它的行为应与Solaris版本相同。”

Ruby版本:

https://www.rubydoc.info/gems/linux-kstat/Linux/Kstat

“ Kstat类封装了从/ proc / stat派生的Linux内核统计信息。”