Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ネットワークファイルコピー中にWindows Server 2008 カーネルが高負荷
https://www.m-tea.info/2009/11/windows-server-2008.html より。
“System” による CPU の消費が激しいなど、タスクマネージャでは特定できない妙な現象に遭った時には KernRate を使ってみましょう。
KernRate は Windows Driver Kit に同梱されています。Windows Driver Kit は Device Driver を書くためのものですが、Driver なんて書かないよ、という方も問題解決の最終手段として是非お使いください。
(当方、問題なく動いている環境ですが…) 実際に問題を特定してみましょう。
まずは WDK をダウンロード、インストールします。
Windows Driver Kit Version 7.0.0
https://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en
既定では C:\WinDDK\7600.16385.0 に WDK がインストールされます。
その下の tools\other\%PROCESSOR_ARCHITECTURE% に移動すると以下のファイルが用意されていると思います。
それでは Let's 解析!
まず、コマンドプロンプトを管理者権限で起動します。コマンドは単純明快
> kernrate.exe
問題を再現させて数十秒程度待ち、Ctrl+C で終了させます。すると、以下のような出力がなされます。
…おお。NTOSKRNL (NT Kernel) がほとんどの時間を消費している!(99.7% が Idle時間なので 0.3% のうちの 98% ですが…)
では、ntoskrnl のどの部分が最も時間を消費しているのか調べて見ましょう。krnlrate.exe に –z moduleName オプションをつけるだけです。
> kernrate.exe –z ntoskrnl
このことから、”System” と呼ばれていた謎の 0.3% の CPU 使用率の正体が KeUpdateSystemTime() であることがわかりました。
(単純にタイマー割り込みを処理しているだけです)
おかしな現象にはまったらぜひこのようなツールをご活用ください。
Windows 7 で Core Parking を利用する方法 もよろしくです。