Windows TIPS
[System Environment] |
システム全体で使用するCPU数を限定させる
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ 打越 浩幸
2007/03/16 |
|
対象OS |
Windows 2000 |
Windows XP |
Windows Server 2003 |
Windows Vista |
|
|
 |
■ |
マルチプロセッサ・システム上で使用すると不具合を起こすシステム・ソフトウェアやデバイス・ドライバがある場合は、システム全体で使用するCPUを1つだけに限定させるとよい。 |
■ |
システムで使用するCPUを1つに限定させるには、boot.iniファイルに/numproc=オプションを指定する。 |
|
|
TIPS「プログラムの実行に使用するCPUを限定させる」では、プログラムの実行に使用するCPUを限定させる方法について解説した。この方法を利用すれば、マルチプロセッサ・システム上で不具合を起こすようなプログラムを、シングルプロセッサ・システムと同様の状態にして実行することができる。マルチスレッド対応しているけれども、テストなどが不十分で、マルチプロセッサの実機上で問題が発生するような場合に効果的な対策である。
だがこの方法では、ユーザー・アプリケーションをシングルプロセッサ環境で動作させることはできるが、OSに組み込んで使うようなソフトウェア(ミドルウェアなど)や、デバイス・ドライバなどに問題がある場合は対処できない。
このようなソフトウェアの場合は、システムの起動時からシングルCPUしか使用しないようにすればよい。システム全体のパフォーマンスは低下するかもしれないが、不具合を起こすよりはましであろう。本TIPSでは、システムで使用するプロセッサを限定させる(シングルプロセッサにする)方法について解説する。
boot.iniに/numproc=オプションを指定する
マルチプロセッサやマルチコアCPUを使用していても、Windows OSで利用するプロセッサの数を1つに限定させるには、ブート構成ファイルboot.iniに、「/numproc=1」というオプションを設定すればよい(起動するOSのオプショの末尾に付け加える)。
boot.iniファイルを編集するには、TIPS「システムのブート情報ファイルBOOT.INIを編集する」を参照していただきたい。
Windows XPおよびWindows Server 2003の場合は、msconfigコマンドを利用するとよいだろう。[ファイル名を指定して実行]で「msconfig」と入力するとmsconfigコマンドが起動するので、[BOOT.INI]タブにある[詳細オプション]を利用する。
 |
msconfigによるboot.iniファイルの設定 |
boot.iniで使用するCPU数を限定させると、システム起動時から1 CPUしか使わないようになる。
|
 |
このタブを選択する。 |
|
 |
これをクリックする。 |
|
使用するCPU数を限定させるには、/NUMPROC=オプションを有効にする。
 |
使用するCPU数を限定させるオプション |
これを設定すると、マルチプロセッサ・システムであっても、より少ない数のCPUしか使わなくなる。
|
 |
これをオンにする。 |
|
 |
[1]を選ぶとシングルプロセッサになる。 |
|
[OK]をクリックして終了すると、システムの再起動を求めるダイアログが表示されるので、それを了承して再起動する。再起動後にタスク・マネージャで確認すると、CPUの数が1つ(もしくは設定した数)になっていることが確認できるだろう
Windows Vistaの場合
Windows Vistaではboot.iniファイルが廃止され、特別なバイナリ・ファイルを使ってブート情報を管理している。だがCPU数を限定させるオプションは、互換性のために用意されているmsconfigコマンドを使って行えるようになっている。使い方はWindows Server 2003やWindows XPのmsconfigとほぼ同じである。
msconfigを起動し、[ブート]タブにある[詳細オプション]ボタンをクリックする。そして[プロセッサの数]というチェックボックスをオンにし、ドロップダウン・リストから[1]を選択すればよい。
Windows Server Insider フォーラム 新着記事