我有一个程序可以收集我们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
有什么想法吗?
答案 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
答案 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内核统计信息。”