QueryPerformanceCounter 関数を使用するプログラムを Windows Server 2000、Windows Server 2003、および Windows XP が不十分な実行可能性があります。

現象


で次の OS'es。
Windows Server 2000
Windows XP の場合
Windows Server 2003
Windows 2000 Server のゲスト O.S.
Windows XP のゲスト O.S.
Windows Server 2003 ゲスト O.S.

不十分な場合があります、クエリ システムの時刻にQueryPerformanceCounter関数を使用するプログラムを実行します。


次に例を示します。

Ping コマンドを使用してリモート コンピューターにインターネット制御メッセージ プロトコル (ICMP) パケットを送信するときの応答が負の応答時間を表示します。たとえば、ping コマンド次の応答が生成されます。

C:\ > x.x.x.x に ping を実行

32 バイトのデータで [ping x.x.x.x は。

X.x.x.x からの応答: バイト = 32 時間 = 59ms の TTL = 128
X.x.x.x からの応答: バイト = 32 時間 = 59ms の TTL = 128
X.x.x.x からの応答: バイト = 32 時間 = 59ms の TTL = 128
X.x.x.x からの応答: バイト = 32 時間 = 59ms の TTL = 128


また、論理ディスクのパフォーマンス カウンターを使用するか、物理ディスクが正しく可能性がある場合は、高レーテンシーの値を表示します。


注: この問題は、x86 ベースのバージョンの Windows または Windows の x64 ベースのバージョンを実行しているコンピューターで発生します。


原因

この問題の場合は、コンピューターには、AMD Cool'n'Quiet テクノロジ (AMD デュアル ・ コア)、BIOS またはインテルのマルチコア プロセッサで有効にします。マルチコアまたはマルチプロセッサ システムでは、別のコアの間の時間が同期されていない場合タイム スタンプ カウンター (TSC) に流された分を発生することがあります。計時リソースとして、TSC を使用するオペレーティング システム問題が発生可能性があります。

解決策

新しいドライバーまたはファームウェアのかどうかをハードウェアの製造元にこの問題のチェックを解決するのにはアップデートがある問題を解決します。

注: ドライバーのインストールは、Boot.ini ファイルで/usepmtimerスイッチを追加することがあります。このスイッチは、「回避策」セクションで説明します。

回避策

この問題を回避するには、コンピューターの BIOS を更新します。または、 /usepmtimerスイッチを使用して Boot.ini ファイルを変更します。これを行うには、以下の手順を実行します。
  1. 管理資格情報を持つアカウントを使用してコンピューターにログオンします。
  2. [スタート] ボタンを実行] をクリックして、メモ帳の c:\boot.iniと入力し、[ OK] をクリックします。
  3. Boot.ini ファイルでは、「[ブート ローダー]」の「"default"で始まる行があります。この行は、既定のオペレーティング システムの場所を指定します。行は次のよう可能性があります。
    default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
    「[オペレーティング システム]」] セクションでは、"default"行に対応するオペレーティング システムの行を探します。などのコンピューターが Microsoft Windows Server 2003 Enterprise x64 Edition を実行している場合は、行は、次のようになります。
    (0) のマルチ ディスク (0) rdisk (0) パーティション (2) \WINDOWS="Windows Server 2003 Enterprise x64 Edition"/fastdetect/NoExecute = OptIn
  4. 行の最後に、スペースを追加して/usepmtimerを入力します。行の次のようになります。
    (0) のマルチ ディスク (0) rdisk (0) パーティション (2) \WINDOWS="Windows Server 2003 Enterprise x64 Edition"/fastdetect/NoExecute = OptIn/usepmtimer
  5. ファイルを保存し、メモ帳を終了します。
  6. コンピューターを再起動します。
/Usepmtimerスイッチを含むシステムの Boot.ini ファイルの例を次にします。
[ブート ローダー]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[オペレーティング システム]
(0) のマルチ ディスク (0) rdisk (0) パーティション (2) \WINDOWS="Windows Server 2003 Enterprise x64 Edition"/fastdetect/NoExecute = OptIn/usepmtimer
注: Boot.ini ファイルは、システム ドライブのルート フォルダーであります。

注:/UsePmTimer 設定を使用すると、パフォーマンスの低下が生じる場合があります。

詳細

ACPI および APCI のハードウェア サポートの詳細については、マイクロソフト サポート技術情報の資料を参照するのには次の資料番号をクリックします。

Windows XP または Windows Server 2003 セットアップ後の HAL オプションの309283

X64 ベース バージョンの Microsoft Windows のテクニカル サポート

ハードウェアが既にインストールされている、Microsoft Windows x64 エディションに付属している場合、ハードウェアの製造元は、テクニカル サポート、および Windows x64 エディションのサポートを提供します。この例では、ハードウェアの製造元は、Windows x64 エディションがハードウェアに搭載されているために、サポートを提供します。ハードウェアの製造元が、独自のコンポーネントを使用して Windows x64 エディションのインストールをカスタマイズしている可能性があります。独自のコンポーネントは、固有のデバイス ドライバーを含めることがあります。 またはハードウェアのパフォーマンスを最大化するためのオプションの設定を含めることがあります。Windows x64 エディションのテクニカル ヘルプが必要な場合、マイクロソフトは妥当な範囲のサポートを提供します。ただし、製造元に直接連絡する必要があります。製造元は、製造元がハードウェアにインストールするソフトウェアをサポートするために最も適しています。など、Microsoft Windows Server 2003 x64 エディションの Windows x64 エディションを別々 に購入した場合は、Microsoft をテクニカル サポートに問い合わせます。

Microsoft Windows XP Professional x64 Edition の製品については、次のマイクロソフト Web サイトを参照してください。X64 ベース バージョンの Microsoft Windows Server 2003 の製品については、次のマイクロソフト Web サイトを参照してください。この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

プロパティ

文書番号:895980 - 最終更新日: 2017/02/02 - リビジョン: 1

Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Standard x64 Edition, Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows XP Professional x64 Edition, Microsoft Windows XP Professional, Microsoft Windows 2000 Enterprise Edition, Microsoft Windows 2000 Standard Edition

フィードバック