Solaris Resource Manager 1.1 のシステム管理

変換

属性値の格納に使用する内部単位は Solaris Resource Manager プログラムによって変換されるため、ユーザーには常に拡張単位か基本単位で表示されます。したがって、特別な場合を除き、ユーザーは、Solaris Resource Manager が使用する内部単位を気にする必要はありません。

Solaris Resource Manager では、エクサ、ペタ、テラ、ギガ、メガ、キロという用語を 10 のべき乗ではなく、2 のべき乗を表わすために使用します。たとえば、メガバイトは、1,000,000 バイトではなく、1,048,576 バイトです。2 のべき乗数はそれぞれ 60 (エクサ)、50 (ペタ)、40 (テラ)、30 (ギガ)、20 (メガ)、10 (キロ) です。

ユーザーと Solaris Resource Manager システムとのインタフェースには、主に limadmliminfo、および limreport プログラムを使用します。これらのコマンドによって行われる変換と拡張について、次の各項で説明します。

limadm コマンド

limadm では、属性値を変更するときに数字に拡張文字 [EPTGMK][B][.][wdhms] を付けることができます。大文字と小文字の区別はありません。

属性が記憶域 (メモリー属性) か増加記憶域の大きさを表わす場合は、最初のグループ [EPTGMK] の文字を使用します。この数字には、1 エクサバイト (E)、1 ペタバイト (P)、1 テラバイト (T)、1 ギガバイト (G)、1 メガバイト (M)、1 キロバイト (K) のバイト数を掛けます。読みやすくするために B を付けることもありますが、特別な意味はありません。

属性が時間 (型が日付や時刻) か増加記憶域の大きさを表わす場合は、2 つ目のグループを使用します。この数字には、1 週 (w)、1 日 (d)、1 時間 (h)、1 分 (m)、1 秒 (s) の秒数を掛けます。

記憶域と時間の単位をピリオドで区切ることもできます。たとえば、mh、M.h、MB.h はすべて「メガバイト時間」を表わします。

M という接尾辞の意味があいまいな場合は、limadm が文脈から判断します。これができない場合は、分ではなくメガを使用します。

これらの変換文字を使用すれば、桁数のエラーを避けることができます。しかし、どの入力方法の場合でも、量は内部単位で格納されます。

メモリー属性値として特別な文字 u をそれだけで使用することがあります。これは、数字がバイト数ではなく、マシン依存 (内部) 単位数であることを示します。

liminfo コマンド

liminfo(1SRM) コマンドで出力されている情報では、limadm の入力に使用するのと同じ接尾辞 (上の項を参照) が使用されます。liminfo コマンドでは一般に値を適切な拡張単位に変換して出力しますが、-r オプションを指定すると、値を基本単位 (非拡張) 形式で出力します。たとえば、メモリーは通常メガバイトなど (102M バイト) 適切な単位で表示されますが、-r オプションを指定すると、バイト数 (106954752 バイト) で出力されます。

limreport コマンド

limreport(1SRM) コマンドで出力される情報では、値が常に基本 (非拡張) 形式で表示されます。拡張単位で値を表示するには、変換単位を式で明示的に指定する必要があります。たとえば、すべてのユーザーの仮想メモリーの合計使用量をキロバイトで表示する場合は、次のように指定します。

# limreport 'flag.real' '%-8.8s %d KB¥n' lname '(memory.usage+1k-1)/1k' 

この例でわかるように、数字の拡張接尾辞を式で指定できるので、基本単位から拡張単位への変換が簡単にできます。

属性によっては、内部単位がその「基本」形式と同じでない場合がありますが、すべての Solaris Resource Manager プログラムが拡張単位や基本単位への変換を行うため、ユーザーは通常このことを意識する必要はありません。しかし、たとえば、limreport の選択式に正確なバイト数を指定しても、数字が対応する内部単位の整数倍でない限り、この式が一致することはありません。