8    システム・リソース割り当ての管理

Tru64 UNIX オペレーティング・システムは,ブート時にリソースの限界値を設定します。 この限界値によって,システム・テーブル,仮想アドレス空間,および他のシステム・リソースのサイズが制御されます。

大半の構成では,省略時のシステム・リソース限界値で十分です。 ただし,システムのメモリ容量が大きい場合や,大量のリソースを必要とするプログラムやメモリ・サイズの大きいアプリケーションを実行する場合は,サブシステム属性を変更して,システムの限界値を大きくしなければならいこともあります。

この章では,システム・リソースの割り当てと,次のシステム・ワイドの限界値を大きくする方法について説明します。

システム・ワイドの限界値を変更する代わりに,setrlimit 関数を使用して,特定のプロセスとその子プロセスが使用するシステム・リソースを制御できます。 詳細は, setrlimit(2) を参照してください。

8.1    プロセスの限界値のチューニング

Tru64 UNIX は,大半の構成に適した,プロセスの限界値を使用します。 ただし,メモリを多用するアプリケーションの場合や,大規模メモリ (LVM) システムやインターネット・サーバ (Web サーバ,プロキシ・サーバ,ファイアウォール・サーバ,ゲートウェイ・サーバなど) がある場合は,プロセスの限界値を大きくしなければならないこともあります。 プロセスの限界値を大きくするとシステムの固定メモリの量も増えるため,限界値を大きくするのは,システムが必要とするリソースが不足する場合だけにしてください。

以降の項では,限界値を大きくする方法について説明します。

proc サブシステム属性の詳細は, sys_attrs_proc(5)を参照してください。

8.1.1    システム・テーブルとデータ構造体を大きくする

システムのアルゴリズムでは,proc サブシステムの maxusers 属性によって,システム・プロセス・テーブルなどの各種のシステム・データ構造体およびシステム・テーブルのサイズが決定されます。 このテーブルによって,同時に実行できるアクティブ・プロセスの数が決まります。

注意

maxusers 属性の値は,システムの限界値を設定するサブシステム属性 (max_proc_per_usermax_threads_per_usermin_free_vnodes,および name_cache_hash_size 属性) の省略時の値を設定するために使用されます。

性能上の利点と欠点

maxusers の値を大きくすると,プロセスが利用できるシステム・リソースが増えます。 ただし,ユーザ用のリソースを増やすと,固定メモリの量も増えます。

maxusers 属性は,システムをリブートすることなく変更できます。

チューニングするかどうかの判断

大規模メモリ・システムやインターネット・サーバがある場合や,システムがリソース不足になっている場合は,maxusers 属性の値を大きくします。 リソース不足は,No more processesOut of processes,または pid table is full というメッセージで示されます。

推奨値

省略時の maxusers 属性の値は,システムのメモリ容量によって異なります。 表 8-1 に,各メモリ容量での maxusers 属性の省略時の値を示します。

表 8-1:  maxusers 属性の省略時の値

メモリ・サイズ maxusers の値
256 MB 以下 128
257 〜 512 MB 256
513 〜 1024 MB 512
1025 〜 2048 MB 1024
2049 〜 4096 MB 2048
4097 MB 以上 2048

maxusers 属性の最適値を判断するには,性能が改善されるまで,省略時の値を 2 倍にしていきます。 インターネット・サーバがある場合は,maxusers 属性の値を 2048 に増やします。 maxusers 属性の値は,2048 より大きくしないようにしてください。

maxusers の値を大きくする場合は,max_vnodes 属性の値もそれに比例して大きくしてください (8.5.1 項を参照)。

maxusers 属性は,省略時の値より小さくしないでください。

カーネル・サブシステム属性の変更については,第 3 章 を参照してください。

8.1.2    プロセスの最大数を増やす

proc サブシステムの max_proc_per_user 属性は,一時点で各ユーザ (スーパユーザを除く) に割り当てることができるプロセスの最大数を指定します。

性能上の利点と欠点

max_proc_per_user の値を大きくすると,プロセスが利用できるシステム・リソースが増えます。

チューニングするかどうかの判断

システムがプロセス不足になっている場合や,大規模メモリ (VLM) システムやインターネット・サーバがある場合は,max_proc_per_user 属性の値を大きくしてください。

max_proc_per_user 属性の値を変更したときには,システムのリブートが必要です。

推奨値

max_proc_per_user 属性の省略時の値は,maxusers 属性によって決まります。 プロセスの最大数を大きくする場合は,maxusers 属性の値を大きくします (8.1.1 項 参照)。 または,max_proc_per_user 属性の値に,システム上で同時に実行されるプロセスの最大数以上の値を指定することもできます。 Web サーバがある場合は,このプロセスには CGI プロセスも含まれます。

インターネット・サーバがある場合は,max_proc_per_user 属性の値を 512 に増やします。

max_proc_per_user 属性の値に 0 を指定すると,プロセス数は制限されません。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.1.3    スレッドの最大数を増やす

proc サブシステムの max_threads_per_user 属性は,一時点で各ユーザ (スーパユーザを除く) に割り当てることができるスレッドの最大数を指定します。

性能上の利点と欠点

max_threads_per_user の値を大きくすると,プロセスが利用できるシステム・リソースが増えます。

max_proc_per_user 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

システムがスレッド不足になっている場合や,VLM システムやインターネット・サーバがある場合は,max_threads_per_user 属性の値を大きくしてください。

推奨値

max_threads_per_user 属性の省略時の値は,maxusers 属性によって決まります。 スレッドの最大数を大きくしたいときには,maxusers 属性の値を変更します (8.1.1 項 参照)。 または,max_threads_per_user 属性の値に,システム上で同時に実行されるスレッドの最大数以上の値を指定することもできます。 たとえば,max_threads_per_user 属性の値を 512 に増やすことができます。

メモリが十分にある負荷の高いサーバや,インターネット・サーバでは,max_threads_per_user 属性の値を 4096 に増やします。

max_threads_per_user 属性の値が 0 の場合,スレッド数の限界値がなくなります。

max_threads_per_user 属性の値に 0 を指定すると,スレッド数は制限されません。

カーネル・サブシステム属性の変更については,第 3 章 を参照してください。

8.2    プログラム・サイズの限界値のチューニング

大規模なアプリケーションを実行する場合は,プログラム・サイズの限界値を制御する proc サブシステムの属性値を大きくしなければならないことがあります。 大規模なプログラムや大規模メモリ・プロセスは,この属性の省略時の値を変更しないと動作しないことがあります。

以降の項では,次の作業を実行する方法について説明します。

proc サブシステム属性についての詳細は, sys_attrs_proc(5) を参照してください。

8.2.1    ユーザ・プロセス・スタックのサイズを大きくする

proc サブシステムの per_proc_stack_size 属性および max_per_proc_stack_size 属性は,ユーザ・プロセス・スタックの省略時のサイズと最大サイズを指定します。 大規模なプログラムや大規模メモリ・プロセスは,これらの属性の省略時の値を変更しないと動作しないことがあります。

性能上の利点と欠点

ユーザ・プロセス・スタックの省略時のサイズと最大サイズを大きくすると,大規模なアプリケーションを実行できるようになります。

per_proc_stack_size 属性と max_per_proc_stack_size 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

大規模なプログラムまたは大規模メモリ・プロセスを実行している場合や,Cannot grow stack というメッセージが表示された場合は,ユーザ・プロセス・スタックの省略時のサイズと最大サイズを大きくします。

推奨値

per_proc_stack_size 属性の省略時の値は,8,388,608 バイトです。 max_per_proc_stack_size 属性の省略時の値は,33,554,432 バイトです。 アドレス空間の限界値よりも十分に小さい値を選択してください。 詳細は 8.3 節を参照してください。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.2.2    ユーザ・プロセスのデータ・セグメント・サイズを大きくする

proc サブシステムの per_proc_data_size 属性および max_per_proc_data_size 属性は,ユーザ・プロセスのデータ・セグメント・サイズの省略時の値および最大値を指定します。 大規模なプログラムや大規模メモリ・プロセスでは,これらの属性の省略時の値を変更しないと動作しないことがあります。

性能上の利点と欠点

ユーザ・プロセスのデータ・セグメント・サイズの省略時の値および最大値を大きくすると,大規模なアプリケーションを実行できるようになります。

per_proc_data_size 属性と max_per_proc_data_size 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

大規模なプログラムや大規模メモリ・プロセスを実行する場合,Out of process memory というメッセージが表示された場合,またはシステムがインターネット・サーバの場合には,per_proc_data_size 属性および max_per_proc_data_size 属性の値を大きくしなければならないことがあります。

推奨値

per_proc_data_size の省略時の値は,134,217,728 バイトです。 max_per_proc_data_size の省略時の値は,1 GB (1,073,741,824 バイト) です。 アドレス空間の限界値よりも十分に小さい値を選択してください。 8.3 節を参照してください。

インターネット・サーバの場合は,max_per_proc_data_size 属性の値を大きくして,10 GB (10,737,418,240 バイト) にします。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.3    アドレス空間の限界値のチューニング

proc サブシステムの属性 per_proc_address_space および max_per_proc_address_space は,ユーザ・プロセスのアドレス空間の大きさ (有効な仮想領域の数) について,省略時の値および最大値を指定します。

性能上の利点と欠点

アドレス空間の限界値を大きくすると,大規模なプログラムを実行できるようになり,メモリを多用するアプリケーションの性能が向上します。 ただし,メモリの使用量が少し増加します。

per_proc_address_space 属性と max_per_proc_address_space 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

メモリを多用するプロセスを実行する場合や,システムがインターネット・サーバの場合は,アドレス空間の限界値を大きくしてください。

推奨値

per_proc_address_space 属性および max_per_proc_address_space 属性の省略時の値は,4 GB (4,294,967,296 バイト) です。

インターネット・サーバの場合は,max_per_proc_address_space 属性の値を大きくして,10 GB (10,737,418,240 バイト) にします。

カーネル属性の変更については,第 3 章を参照してください。

8.4    プロセス間通信の限界値のチューニング

プロセス間通信 (IPC) とは,複数のプロセス間で情報を交換することです。 IPC の例としては,メッセージ,共用メモリ,セマフォ,パイプ,シグナル,プロセスのトレース,およびネットワークを通して他プロセスと通信するプロセスがあります。

以降の項では,以下の方法について説明します。

Tru64 UNIX オペレーティング・システムには,次のプロセス間通信機能があります。

メモリを多用するプロセスを実行している場合は,一部の ipc サブシステム属性の値を大きくしなければならないことがあります。

表 8-2に,IPC の限界値を大きくするためのガイドラインと,性能上の利点および欠点のリストを示します。

表 8-2:  IPC の限界値のチューニング・ガイドライン

ガイドライン 性能上の利点 欠点
System V メッセージの最大サイズを大きくする (8.4.1 項)。 System V のメッセージ・サイズを大きくして効果のあるアプリケーションでは,性能が改善される可能性がある。 メモリを少し消費する。
System V のメッセージ・キューの最大バイト数を大きくする (8.4.2 項)。 System V のメッセージ・キューを大きくして効果のあるアプリケーションでは,性能が改善される可能性がある。 メモリを少し消費する。
System V キュー上の処理待ちメッセージの最大数を増やす (8.4.3 項)。 処理待ちメッセージの数を多くできて効果のあるアプリケーションでは,性能が改善される可能性がある。 メモリを少し消費する。
System V の共用メモリ領域の最大サイズを大きくする (8.4.4 項)。 System V の共用メモリ領域を大きくして効果のある,メモリを多用するアプリケーションでは,性能が改善される可能性がある。 メモリを消費する。
プロセスにアタッチできる共用メモリ領域の最大数を増やす (8.4.5 項)。 多数の共用メモリ領域にアタッチしているアプリケーションの性能が改善されることがある。 メモリを消費することがある。
共用ページ・テーブルの限界値を変更する (8.4.6 項)。 メモリを多用するシステムや,VLM システムが,効率的に動作するようになる。 メモリを消費することがある。

以降の項では,一部の System V 属性のチューニング方法について説明します。 その他の IPC サブシステム属性については, sys_attrs_ipc(5) を参照してください。

8.4.1    System V メッセージの最大サイズを大きくする

ipc サブシステムの msg_max 属性は,アプリケーションが受信できる System V メッセージの最大サイズを指定します。

性能上の利点と欠点

msg_max 属性の値を大きくすると,System V のメッセージ・サイズを省略時の値よりも大きくして効果のあるアプリケーションでは,性能が改善される可能性があります。 ただし,この値を大きくすると,メモリを消費します。

msg_max 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

System V の省略時のメッセージ最大サイズを 8192 バイトより大きい値にして効果のあるアプリケーションの場合は,msg_max 属性の値を大きくします。

推奨値

msg_max 属性の省略時の値は,8192 バイト (1 ページ) です。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.4.2    System V のメッセージ・キューの最大サイズを大きくする

ipc サブシステムの msg_mnb 属性は,System V のメッセージ・キューに保持できる最大バイト数を指定します。

キュー内のバイト数が msg_mnb 属性で指定された限界値を超えている場合,プロセスはそのキューへメッセージを送信できません。 この限界値に達した場合,プロセスはスリープし,この状態が解除されるまで待ちます。

性能上の利点と欠点

msg_mnb 属性の値を大きくすると,System V のメッセージ・キューを省略時の値よりも大きくして効果のあるアプリケーションでは,性能が改善される可能性があります。 ただし,この値を大きくすると,メモリを消費します。

msg_mnb 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

IPC 機能の使用状況は,ipcs -a コマンド ( ipcs(1) を参照) で確認できます。 キュー内の現在のバイト数とメッセージ・ヘッダを参照すると,待ちを減らすために System V のメッセージ・キューをチューニングする必要があるかどうかを判断できます。

推奨値

msg_mnb 属性の省略時の値は,16,384 バイトです。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.4.3    System V のキュー上のメッセージ最大数を増やす

ipc サブシステムの msg_tql 属性は,System V のメッセージ・キュー上に存在できるメッセージの最大数 (システム内に存在できる処理待ちメッセージの総数) を指定します。

性能上の利点と欠点

msg_tql 属性の値を大きくすると,処理待ちメッセージの数を省略時の値よりも大きくして効果のあるアプリケーションの性能が改善される可能性があります。 ただし,この属性の値を大きくすると,メモリを消費します。

msg_tql 属性の値を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

処理待ちメッセージの最大数を 40 よりも大きい値にして効果のあるアプリケーションの場合は,msg_tql の値を大きくしてください。

IPC 機能の使用状況は,ipcs -a コマンド ( ipcs(1) を参照) で確認できます。 キュー内の現在のバイト数とメッセージ・ヘッダを参照すると,待ちを減らすために System V のメッセージ・キューをチューニングする必要があるかどうかを判断できます。

推奨値

msg_tql の省略時の値は 40 です。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.4.4    System V の共用メモリ領域の最大サイズを大きくする

ipc サブシステムの shm_max 属性は,System V の共用メモリ領域 1 個の最大サイズを指定します。

性能上の利点と欠点

shm_max 属性の値を大きくすると,System V の共用メモリ領域を大きくして効果のある,メモリを多用するアプリケーションの性能が改善される可能性があります。 ただし,shm_max 属性の値を大きくすると,メモリの使用量が増加します。

shm_max 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

メモリを多用するアプリケーションで,System V の共用メモリ領域を省略時の値の 512 ページよりも大きくして効果がある場合は,shm_max 属性の値を大きくしてください。

推奨値

shm_max 属性の省略時の値は,4,194,304 バイト (512 ページ) です。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.4.5    1 つのプロセスにアタッチできる共用メモリ領域の最大数を増やす

ipc サブシステムの shm_seg 属性は,1 つのプロセスに同時にアタッチできる System V 共用メモリ領域の最大数を指定します。

設計段階で,共用メモリの代わりにスレッドを使用すると性能が向上するかどうかを考慮してください。

性能上の利点と欠点

1 つのプロセスにアタッチできる System V 共用メモリ領域の数を増やすと,多数の共用メモリ領域をアタッチするアプリケーションの性能が改善される可能性があります。

shm_seg 属性の値を大きくすると,プロセスが多数の共用メモリ領域をアタッチしたときに,メモリを消費します。

shm_seg 属性の値を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

プロセスが限界値を超えて共用メモリ領域をアタッチしようとした (shmat 関数が EMFILE エラーを返却する) 場合は,shm_seg 属性の値を大きくしてください。

推奨値

shm_seg の省略時の値は 32 です。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.4.6    共用ページ・テーブルの共用を変更する

shmget 関数で作成する System V 共用メモリ・セグメントのサイズが ipc サブシステムの ssm_threshold 属性の値以上の場合,第 3 レベルのページ・テーブル共用が発生します。

性能上の利点と欠点

共用ページ・テーブルの限界値を大きくすると,共用ページ・テーブルの使用は,8 MB を超える共用メモリ・セグメントを作成するアプリケーションに制限されます。 ただし,この値を大きくすると,メモリの使用量が増えます。

アプリケーションが共用ページ・テーブルを使用できない場合は,ページ・テーブル共用を無効にできます。

ssm_threshold 属性は,システムをリブートすることなく変更できます。

チューニングするかどうかの判断

ページ・テーブル共用の使用を,8 MB を超える共用メモリ・セグメントを作成するアプリケーションに制限したい場合は,ssm_threshold 属性の値を大きくしてください。

境界合わせの制限のためにアプリケーションが共用ページ・テーブルを使用できない場合は,ページ・テーブル共用を無効にできます。

推奨値

ssm_threshold 属性の省略時の値は,8 MB (8,388,608 バイト) です。

ssm_threshold 属性に 0 を設定すると,セグメント化共用メモリの使用が無効になります。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.5    オープン・ファイルの限界値のチューニング

以降の項では,次の作業の実行方法について説明します。

proc サブシステム属性の詳細は, sys_attrs_proc(5) を参照してください。

8.5.1    オープン・ファイルの最大数を増やす

オープン・ファイル用のカーネル・データ構造体のことを vnode といいます。 この構造体は,すべてのファイル・システムで使用されます。 vnode の数で,オープン・ファイルの数が決まります。 vnode の割り当てと割り当て解除は,オペレーティング・システムが動的に行います。

vfs サブシステムの max_vnodes 属性は,常にシステム内のオープン・ファイルの最大数以上である,vnode キャッシュのサイズを指定します。 オープン・ファイルの最大数を増やすには,この属性を省略時の値より大きくしてください。 この作業は,proc サブシステムの maxusers 属性値を大きくしても実行できます。 詳細は 8.1 節を参照してください。

性能上の利点と欠点

vnode キャッシュのサイズを大きくすると,多数のオープン・ファイルを必要とするアプリケーションの性能が改善されます。 ただし,このサイズを大きくすると,メモリを消費します。

max_vnodes 属性の値は,システムをリブートすることなく変更できます。

チューニングするかどうかの判断

アプリケーションが多数のオープン・ファイルを必要とする場合や,vnode 不足を示すメッセージが表示された場合は,max_vnodes 属性を省略時の値より大きくします。

推奨値

max_vnodes 属性の省略時の値は,メモリの 5 パーセントです。

カーネル・サブシステム属性の変更については,第 3 章を参照してください。

8.5.2    オープン・ファイル記述子の最大数を増やす

すべてのプロセスまたは特定のプロセスについて,オープン・ファイル記述子の最大数を増やすことができます。 proc サブシステムの open_max_soft 属性および open_max_hard 属性は,プロセスごとのオープン・ファイル記述子のシステム・ワイドの最大数を制御します。

オープン・ファイル記述子の限界値により,割り当ての暴走 (エラーのために抜け出せないループ内での割り当てなど) で,利用可能なファイル記述子がすべて使われてしまうのを防ぐことができます。 プロセスが open_max_soft 限界値に達した場合,警告メッセージが表示されます。 プロセスが open_max_hard 限界値に達した場合,プロセスは停止させられます。

性能上の利点と欠点

多数のファイルをオープンするアプリケーションの性能が改善されます。

open_max_soft 属性および open_max_hard 属性を変更したときには,システムのリブートが必要です。

チューニングするかどうかの判断

アプリケーションが多数のオープン・ファイルを必要とする場合は,open_max_soft 属性および open_max_hard 属性の値を大きくすることによって,オープン・ファイル記述子の限界値を大きくできます。 ただし,オープン・ファイル記述子の限界値を大きくすると,割り当ての暴走の原因となることがあります。

推奨値

open_max_soft 属性および open_max_hard 属性の省略時の値は,4,096 です。 この値は,/etc/sysconfigtab ファイルに設定できる,システム・ワイドな値の最大値です。

多数のファイルをオープンするアプリケーションがある場合は,システム・ワイドな限界値を大きくするのではなく,そのアプリケーションのオープン・ファイル限界値だけを大きくすることができます。 特定のアプリケーションで拡張 (64 KB) ファイル記述子を使用可能にするには,次の手順に従います。

  1. setsysinfo システム・コールの SSI_FD_NEWMAX 操作パラメータに 1 を設定します。 これにより utask ビットが設定され,最大 65,536 (64 KB) のオープン・ファイル記述子が使用可能になり,プロセスのハード・ファイル限界値が 64 KB に引き上げられます。 この設定は,すべての子プロセスに引き継がれます。 詳細は, setsysinfo(2) を参照してください。

  2. プロセスのファイル記述子のソフト限界値に,4,096 (省略時の値) を超える値を設定します。 この設定を行うには,次のコードに示すように,setrlimit 関数を使用します。

    # include <sys/resource.h>
    struct rlimit *rlp;
     
    rlp->rlim_cur = 6000;
    rlp->rlim_max = 6000;
    setrlimit(RLIMIT_NOFILE, rlp);
    

    この設定は,すべての子プロセスに引き継がれます。 詳細は, setrlimit(2) を参照してください。

  3. このステップは,select 関数の fd_set パラメータを使用するアプリケーションの場合だけ必要です。 このパラメータは,入出力記述子セット (および,FD_CLR マクロ,FD_ISSET マクロ,FD_SET マクロ,または FD_ZERO マクロ) を指し,入出力記述子セットを変更できます。 この条件を満たしている場合は,次の 2 つの手順 (ファイル記述子の最大値の静的定義を有効にする手順または動的定義を有効にする手順) のいずれかを使用できます。

また,vfs サブシステムの max_vnodes 属性には,記述子を多数必要とするアプリケーションに合わせて大きな値を設定しなければなりません。 max_vnodes 属性は vnode キャッシュのサイズを指定し,省略時はシステム・メモリの 5 パーセントが設定されます。 詳細は,8.5.1 項を参照してください。

64 KB までのファイル記述子のサポートをアプリケーションで無効にするには,setsysinfo システム・コールの SSI_FD_NEWMAX 操作のパラメータに 0 を指定します。 これによって utask ビットが無効になり,ハード・ファイル限界値がオープン記述子の省略時の最大値である 4,096 に戻ります。 ただし,プロセスが 4,096 を超えるファイル記述子を使用した場合,setsysinfo システム・コールは EINVAL エラーを返します。 また,呼び出しプロセスのハードまたはソフト限界値が 4,096 を超えていた場合,呼び出しが正常終了すると,この限界値は 4 KB になります。 この設定は,すべての子プロセスに継承されます。

8.6    Aurema ARMTech Suite

Tru64 UNIX では,Aurema の ARMTech (Active Resource Management Technology) ソフトウェア製品スイートをサポートしています。 このソフトウェアは,高度なリソース管理機能を提供しています。 ARMTech スイートを使用すると,Tru64 UNIX のシステム管理者は,ユーザとグループの他に,Web サイトやアプリケーションなど,オペレーティング・システムの多くの構成要素を管理することができます。

armtech(5) と Aurema の Web サイトを参照してください。

http://www.aurema.com