スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

カーネル・モードとユーザー・モードの負荷状況を簡単に見分ける方法



デジタルアドバンテージ
2000/01/15
2002/09/04更新
 
対象OS
Windows 2000 Professional
Windows XP Professional
Windows XP Home Edition
Windows 2000 Server
Windows 2000 Advanced Server
Windowsを使っていると、原因も分からず、システムが急に重くなったりすることがある。
このような場合には、タスク・マネージャの[パフォーマンス]タブで、カーネル・モードとユーザー・モードの負荷状況を確認すれば、原因を特定しやすくなる。


解説

 Windowsを使っていると、コンピュータを何も操作していないのにディスクやネットワーク・アクセスが発生する場合があるが、それらはほとんどの場合、バックグラウンドで実行中のプロセスの処理に起因するものである。しかし、このような予想外のディスク/ネットワーク・アクセスが必要以上に発生して、アプリケーションなど本来の処理に支障をきたすようでは困りものだ。また場合によっては、ディスクやネットワークのアクセス・ランプは点灯していないのに、システム性能が異常に低下したり、一時的にアプリケーションがロックしたような状態になったり(そのように見えたり)する場合もある。

 システムの負荷状況を確認するには、タスク・マネージャの[パフォーマンス]タブを利用する(タスク・マネージャは、タクス・バーの空き領域をマウスで右クリックして表示されるポップアップ・メニューの[タスク マネージャ]から起動できる)。このタブでは、CPU使用率(CPUに対する負荷の大きさ)やメモリ使用量などをモニタすることが可能だ。

Windowsタスク・マネージャの[パフォーマンス]タブ
タスク・マネージャの[パフォーマンス]タブでは、CPUの使用率やメモリ使用量など、現在のシステムの負荷状況をモニタすることができる。
  CPU使用率の履歴を、時間を横軸としてグラフ化したもの。このグラフの縦軸はCPU使用率で、上側ほどCPU使用率が大きいことを表す。この画面では、何カ所かでCPUの使用率が振り切っている(100%になっている)ことが分かる。

 この画面の[CPU使用率の履歴]に注目すると、右半分でCPUの負荷が急激に増加しており、何カ所かでCPU使用率が100%に達していることが分かる。

 タスク・マネージャは、デフォルトでは、CPUにかかった全体の負荷をこのようにグラフ表示するようになっている。ここで詳細は述べないが、Windows 2000/XPは、OSのシステム・コードやデバイス・ドライバなどのコードと、ワードプロセッサなどのユーザー・アプリケーションのコードを完全に分離し、まったく異なるシステム・モードでそれぞれを実行している。具体的には、前者はカーネル・モード、後者はユーザー・モードで実行されるようになっている。この際ユーザー・モードで実行されるアプリケーションは、カーネル・モードが管理するメモリ資源などには直接にはアクセスできない。このような制限を加えることで、万一ユーザー・モードで実行中のアプリケーションが暴走したとしても、システムには影響が及ばないようにしているわけだ。

 ここで必要なら、デフォルトのグラフに加えて、カーネル・モード・プロセスによるCPU使用率のグラフを追加表示させることができる。これには、タスク・マネージャの[表示]−[カーネル時間を表示する]メニューを実行する。

タスク・マネージャの[表示]−[カーネル時間を表示する]を実行する
CPU使用率のグラフにカーネル・モード・プロセスによる使用率グラフを追加表示させたければ、このメニュー項目を選択する。
  カーネル・モード・プロセスによるCPU使用率のグラフを追加表示するには、これを選択する。→

 すると次のように、カーネル・モード・プロセスによるCPU使用率が、別途赤線で表示されるようになる。

カーネル時間の占有率グラフを表示させたところ
上のメニューを実行すると、このようにCPUの使用率に占めるカーネル・モード・プロセスの処理時間の割合が赤線にてグラフ表示されるようになる。
  赤色で表示されているのが、カーネル・モード・プロセスによるCPU使用率。これにより、CPUの負荷がユーザー・アプリケーションによるものか、システム・コードによるものかを判別できるようになる。

 このように、カーネル・モード・プロセスによるCPU使用率を表示させると、システムの負荷を増加させている原因が、ユーザー・アプリケーションによるものなのか(ワードプロセッサなど)、システム・コードによるものなのか(OSコードやデバイス・ドライバなど)を簡単に判別できるようになる。上に示した例では、全体的なCPU使用率が高いときでも、カーネル・モード・プロセスによる使用率はそれほど高くない。従って、ユーザー・モードで実行されているアプリケーションによる負荷が大きいことが分かる。つまり負荷を軽減させたければ、原因となっているアプリケーションを見つけ出して、それを終了させればよいはずだ。一方、カーネル・モード・プロセスによる使用率が高いとき(赤い線が、緑の線に接近しているとき)には、カーネル内部のシステム・プロセスの処理や、ネットワーク・アクセス、ディスク・アクセス、グラフィック描画、デバイス・ドライバによる処理などが負荷の原因だと予測できる。この場合には、最近行ったデバイス構成やネットワーク構成の変化などから、原因を追求したり、ハードウェアのグレード・アップを検討したりすることになるだろう。End of Article

この記事と関連性の高い別のWindows TIPS
負荷の大きいプロセスを特定する方法
プログラムの実行に使用するCPUを限定させる
システム全体で使用するCPU数を限定させる
timeitコマンドでアプリケーションの実行時間を測定する
仮想マシンの実行優先度を調整する(Virtual Server 2005編)
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

更新履歴

【2002/09/04】Windows XPに関する情報を加筆・修正しました。

 
「Windows TIPS」
Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)

- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  New! 2009年の技術トレンド&求められるスキル
〜エンジニア・キャリア進化論(第14回)〜

  New! エンジニアインタビューで見えてくる、
厳しい転職市場でも、引く手あまたの職種

  New! ITコスト削減、お悩みはありませんか?
電力コストを低減するサーバ選びの新常識

  「高可用性」のレベルは千差万別!?
“最適な”高可用性システムを導入

  敬遠されがちだけど、実は簡単なんです!
誰でもできる“リスクマネジメントのコツ”

  “社会人大学院って、実際どうなの?”
現役学生が本音で語る「社会人大学の魅力」

  “スーパーユーザーの反乱”に備えて、
技術者はどのような対策を施せるか?

  小型センサーで不正なPCを“検知&遮断”
容易な導入・運用を実現する3つの特徴は

  「仮想化環境」を1カ月単位でレンタル!?
初期コストを大幅に下げるサービスとは?

  「セキュリティソフト=重い」は昔の話?
@IT編集部の3人が実際に体験してみた

  ファルコンストア会長兼CEOに訊く――
事業継続を考える企業にとって必要なこと

  変化するセキュリティリスクに対応した
情報漏えい対策の方法とは?

  次期OSへの鍵!Windows Vistaのご提案
今Vista導入を検討すべき3つの理由とは!

  「“監視ツール”だけで安心ですか?」
高可用性を追求した“クラスタ構築”とは

  コストをかけずに迅速復旧!!
事業継続性を高める為の“3つの要素”?


ソリューションFLASHPR