
■構成
機種: DELL Inspiron 530
OS: Windows Vista Ultimate 32bit
CPU: Intel Core 2 Duo E6700 2.66GHz
メモリ: 2GB
■問題の状態
パソコンをスリープ状態にしてしばらくのち復帰すると、通常使用していた時よりもCPU使用率が上昇していました。Process ExplorerでどのプロセスがCPUを占有しているのか調べました。
CPUにおもに負荷を与えているプロセスは以下の通りでした。
(占有率順)
1. DPCs(Deferred Procedure Calls) 20~30%
2. System 10~20%
3. Interrupts(Hardware Interrupts) 10~15%
などです。
電源を切っている状態から起動したときには、上記のプロセスはなんらCPUを圧迫することはありません。スリープ状態から復帰したときだけです。またスリープ状態から復帰したときには、必ずと言っていいほどこのような症状が現れます。
■質問
(1)そもそもDPCsとは何でしょうか。検索してみたのですが、そこらへんの知識に疎い自分にはピンときませんでした。できればわかりやすく詳しく教えてください。
(2)この問題が起こる原因は何だと考えられますか?
(3)解決策にはどのようなものがあるでしょうか?
ご回答よろしくお願いします。
No.1ベストアンサー
- 回答日時:
(1)DPCとは
プライオリティの低くてもいい処理を後回しにして、高いプライオリティでの動作時間を減らす処理方法。
(2)原因
マルチプロセッサシステムでネットワークカードからCPUへの割り込みが入った場合、それが緊急度が高くないと判断されるとDPCとなって延期される。この延期されたDPCが特定のCPUに多くなってくると、もう片方のCPUに送られてしまい更に負荷が高くなってしまう。これはWindowsのデフォルト動作である。ネットワーク常時接続環境のマルチCPU使用PCで長時間起動やスリープ状態等での使用時に起こりがちな現象。
(3)解決策
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NDIS\Parameters
にあるProcessorAffinityMaskの値を0にする(無ければ追加)して再起動。割り込みを処理したCPUが、そのCPUに対応するDPCの処理も実行される。1つまたは複数のネットワークインタフェースカードが特定のCPUに固定されないようになる。その結果、割り込みとネットワークインタフェースカードで生成されるDPCに対するCPUの処理が改善される。再発の際は再度同作業を行う。一度試してみてください。改善されるはずです。基本的にスリープ時に起こりがちな現象ですからMSではビスタはスリープを推奨されていますが、シャットダウンを基本にするのも一つの手です。(苦笑)
(4)余談
現在DPCはマルチCPU、つまりCore 2 Duo等との相性があまり良くない為、質問者と同じ症状で困っている人は多くいると思われます。マルチCPUやそれと連携するシステムの更なる向上を待つのが現状です。
PS:説明文章は専門サイトの文章を一部引用しています。
詳しく説明していただいてありがとうございました。
ご説明の方法を試してみたところ、DPCの占有がなくなりました。
これから躊躇することなくスリープを使って行けそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
タスクマネージャのCPU率がおか...
-
プロセスがタスクマネージャー...
-
System Idle Processってなに?...
-
IMEツールバーを表示しない方法...
-
プロセス、サービス、デーモン...
-
psコマンドの実行結果(crond)
-
変なプロセスを終了したらブル...
-
killコマンドの終了と強制終了...
-
CPU使用率100%
-
OS内のアプリケーションファイ...
-
ps コマンドのステータス。S Ss...
-
プロンプトが返らない
-
Windowsで同時にオープンできる...
-
エクスプローラの再インストール
-
タスクマネージャに表示されな...
-
SONYの音楽ソフト「x-アプリ」...
-
ファイル名一覧の印刷
-
エクセルの表にヘンな枠が・・・
-
VNCで接続したいが、xterm等Can...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TOPコマンドで表示するCPU使用...
-
プロセス、サービス、デーモン...
-
プロンプトが返らない
-
タスクバーの音量アイコンをク...
-
System Idle Processってなに?...
-
プロセスがタスクマネージャー...
-
タスクマネージャに表示されな...
-
httpdの子プロセスがゾンビ化す...
-
タスクマネージャのCPU率がおか...
-
コマンドライン上でファイルを...
-
ps コマンドのステータス。S Ss...
-
Powershell プロセス二重起動
-
デーモンモードとは何でしょうか?
-
CPU使用率が常に50~10...
-
linuxでプロセスが動いているCP...
-
Windowsで作れるスレッド最大数...
-
UNIXのファイルタイプp(...
-
アクロバットを終了しても、プ...
-
プロセスがファイルを掴んだま...
-
イラストレータでの透明部分の...
おすすめ情報