问题标签 [kstat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3038 浏览

perl - 如何在 Solaris 5.10 上使用 Solaris::Kstat?

我正在寻找使用 Kstat 查找 SunOS 系统详细信息。我在 CPAN 中找到了Solaris::Kstat模块,但这仅支持 Solaris 2.5.1、2.6 和 2.7。Sun 开发人员的网站提到了我在 CPAN 中没有找到的 Sun::Solaris::Kstat。谁能帮助我编写 Perl 脚本以从 Solaris 5.10 上的 kstat 中查找详细信息。

0 投票
1 回答
263 浏览

perl - 如何使用 Perl 对 kstat -p 的输出进行哈希处理?

我正在工作,所以我需要使用一些东西来获取一些信息kstat -p。所以我正在考虑创建一个所有输出为kstat -p.

访问值

我还查看了 CPAN 是否有任何可用的模块,发现Sun::Solaris::Kstat但我的 Sun 版本不可用。请建议代码来创建一个带有输出值的哈希变量kstat -p

0 投票
3 回答
5378 浏览

linux - 在 Linux 中寻找 kstat 等价物

我有一个程序可以在我们的 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

有任何想法吗?

0 投票
2 回答
423 浏览

mapping - 如何从 Solaris 上的 kstat 获取端口/套接字信息

是否可以使用 kstat 获取有关哪些进程打开了哪些端口的信息?我研究了 lsof 是如何做到的,显然他们读取了易失性内核内存, kstat 似乎可以访问(如果我错了,请纠正我)。

我只是想知道是否有人知道如何过滤 kstat 以显示有关端口已打开哪些进程的信息。也许我应该看哪个模块?

0 投票
1 回答
93 浏览

solaris - 更新时打印 kstat(1 秒内多次)

我正在尝试通过我目前使用 dtrace 收集的 kstat 收集统计信息。

它不是基于计数的信息,而是每次都有新数据。

kstat 打印的最小间隔是 1 秒。但是,我需要的数据在一秒钟内更改了几次。有没有一种方法(API)可以在不使用 dtrace 的 kstat 更新时从 kstat 获取数据?

0 投票
1 回答
259 浏览

c - 链接 kstat 库错误

嗨所以我一直在尝试链接solaris服务器上的kstat库以用于类项目。为此,我将其放在将使用它的标题的开头

我的make文件看起来像

sh.o 是包含 part3.o 的父文件,part3.o 是使用 kstat 的文件。但是我得到了错误

并且

我做错了什么,如何正确链接 kstat 库。我尝试在 make 文件中创建 part3.o 自己的对象,并将 kstat 链接到该文件中,但它给了我缺少分隔符的错误。

0 投票
1 回答
671 浏览

solaris - kstat,获取一个区域中运行的轻量级进程的数量

SmartOS 区域在区域包中定义了轻量级进程的上限或最大数量。为了检查我当前的设置是否有意义,我想随时间收集轻量级进程的总数(从区域内)。我已经有了收集 kstat 计数器的工具,所以我更愿意使用它。我注意到 prstat 提供了一个lwps计数,任何有关 prstat 如何获取该值的信息都可能会有所帮助。

与此同时,我已经能够获取使用轻量级进程的进程数,'caps:*:nprocs_zone_*:usage''unix:0:system_misc:nproc'没有获取任何关于轻量级进程的信息。

总结一下,我想知道:

  • 如果有任何 kstat 计数器代表 lwps 总数或每个进程计数器,我可以求和以获得该值。
  • 如果没有,prstat 如何获得总 lwps 计数?
  • 有没有其他方法可以获得这个值?(希望不解析 prstat 输出)
0 投票
1 回答
729 浏览

struct - Mapping a structure inside a union in JNA

I am attempting to map the kstat library in Solaris 11.3 to Java using JNA. While I've managed to get most of the structures working, I've spent the last 24 hours fighting with a particularly difficult union-within-a-structure-within-a-union.

I am successfully retrieving a pointer to a kstat_named structure I need using kstat_data_lookup(). My code properly retrieves most of the data (name, data_type, and non-struct members of the union) in this C structure:

I have mapped this in JNA as follows:

This code works correctly for int32 types (KSTAT_DATA_INT32). However, when the data type is KSTAT_DATA_STRING, which corresponds to the str structure inside the union, I am not having any success in properly retrieving the data.

I have mapped the nested structure like this:

Ultimately I'm trying to replicate the behavior of this C macro:

I've tried multiple different methods of trying to get access to the above structure, but it never seems to read the correct data (the len value is in the millions and attempting to read the string ptr causes segfault). I've tried:

I've also tried:

  • Specifying KstatNamedString as the type instead of the Pointer type
  • Using various combinations of ByReference in both the structures and the unions

I've googled everywhere, including trying what I thought was a promising result here, but nothing seems to work.

I'm sure I'm missing something simple.