[ニュースレターアーカイブ ^][< Vol.5、No. 2][Vol. 6、No. 2 >]

システム内部ニュースレター Vol. 6、No. 1

http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich


特別号

最近のニュースレターがないのは、リストが壊れているか、書くのをやめたためと思われているかもしれませんが、その理由は、David Solomon と私は「Inside Windows 2000」の次のエディションに熱心に取り組んでいたためです。 "Windows Internals" というタイトルで、Windows 2000、Windows XP、Server 2003 をカバーします。 作業は順調に進んでおり、10 月の出版に向けて 8 月には原稿を完成させる予定です。 OS への変更を反映するだけでなく、セキュリティ、クラッシュ ダンプ分析、スタートアップなど、多くの領域でも対象範囲を拡大しました。 完了したら、通常のニュースレター再開をお楽しみにお待ちください。 とはいえ、プロセスエクスプローラーのヒントは役立つと思います。

プロセス エクスプローラーを使用した CPU 使用率の追跡

Sysinternals を頻繁に使用している方は、過去 6 か月間にプロセス エクスプローラーが大幅に機能強化されたことをご存知でしょう。 タスク マネージャーを使用するよりもはるかに簡単にシステムの CPU 使用率を把握できる方法があります。 たとえば、タスク マネージャーでは、CPU を消費していないプロセスでも CPU 列 ("00") にテキストが表示され、CPU を使用しているプロセスとの区別がつきにくくなっています。 また、タスク マネージャーは CPU 使用率を最も近い整数に四捨五入し、CPU 使用率を非表示にしたり、誤表示したりする可能性があります。 プロセスが毎回アクティブになっているものの、CPU 使用率が 1% 未満の場合でも、"00" と表示される可能性があります。 最後に、タスク マネージャーは、割り込み処理によって使用された CPU 時間を "システム アイドル プロセス" に帰属させるため、マシンを遅くするバグだらけのドライバーやハードウェアを特定できなくなります。

プロセス エクスプローラーでは、CPU 使用率がゼロでないプロセスの数値のみが表示され、小数点以下の CPU をより正確に表示するオプションが表示されるため、CPU 使用率を一目で確認できます。 また、割り込み (ハードウェア割り込み) と遅延プロシージャ呼び出し (DPC - ソフトウェア割り込み) アクティビティも擬似プロセスとして表示されます。

ただし、小数点以下の CPU を使用している場合でも、CPU を消費しているように表示されないプロセスがほとんどです。 その理由は、Windows のタイム アカウンティングの方法によるものです。 定期的に (ほとんどのシステムでは 10 ミリ秒ごとに) クロック割り込みが発生します。 これに対して、Windows のクロック割り込みルーチンが実行され、現在実行中のスレッドが、最後のクロック割り込み以降に CPU を使用しているものであると仮定します。 今日のマルチギガヘルツ CPU では、10 ミリ秒は長い時間であり、多くのスレッドをクロック割り込みの間に実行できますが、クロック割り込みルーチンには表示されない可能性があります。

したがって、プロセスの実行を決定するもう 1 つの方法は、プロセス内のスレッドで発生したコンテキスト切り替え数を調べることです。 スレッドを実行する (スケジュール済み) ように選択すると、そのコンテキスト切り替え数が増分処理されます。 各プロセスで発生したコンテキスト切り替えの合計数を確認するには、[コンテキスト切り替え] 列を追加します ([表示]、>[列の表示] をクリックします)。 しかし、より興味深い数値は、コンテキスト切り替えデルタ列です。 これにより、プロセス エクスプローラーの更新間隔 (既定では 1 秒) の間に、各プロセスで発生したコンテキスト切り替え数が表示されます。

そこで、システム上のプロセス アクティビティをまったく別の視点で見る場合は、コンテキスト切り替えデルタ列を追加し、その列で並べ替えます。 スレッドが 10 ミリ秒のクロック間隔で実行されているため、CPU 時間を消費しているように表示されないスレッドが実行されている多くのプロセスが表示されます。 これらのプロセスの中には、必要のないポーリング (レジストリのクエリやフォルダー内の変更の確認など) が実行されているものもあります。 これは単にずさんなプログラミングです。 有益な作業を行っているにもかかわらず、システムの時間計算メカニズムの「レーダーの下」で作業しているユーザーもいます。 必要な作業を見極めることが重要です。

http://www.sysinternals.com/ntw2k/freeware/procexp.shtml. からプロセス エクスプローラーをダウンロードする

TechEd で Linux/Windows カーネルの比較、プロセス エクスプローラー、トラブルシューティングの起動について話す Mark

Microsoft TechEd US と TechEd Europe のいずれかで、私のセッションの 1 つである "Windows and Linux: A Tale of Two Kernels" で、現在の Linux カーネルと Windows カーネルを比較します。 TechEd US では、"Sysinternals プロセス エクスプローラーを使用した高度な Windows トラブルシューティング" と題して、プロセス エクスプローラーを最大限に活用するためのヒントを紹介します。 TechEd Europe で私の「Sysinternals ツールを使用した効果的な Windows トラブルシューティング」では、プロセス エクスプローラー、Regmon、Filemon を使用して実際の問題を解決する方法を紹介し、「Windows の起動とスタートアップのトラブルシューティング」では、起動できなくなったシステムを再び起動させるためのメカニズムとテクニックについて説明します。

詳細情報 : http://www.sysinternals.com/ntw2k/info/talk.shtml

Mark と David Solomon による、Windows OS 内部とトラブルシューティングの講義

ロンドンで 2004 年 6 月 23 日から 25 日に開催される、David Solomon と私による Windows 2000/XP/2003 の内部クラスの説明をお聞きください。
カリフォルニア州サンノゼ: 2004 年 9 月 27 日から 10 月 1 日 ***5 日間のハンズオン!
テキサス州オースティン: 2004 年 12 月 14 日から 16 日

これは、世界中の Microsoft 従業員に教えているものと同じクラスです。 プロセスとスレッド、スレッドのスケジュール設定、メモリ管理、セキュリティ、レジストリ、I/O システムの内部をカバーします。 システム スレッド、システム呼び出しディスパッチ、割り込み処理、スタートアップとシャットダウンなどのメカニズムの詳細を説明します。 Sysinternals ツールを使用した高度なトラブルシューティング手法と、クラッシュ ダンプ分析を実行する方法について説明します。 OS 内部の動作を理解することで、プラットフォームをより効果的に利用し、問題のデバッグやトラブルシューティングをより効果的に行うことができます。

注: ロンドンとオースティンのクラスは講義のみです。 サンノゼのクラスはハンズオンです (お客様自身で構成したノート PC をご持参ください)。

詳細と登録については、http://www.sysinternals.com/troubleshoot.shtml を参照してください。


Sysinternals ニュースレターをお読みいただき、ありがとうございました。

公開日: 2004 年 4 月 27 日 (火) 午後 4:40 by ottoh

[ニュースレターアーカイブ ^][< Vol.5、No. 2][Vol. 6、No. 2 >]