Skip to main content

hcpコマンド設定項目

設定項目一覧

hcpコマンドの設定項目(クライアントコマンド共通設定項目を除く)は以下の通りです。

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)

説明項目名
一時ファイルを経由する二段階保存の設定AtomicLikeSaving
実行するファイルサイズの閾値指定AtomicLikeSavingThreshold

データフロー制御・ディスクI/O速度制御

説明項目名
読み込み速度の上限設定(接続単位)MaxReadRate
書き込み速度の上限設定(接続単位)MaxWriteRate

通信再開機能

説明項目名
自動再開試行回数AutoResumeTrials
自動再開試行間隔(秒)AutoResumeTrialInterval

性能評価機能

説明項目名
メモリ転送並列設定(ローカルI/O抑制モード実行時)MemoryTransferConcurrency

システム動作環境設定

説明項目名
設定ファイルのインクルードInclude
cp/rsyncに近いコピー(同期)動作の指定UseProperCopyAndSync

データフロー制御・一時ファイル保存機能(アトミック(不可分)ファイル保存)

AtomicLikeSaving

hcpd設定項目参照

AtomicLikeSavingThreshold

hcpd設定項目参照

データフロー制御・ディスクI/O速度制御

MaxReadRate

=========================================================================
対応OS : Linux / Windows / Mac
書式 : MaxReadRate <read-rate>
-------------------------------------------------------------------------
read-rate
既定値 : 10Ebit (無制限)
値の範囲 : 符号なし倍長整数(10Ebitまで)
=========================================================================

ファイル転送時にディスクからファイルを読み込む速度の上限を設定します。この設定はファイル転送のセッション毎に適用されます。bps単位で符号付倍長整数の最大値もしくはそれを超える値が指定された場合は無制限と設定されます。

SSDなどを使用する際に長時間の読み書きを高レートで行うとオーバーヒートを起こすことがあり(特に書き込み側)、それを抑制する場合などにこの設定を使用します。

--
例:
MaxReadRate 10Gbit
--

MaxWriteRate

=========================================================================
対応OS : Linux / Windows / Mac
書式 : MaxWriteRate <write-rate>
-------------------------------------------------------------------------
write-rate
既定値 : 10Ebit (無制限)
値の範囲 : 符号なし倍長整数(10Ebitまで)
=========================================================================

ファイル転送時にディスクからファイルを書き込む速度の上限を設定します。この設定はファイル転送のセッション毎に適用されます。bps単位で符号付倍長整数の最大値もしくはそれを超える値が指定された場合は無制限と設定されます。

SSDなどを使用する際に長時間の読み書きを高レートで行うとオーバーヒートを起こすことがあり(特に書き込み側)、それを抑制する場合などにこの設定を使用します。

--
例:
MaxWriteRate 10Gbit
--

通信再開機能

AutoResumeTrials

=========================================================================
対応OS : Linux / Windows / Mac
書式 : AutoResumeTrials <num-trials>
-------------------------------------------------------------------------
num-trials
既定値 : -1
値の範囲 : 符号付き整数
=========================================================================

再開を自動的に試行する回数を設定します。-1を指定すると回数の制限なく再開を試行します。0を指定した場合、再開を行わずに停止します(再開試行回数0回)。

--
例:
AutoResumeTrials 5
--

AutoResumeTrialInterval

=========================================================================
対応OS : Linux / Windows / Mac
書式 : AutoResumeTrialInterval <trial-interval>
-------------------------------------------------------------------------
trial-interval
既定値 : 30
値の範囲 : 符号なし整数
=========================================================================

再開を自動的に試行するまでの待機時間間隔を設定します(秒単位)。

--
例:
AutoResumeTrialInterval 10
--

性能評価機能

MemoryTransferConcurrency

=========================================================================
対応OS : Linux / Windows / Mac
書式 : MemoryTransferConcurrency <num-concur> <wait-type> <busy-sleep-nsec>
-------------------------------------------------------------------------
num-concur
既定値 : 自動 (物理コア数 / 2 と 16 のいずれか小さい値)
値の範囲 : 符号なし整数
-------------------------------------------------------------------------
wait-type
既定値 : cond
値の範囲 : cond, busy
-------------------------------------------------------------------------
busy-sleep-nsec
既定値 : 1
値の範囲 : 符号なし整数
=========================================================================

ローカルI/Oを抑制するモード(hcpコマンド -nオプション。メモリツーメモリ転送動作時)を実行する場合に、送信元で使用する疑似データをデータブロックバッファにコピー(memcpyによるメモリコピー)する際の並列動作を設定します。

num-concurは、並列数を指定します。1を指定すると並列化せずに標準のメモリコピー処理(memcpy)を実行します。

wait-typeは、並列動作するメモリコピースレッドが待機する際に使用する待機方式を指定します。condは条件付き待機(conditional wait)を、busyはビジー待機(busy wait)を行います。busyを指定した場合は、並列数を指定した数のCPUの使用率が常時100%まで達する場合があります。

busy-sleep-nsecは、ビジー待機する際に待機する時間をナノ秒で指定します。

このオプションは100G環境などでベンチマークを行う際に、シングルスレッドによるメモリコピー(memcpy)の性能限界(このメモリコピーのボトルネックがアプリ通信性能のボトルネックになる)を解消するための性能チューニングに使用します。

--
例:
MemoryTransferConcurrency 1 cond 1 # 無効化
MemoryTransferConcurrency 12 busy 1 # ビジー待機、4並列、1ナノ秒待機
--

システム動作環境設定

Include

=========================================================================
対応OS : Linux / Windows / Mac
書式 : Include <file-path>
-------------------------------------------------------------------------
file-path
既定値 : なし
値の範囲 : ファイルシステムのパス文字列
=========================================================================

クライアントコマンドに共通して指定できる設定を記述したファイルをインクルードします。インクルードは、hcp.confの任意の位置に記述できます。インクルードの記述の前に設定された同じ項目の値は上書きされます。インクルードはネストできません。

--
例:
Include /etc/hcp/hcp-common.conf
--

相対パスで指定した場合は、記述しているファイルからの相対パスでインクルードするファイルを探します。

UseProperCopyAndSync

=========================================================================
対応OS : Linux / Windows / Mac
書式 : UseProperCopyAndSync <flag-available>
-------------------------------------------------------------------------
flag-available
既定値 : yes
値の範囲 : yes, no
=========================================================================

コピー動作及び同期動作をそれぞれcpコマンド、rsyncコマンドの動作に合わせるように指示をします。

コピー動作は、主に次の様に動作が変更されます。

  • 転送元にディレクトリを指定し、かつ宛先のパスがディレクトリとして存在する場合は、宛先のディレクトリに転送元のディレクトリ名でディレクトリを作成し、その配下にファイルをコピーします
  • 転送元にディレクトリを指定し、かつ宛先のパスが存在しない場合は、宛先のパス名でディレクトリを作成し、その配下にファイルをコピーします(転送元のディレクトリ名でディレクトリは作成されません)
  • ファイルもしくはディレクトリの上書きでファイル種別が異なる場合(例:転送元はファイル、転送先はディレクトリ)は、理由コード(CANNOT_OVERWRITE_DIR, CANNOT_OVERWRITE_NON_DIR)でエラーになります
  • 転送元にディレクトリを指定し、かつ-R(再帰コピー)オプションを指定しない場合は、理由コード(OMIT_DIR)でエラーになります
  • 転送元に複数のパスを指定し、かつ宛先のパスがディレクトリでない場合は、理由コード(DEST_IS_NON_DIR)でコマンドの実行を停止します
  • 転送元が複数のファイルを含む可能性があり(ディレクトリ、正規表現オプション指定、ワイルドカード)、かつ宛先のパスが存在しディレクトリでない場合は、理由コード(CANNOT_OVERWRITE_NON_DIR)でコマンドの実行を停止します

同期動作は、主に次の様に動作が変更されます。

  • 転送元にディレクトリを指定し、かつこのパス指定の末尾がスラッシュ(/)でなければ、宛先パスのディレクトリ(存在しない場合は作成)に転送元のディレクトリ名でディレクトリを作成し、その配下にファイルをコピーします
  • 転送元にディレクトリを指定し、かつこのパス指定の末尾がスラッシュ(/)の場合は、宛先パスのディレクトリ(存在しない場合は作成)の配下にファイルをコピーします
  • ファイルもしくはディレクトリの上書きでファイル種別が異なる場合(例:転送元はファイル、転送先はディレクトリ)は、転送先のファイルもしくはディレクトリを削除してからコピーを行います
  • 転送元にディレクトリを指定し、かつ-R(再帰コピー)オプションを指定しない場合は、理由コード(OMIT_DIR)で処理をスキップし、コマンドの実行結果はエラーとして評価しません(終了ステータスが0で返る)
  • 転送元が複数のファイルを含む可能性があり(ディレクトリ、正規表現オプション指定、ワイルドカード)、かつ宛先のパスが存在しディレクトリでない場合は、理由コード(CANNOT_OVERWRITE_NON_DIR)でコマンドの実行を停止します
--
例:
UseProperCopyAndSync no
--