マニュアル

コマンド書式

diskcach [<オプション>...] [<物理ドライブ番号>]

[ ] は省略できる場合があることを示す。
... はその直前の要素を複数指定できることを示す。

<物理ドライブ番号>

 ディスクキャッシュの操作の対象とする物理ディスクの番号。管理ツールの中にある「コンピュータの管理」の「ディスクの管理」スナップインで表示されるディスクの番号と同じ(下図参照)。

 本ツールで設定するキャッシュは、ボリューム(C:やD:などのドライブレターを一つだけ振ることができるもの)毎ではなく、物理ドライブ毎に設定する。

 オプションを何も指定せず、かつ物理ドライブ番号も指定しなかったときは、-hを指定したのと同じに扱われる。
 -Pオプションを指定し、かつ物理ドライブ番号を指定しなかったときは、システムに存在するすべての物理ドライブについてキャッシュ情報が表示される。オプションを何も指定せず、物理ドライブ番号だけを指定したときも同様である。

<オプション>

 オプション名には原則として先頭に「--」が付く。ただし、オプションによっては短縮形式をサポートするものがある。短縮形式は先頭に「-」が付き、その後に一文字のオプション名が続く。以下では短縮形式をカッコに括って示した。
 いずれの形式でも、「-」の代わりに「/」を使うことはできない。短縮形式でないオプション名は、他と区別できる限度で終わりの方の文字を省略できる。例えば、--read-retention-priorityは--read-rと省略できる。曖昧さが生じるほどに短縮するとエラーとなる。
 オプションは全て大文字と小文字を区別する。

一般オプション

--help (-h)
ヘルプメッセージを表示して終了する。
--physical-drive-number (-n) <物理ドライブ番号>
キャッシュを設定する物理ドライブの番号を<物理ドライブ番号>に指定する。オプションでない裸のコマンドライン引数として指定するのと同等。
--flush (-f)
指定された物理ドライブのキャッシュ、Windowsのキャッシュ及びレジストリのキャッシュをフラッシュする。物理ドライブ番号が指定されていないときはすべてのディスクを対象とする。
--print (-P)
指定された物理ドライブのキャッシュ情報を表示する。キャッシュ設定を変更する他のオプションと同時に指定されたときは、設定した情報を表示する(が、設定によってはディスク側が無視することがあるので、実際にそのように設定されたとは限らない)。物理ドライブ番号が指定されないときは、システムに接続されるすべての物理ディスクの情報を表示する。
--webpage
本ツールの公式ページをウェブブラウザを起動して表示する。

設定オプション

 設定内容を指定するオプション群。これらのオプションを指定するときは、物理ドライブ番号を必ず一つ指定しなければならない。複数のオプションを同時に指定することは可能である。
 以下で、{a|b}とあるのは、a又はbのいずれか一つを指定しなければならないことを示す。
 これらの設定は、ドライバやドライブによっては、(設定時にエラーが発生しないにもかかわらず)設定できないこともある。

--write-cache (-w) {0|1}
書き込みキャッシュを有効又は無効にする。0は無効、1は有効を表わす。デバイスマネージャ等から表示させられる「ディスクのプロパティ」の「ディスクの書き込みキャッシュを有効にする」チェックボックスの内容に相当する(下図参照)。
--read-cache (-r) {0|1}
読み出しキャッシュを有効又は無効にする。0は無効、1は有効を表わす。
--power-protection (-p) {0|1}
UPSによる電源のバックアップがあることを前提として、アプリケーションがキャッシュをしないように指定した書き込みデータも強制的にキャッシュする。詳細はMicrosoftのKB332023を参照。0は無効、1は有効を表わす。デバイスマネージャ等から表示させられる「ディスクのプロパティ」の「拡張処理能力を有効にする」チェックボックスないし「デバイスでWindowsによる書き込みキャッシュバッファーのフラッシュをオフにする」チェックボックスの内容に相当する(下図参照)。
--read-retention-priority {0|1|2}
読み出しキャッシュの中で、プリフェッチ(先読み)されたデータとそうでないもののどちらを優先して残すかを指定する。0は平等、1はプリフェッチされたデータを優先、2はそれ以外のデータを優先することを意味する。詳細(というほど詳細でもないが……)はWDKのDISK_CACHE_RETENTION_PRIORIRY及びDISK_CACHE_INFORMATIONのドキュメントを参照。主としてSCSIディスクで設定可能。
--write-retention-priority {0|1|2}
書き込みキャッシュに関するという以外は、--read-retention-priorityと同様。主としてSCSIディスクで設定可能。
--disable-prefetch-transfer-length <blocks>
ディスクに対して要求された読み出し量が<blocks>ブロックを超えるときは、プリフェッチを行なわないようにする。0を指定したときは、プリフェッチは無効になる。主としてSCSIディスクで設定可能。
--scalar-prefetch <min>,<max>,<max-block>
ディスクに対してデータの転送が要求されたとき、その要求されたブロック数の<min>倍以上<max>倍以下かつ<max-block>以下のブロックをプリフェッチするようにする。--block-prefetchと同時には設定できない。主としてSCSIディスクで設定可能。
--block-prefetch <min>,<max>
ディスク操作が行なわれたときに、<min>ブロック以上<max>ブロック以下をプリフェッチするようにする。--scalar-prefetchと同時には設定できない。主としてSCSIディスクで設定可能。

キャッシュ情報

 --print(-P)オプションが指定されたときに表示されるキャッシュ情報について。
 Windows Server 2003では、Flush Cache Supported以降は表示されない。

Drive
指定されたドライブのパスとディスク名称及び接続されているバスの名称。
Volume Path
そのディスク(正確にはパック)に存在するパーティション(正確にはエクステント)のうち、ドライブレターが振られているもののそのドライブレター。
Write Cache Enabled
--write-cacheで設定できるものの現在の設定状況。
User Defined Power Protection
--power-protectionで設定できるものの現在の設定状況。
Write Retention Priority
--write-retention-priorityで設定できるものの現在の設定状況。Equalは0、Prefetchedは1、Readは2に相当。
Read Cache Enabled
--read-cacheで設定できるものの現在の設定状況。
Read Retention Priority
--read-retention-priorityで設定できるものの現在の設定状況。Equalは0、Prefetchedは1、Readは2に相当。
Disable Prefetch Transfer if the number of trasnfered block is above
--disable-prefetch-transfer-lengthで設定できるものの現在の設定状況。
Block Prefetch
--block-prefetchで設定できるものの現在の設定状況。--scalar-prefetchが設定されているときは表示されない。
Scalar Prefetch
--scalar-prefetchで設定できるものの現在の設定状況。--block-prefetchが設定されているときは表示されない。
Parameter Savable
設定内容が不揮発に保存されるかどうか。
Flush Cache Supported
キャッシュをフラッシュする機能をサポートするかどうか。
NV Cache Enabled
NVキャッシュの機能(ReadyDriveなど)が有効になっているかどうか。
Write Cache Type
書き込みキャッシュのタイプ。
Write Cache Changeable
書き込みキャッシュの特性を変更できるかどうか。

コマンド例

diskcach -P
システムに直接接続されている物理ディスクすべてのキャッシュ情報を表示する。
diskcach -P 0
ディスク0のキャッシュ情報を表示する。
diskcach -P -n 0
同上。
diskcach 0
同上。
diskcach -w 1 0
ディスク0の書き込みキャッシュを有効にする。
diskcach -p 1 0
ディスク0の書き込みキャッシュバッファーのフラッシュ機能を強制的に無視する状態にする。
diskcach --scalar-prefetch 1,10,10
プリフェッチの倍率を1~10、ただしプリフェッチの最大ブロック数を10に設定する。IDEディスクでは大抵設定できない。

エラーコード

 成功時には0を、エラー発生時には0でない値を返す。

その他

 このプログラムの実行には、通常管理者(Administrators)又はSYSTEMの権限が必要となる。例え設定を表示させるだけでも同様である。

前ページ | 目次 | 次ページ