3

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

但是,我很难找到许多 kstat 的等价物。我想知道是否有模仿 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

有任何想法吗?

4

3 回答 3

1

I'm not aware of a Linux kstat implementation but anyway, you are first facing a terminology issue here.

The Solaris kstats swap statistics you are referencing are using "swap" to mean the whole virtual memory, i.e. the swap areas plus a large part of the RAM.

On the other hand, the Linux SwapTotal and SwapFree statistics are only related to the swap area (i.e. on disk).

Another issue is Linux overcommit memory allocation so a memory reservation counter might not be maintained and wouldn't be useful anyway.

于 2011-03-17T17:00:38.310 回答
0

这篇meminfo 文档在 LWN 上有 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也有一些讨论。

于 2011-03-17T17:15:42.603 回答
0

Perl 版本:

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

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

红宝石版本:

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

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

于 2018-08-01T16:36:57.813 回答