CPU を食べているドライバは誰?

ネットワークファイルコピー中にWindows Server 2008 カーネルが高負荷http://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.0http://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%…

0

Untitled-2

Untitled-1 の画像はクリックすると表示される仕掛けだったのですが、気付かなかった人が多かったかも。要するに boot.ini の /INTAFFINITY の代替物です。P1 では全く割り込み処理がなされていない。 ソースコード置いておきますね。自己責任でどうぞ EnumDevices.cpp

0

Untitled-1

また、よくわからないものを作ってしまった。Interrupt Affinity Policy Tool が何でもかんでも認識してしまうので、ついかっとなって作った。今は後悔している ————Overall Summary:————– P0     K 0:00:43.571 (25.1%)  U 0:00:25.802 (14.9%)  I 0:01:44.255 (60.0%)  DPC 0:00:01.981 ( 1.1%)  Interrupt 0:00:01.825 ( 1.1%)       Interrupts= 232946, Interrupt Rate= 1342/sec. P1     K 0:00:00.811 ( 0.5%)  U 0:00:00.062 ( 0.0%)  I 0:02:52.755 (99.5%)  DPC 0:00:00.015 ( 0.0%)  Interrupt 0:00:00.000 ( 0.0%)       Interrupts= 118817, Interrupt Rate= 684/sec….

0

Core Parking Internals – 解答編 & Interrupt Affinity Policy Tool の簡単な説明

Core Parking は万能ではないで出題した、Parked (保留) 状態のコアが CPU を利用している状態の解答編です。 実は Core Parking は負荷に応じて直接 CPU を Throttling State (省電力状態) に落とすわけではありません。いくつかの段階を経て CPU を省電力状態へ落とすのです。過程は以下のようになります。 システムの負荷に応じて最適な CPU数を選択する 余分な Core を Parked (保留) 扱いへ変更 Unparked Core (通常状態の Core) を中心にスケジューリングを行う 結果的に Parked 状態の Core が Idle状態になる Idle状態が続いている Core を Throttling状態 (省電力状態) へ移行 さて、Windows 7 で Core Parking を利用する方法で紹介したように Windows 7 でも Core Parking…

0

Core Parking は万能ではない

(解答編はこちら) 先日、Windows 7 で Core Parking を利用する方法 を紹介しましたが、Core Parking と実際の CPU 電力状態は必ずしも一致しません。 そこでクイズです。 CPU 0 は保留状態 (Parked) になっていますが、CPU 使用率は 100% となっています。なぜでしょうか?

0

JumpList はどこに保存されているのか

10行で理解する JumpList (VS2010 beta 2 編) で JumpList の使用方法を解説しましたが、アプリケーションを終了しても JumpList は保持されています。この情報はどこに保存されているのでしょうか? 答えは %AppData%\Microsoft\Windows\Recent\CustomDestinations です。 10行で理解する JumpList (VS2010 beta 2 編) で作成したアプリケーションを実行すると、このようにファイルが追加されます。 ここで、このファイルを削除してみましょう。 削除すると、JumpList もクリアされます。 このファイルはバイナリ形式ですが、内容をメモ帳で開くと 追加したタスクが登録されているのが確認できます。 その他、一意性を保つためにマシン名やパスが含まれていることがわかります。これらを直接インストーラなどで配布しないように気をつけてください。 Visual Studio 2010 Professional beta 2 はこちらから入手することが可能です。 Visual Studio 2010 Ultimate Beta 2 ISO (英語)http://www.microsoft.com/downloads/details.aspx?FamilyID=dc333ac8-596d-41e3-ba6c-84264e761b81&displaylang=en

3

10行で理解する JumpList (VS2010 beta 2 編)

(保存先はJumpList はどこに保存されているのか で取り上げています) .NET Framework 4.0 beta 2 より、新たに System.Windows.Shell 名前空間 (PresentationFramework 4.0) が追加されました。 JumpList は Windows 7 より新たに導入されたタスクバーの機能です。 図 Pin された Live Messenger のアイコンを右クリックした際に表示される JumpList JumpList をカスタマイズすることによって、このようにアプリケーション固有のよく使われる Task を追加することが可能です。では、JumpList を利用するために必要なコードを書いてみましょう。 Visual Studio 2010 beta 2 で新しいプロジェクト (Windows Forms Application) を作成し、以下のコードを追加します。 using System;using System.ComponentModel;using System.Windows.Forms; using System.Windows.Shell; namespace JumpListTest{    public partial class Form1 : Form   …

0

Windows 7 & Internet Explorer 8 Developer Day 補足説明 – (予定)

掲載予定のコード 1. Explorer Browser Control を用いた Shell API の利用 (Code Pack for .NET, VS2008, C#) 2. Shell Library を用いたライブラリーの利用 (Code Pack for .NET, VS2008, C#) 3. Taskbar JumpList (Code Pack for .NET, VS2008, C#), (VS2010, .NET 4.0 beta 2, C#) 4. Sensor API (照度計) (Code Pack for .NET, VS2008, C#) その他、扱ってほしい内容ありましたらコメントまたは twitter @mskwt までお願いします。

0

「Windows 7 & Internet Explorer 8 Developer Day」開催

blog で告知するのをすっかり忘れていましたが、Windows 7 発売開始前日の10/21 にセミナーを開催します。 本セミナーでは Windows 7 の新機能のご紹介、またそれらを活用したアプリケーション開発手法、Internet Explorer 8 の新機能活用をデモを交えてわかりやすく解説する予定です。デモではマルチタッチ対応ノートパソコンも使用します。まだ触れたことがないという方にもお勧めです。 Windows Code Pack for .NET を用いてのマネージド開発もきちんと取り上げますので興味のある方はぜひご参加ください。 登録はこちらからTech Fielders セミナー 東京 [Windows 7 & Internet Explorer 8 Developer Day] http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032427921&Culture=ja-JP

0