On this page |
hserver
は、sesinetdサーバーのプロキシです。hserver
は自動的にHoudiniによって起動されて使用されます。
常にバックグラウンドで実行されるsesinetd
とは違い、最初にHoudiniを起動した時に"必要に応じて"hserver
が実行されます。
つまり、最初にHoudiniを起動したユーザーがそのプロセスを所有することになります。
このhserver
プロセスは、実行された後はバックグラウンドで実行を継続することができます(Houdiniを再起動する時にhserver
を停止して起動する必要がありません)。
Houdiniが複数のhserver
インスタンスを起動させてしまって複数のチェックアウトや様々な他の問題を引き起こさないようにするために推奨されている方法は、最初にコンピュータを起動した時に手動でhserver
を起動することです。
Windowsでは、hserver
は適切なサービスになっているので、手動でhserver
を起動する必要はありません。
Houdiniコマンドライン環境からHoudiniを立ち上げている場合、hserver
はそのコマンドパス上にあります。
新しいコマンドラインオプションを使って手動でhserver
を再起動することができます。
または、hserver
インスタンスが既に実行されている時にhserver
を実行すると、既存のインスタンスと通信されます(以下のコマンドラインからhserverを制御する方法を参照してください)。
オプションファイル
オプションファイルでhserver
オプションを指定することができます。
このファイルは、オペレーティングシステム別にファイル名やファイルの場所が異なります。
Mac
Houdiniパス内のどこにでもhserver.opt
オプションファイルを配置することができます。
Windows
C:\Windows\system32
内にhserver.ini
オプションファイルを配置してください。
Linux
Houdiniパス内のどこにでもhserver.opt
オプションファイルを配置することができます。
オプションファイルには以下の行を記述することができます。#
で始まる行がコメント扱いになって無視されます。
maxRenders max
使用可能なレンダラープロセスの最大数。 デフォルトは、マシンのプロセッサ数です。マシンに搭載されている物理プロセッサよりも多いレンダラープロセッサの数を指定すると、パフォーマンスに影響が出ます。
maxThreads max
このサーバーが内部で使用するスレッドの最大数。
ここには、同時にhserver
と通信させたいプロセスの最大数よりも多い数を指定してください。
デフォルトは4
です。2
未満の値は無視されます。
maxUsage pct
CPUの最大使用率(パーセント記号を含めないでください)。
ホストマシンに対するサーバープロセスの平均負荷がこの使用率を超えると、サーバーはレンダリングの受け入れを停止します。
100
より大きい値を指定すると、このチェックが無効になります。デフォルトは101
(無効)です。
このオプションの使用には注意してください。 これは 負荷を時間で割った平均 に基づいているので、この平均が閾値以内に収まる前にサーバーが複数のレンダリングの受け入れを拒否することがあります。
renderOnly 0|1
これを1
に設定すると、非グラフィカルライセンスのみが使用可能になります(これとgraphicsOnly
の両方を1
に設定すると、両方とも無視されます)。
これによって、"グラフィカル"アプリケーション(インターフェースを持ったアプリケーションのことで、例えばHoudini)がこのホストを使用しないように制限することができます。
graphicsOnly 0|1
これを1
に設定すると、グラフィカルライセンスのみが使用可能になります(これとrenderOnly
の両方を1
に設定すると、両方とも無視されます)。
これによって、コマンドラインアプリケーション(例えばhbatch
)がこのホストを使用しないように制限することができます。
relaxNonGraphics 0|1
これを1
に設定すると、たとえrenderOnly
が1
でも、非グラフィカルアプリケーションがグラフィカルライセンスを使用することができます。
ただし、非グラフィカルアプリケーション(hbatch
)はグラフィカルライセンスを使用することはできません。
readTimeout millis
このサーバーがsesinetd
ライセンスサーバーからの応答を待つ最大時間(ミリ秒)。
デフォルトは5000
(5秒)です。マイナス値を指定すると、ネットワークコールがタイムアウトしなくなります。
(hserver
が複数のライセンスサーバーを使用するように設定されている場合、これは、リスト内の1つのサーバーからの応答を諦めて次のサーバーに移動するまでの時間です。)
readIPMask ip_mask
このマスクに合致したIP4アドレスを持つクライアントのみがサーバーから情報を要求することができます。
デフォルトは+.+.+.*
です。+
記号は同じ位置にある現在のホストの番号に合致し、*
は任意の番号に合致します。
そのため、デフォルトでは、IP4アドレスがサーバーホストと同じ最初の3つの8ビットを持つマシンに合致します。
例えば、127.0.0.*
を使用すると、ローカルプロセスのみがサーバーと通信することができます。
writeIPMask ip_mask
このマスクに合致したIP4アドレスを持つクライアントのみが、サーバーの起動、サーバーのシャットダウン、レンダリングの一時停止/再開/強制終了、ライセンスサーバーの変更をすることができます。
デフォルトは+.+.+.*
です。+
記号は同じ位置にある現在のホストの番号に合致し、*
は任意の番号に合致します。
そのため、デフォルトでは、IP4アドレスがサーバーホストと同じ最初の3つの8ビットを持つマシンに合致します。
例えば、127.0.0.*
を使用すると、ローカルプロセスのみがサーバーを制御することができます。
logfile path
ログの書き込み先となるファイルパス。
hold license secs
hserver
がアプリケーションのライセンスをチェックアウトする時に、使用後にそのライセンスを返却せずに"保持"するように指定することができます。
これにより、同じマシンでのライセンスの再取得が非常に高速になりますが、ライセンスが縛られます。
この2つの引数は、ライセンスタイプとそのタイプの各ライセンスを保持する秒数です。
この秒数に-1
を指定すると、サーバーはそのタイプのライセンスを無期限に保持します。デフォルトは次のようになっています:
hold Houdini-Master 3600 hold Render -1
(つまり、FXライセンスを1時間保持し、Renderライセンスを無期限に保持します。Renderライセンスは無料なので、今後ずっと使用するために無期限に保持するのが妥当です。)
mantra version=X.X command="command"
特定のバージョンのMantraレンダラーでリモートレンダーを開始する時にレンダーコマンドを指定します。 これによって、同じホスト上で複数バージョンのレンダラーに対応することができます。
enableHttp 0|1
これを設定すると、hserver
は、接続済みsesinetdサーバーとhttp通信を優先的に使用するようになります。
接続済みsesinetdサーバーがhttp通信を認識しない、または、http通信をブロックした場合、hserver
は元々の通信システムに戻します。
コマンドラインからhserverを制御する方法
-h host
オプションで、照会/制御するリモートホストを指定することができます。
-l
起動中のhserverの情報を取得します。
-L
logfile
オプションを設定します。
-V
すべてのバージョン固有のMantraコマンドをリストします。
-q
起動中のhserverを閉じます。
-p
起動中のhserverにオプションファイルをリロードさせます。
-P pid
pidで指定されたhserverのタスクを一時停止します。
-R pid
pidで指定されたhserverのタスクを再開します。
-S servers
使用するライセンスサーバーをサーバー名で選択します。 ライセンスサーバーを冗長構成にしている場合には、接続するサーバー名をカンマ区切りのリストで指定します(最大3つ)。
-K pid
Killするhserverのタスクをpidで指定します。
-d
hserverをバックグラウンドで実行しないようにします。これは、Windows以外のプラットフォームでのみ利用可能です。
-n
renderOnly
オプションを有効にします(非グラフィカルレンダリングのみを許可します)。これと-G
の両方を設定すると、両方とも無視されます。
-G
graphicsOnly
オプションを有効にします(グラフィカルレンダリングのみを許可します)。これと-n
の両方を設定すると、両方とも無視されます。
-g
relaxNonGraphics
オプションを有効にします。
-r max
maxRenders
オプションを設定します。
-t count
maxThreads
オプションを設定します。
-T millis
readTimeout
オプションを設定します。
-a pct
maxUsage
オプションを設定します。
-m ip_mask
readIPMask
オプションを設定します。
-M ip_mask
writeIPMask
オプションを設定します。
-C
http通信が利用できる時、hserverは、接続するsesinetdサーバーにhttpを使って通信することができます。
-f
実行中の他のhserverに関する診断情報をhttpを使って取得します。このオプションは、-l
と比べて他のhserverに関する情報も取得することができます。
-v
他のhserverに関する情報を取得する時、アプリケーションがその詳細を出力するようになります。
ライセンスサーバーのチェーン化
この構成によって、ライセンスサーバー(sesinetd)をチェーン化することができます。 これは、あなたの仕様(例えば、ライセンスプロダクトタイプ)に基づいてライセンスサーバーを分けることができます。
この構成リストをセットアップするには、接続先となるライセンスサーバーを単一のsesinetdを指定するのではなくて、セミコロンで区切ったライセンスサーバーのセットを指定します。 このリスト内の1番目のsesinetdがコマンドの実行(つまり、チェックアウト)を試みて、何かしらの理由(接続できない、コマンドが失敗など)で失敗すると、次のsesinetdを試みます。 "hserver -S"を使ってこのリストを指定する時は、この接続先のリストを引用符で閉じてください。例えば、hserver -S "sesinetd1;sesinetd2"です。
この構成を使用するには、最低でもバージョン18.0のHoudini License Server(hserver)が必要になります。 現在のところ、sesinetdとHoudiniのバージョンは、この構成ではそのバージョンに合わせる必要性はありません。
HTTP通信に対応
クライアント側(hserver)でhttp通信を有効にするには、コマンドラインに-C
を追加するか、または、 HoudiniServer オプションファイルにenableHttp 1
を追加してください。
hserverでのhttp通信はデフォルトで無効になっています。
Note
-C
を追加してもhttp通信が使用される保証はありません。
hserverが-C
オプションを使用しても、そのライセンスサーバーのバージョンとライセンスサーバーでhttp通信が有効になっているかどうかによって、使用する正しい通信プロトコルが決定されます。
Warning
バージョン18.0のプロダクトは通信を適切に制御する必要があるので、http通信を使用する時は厳重に注意してください。