Go to main content
Oracle® Solaris 11.3 でのリソースの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

拡張アカウンティングの動作

Oracle Solaris オペレーティングシステムの拡張アカウンティング機能は、バージョン番号が付けられた拡張可能なファイル形式を使用してアカウンティングデータを格納します。このデータ形式を使用するファイルは、添付のライブラリ libexacct (libexacct(3LIB) のマニュアルページを参照) で提供される API を使ってアクセスまたは作成できます。作成されたファイルは、拡張アカウンティング機能を使用できる任意のプラットフォーム上で解析でき、データを容量計画や課金に使用できます。

拡張アカウンティングを起動すると、libexacct API で調べることができる統計情報が収集されます。libexacct は、exacct ファイルを前後どちらの方向からでも検査できます。API は、カーネルが作成するファイルだけでなく、libexacct によって生成されたサードパーティーのファイルもサポートします。libexacct に対する Perl (Practical Extraction and Report Language) インタフェースが用意されています。これを使えば、報告および抽出用のカスタムスクリプトを開発できます。libexacct に対する Perl インタフェースを参照してください。

たとえば、拡張アカウンティングを有効にすると、タスクは、自分のメンバープロセスの総リソース使用状況を追跡します。タスクのアカウンティングレコードは、そのタスクの完了時に書き込まれます。実行中のプロセスやタスクについて中間レコードを書き込むこともできます。タスクの詳細は、プロジェクトとタスクについてを参照してください。

図 2  拡張アカウンティング起動時のタスクの追跡

image:このフロー図は、メンバープロセスの総リソース使用状況が、タスク完了時にレコードに取り込まれる方法を示しています。

拡張可能な形式

拡張アカウンティングの形式は、レガシーシステムのアカウンティングソフトウェアの形式よりも拡張可能性が非常に高いです。拡張アカウンティングでは、システムアカウンティングメトリックスのシステムへの追加や削除をシステムの解放時またはシステムの操作中に行うことができます。


注 - 拡張アカウンティングと古いシステムのアカウンティングソフトウェアの両方をシステム上で同時に起動できます。

exacct レコードとその形式

exacct レコードを作成するルーチンは、次の 2 つの目的で使用できます。

  • サードパーティーの exacct ファイルを作成できるようにします。

  • putacct システムコールを使用してカーネルアカウンティングファイルに埋め込むためのタグ付けレコードを作成できるようにします (getacct(2) を参照)。


    注 - Perl インタフェースから putacct システムコールを利用することもできます。

この形式では、すべての変更を明示的なバージョン変更にしなくても、さまざまな形式のアカウンティングレコードを取得できます。アカウンティングデータを使用するアプリケーションは、認識不可能なレコードを無視するように作成する必要があります。

libexacct ライブラリは、ファイルを exacct 形式に変換し、その形式のファイルを生成します。このライブラリは、exacct 形式のファイルに対するインタフェースとしてサポートされている唯一のインタフェースです。


注 - getacctputacctwracct の各システムコールは、フローには適用されません。IPQoS フローアカウンティングの構成時には、カーネルによってフローレコードが作成され、ファイルに書き込まれます。

ゾーンがインストールされている Oracle Solaris システムでの拡張アカウンティングの使用

拡張アカウンティングサブシステムを大域ゾーンで実行した場合、非大域ゾーンを含むシステム全体の情報が収集および報告されます。また、大域管理者または zonecfg ユーティリティーを使用して適切な承認が許可されたユーザーは、リソースの消費量をゾーン単位で決めることもできます。詳細は、Oracle Solaris ゾーン構成リソース の 第 1 章, 非大域ゾーンの構成を参照してください。