3

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

何か案は?

4

3 に答える 3

1

Linux kstat の実装については知りませんが、とにかく、ここで最初に用語の問題に直面しています。

参照している Solaris kstats スワップ統計では、「スワップ」を使用して、仮想メモリ全体、つまりスワップ領域と RAM の大部分を意味しています。

一方、Linux の SwapTotal と SwapFree の統計は、スワップ領域 (つまり、ディスク上) にのみ関連しています。

もう 1 つの問題は、Linux のオーバーコミット メモリ割り当てです。そのため、メモリ予約カウンタが維持されず、役に立たない可能性があります。

于 2011-03-17T17:00:38.310 に答える
0

There is this meminfo documentation take 2 article on LWN which describes all fields from /proc/meminfo and says the following about SwapTotal and SwapFree:

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

There is also some discussion at http://kerneltrap.org/node/4097.

于 2011-03-17T17:15:42.603 に答える