• 締切済み

core i7 5960xのCPU稼働率について

Excelのプログラムを組み、シングルスレッドを16本立てて稼働させたところCPU稼働率100%だったのですが、突然40%までにしか上がらなくなりました。 詳細な電源管理、BIOSの設定等しましたが特に変わりありませんでした。 Windows Updateを行ったのでそれが原因かとも思いましたが、どう対処すれば稼働率100%に戻せるのかご教授いただきたいと思います。

みんなの回答

回答No.5

HDDの負荷は上がっていませんか? 例えば、RAMディスクから物理ディスク(HDD)に切り替わったものがあるとか。

weaponshop
質問者

補足

確かに皆様が仰る通りHDDがボトムネックになっている可能性が高いですね。 昨日、500GBのSSDを購入しましたので、到着次第ファイルを移す予定です。 加えて、エクセルも64ビットのものに切り替えました。 これで、かなり大きな2次元配列を扱えるようになるので、HDDへのアクセス回数を10分の1程度に出来ると思います。 回答して頂いた皆様のためにも、この場で結果をお知らせしようと思います。

  • dragon-man
  • ベストアンサー率19% (2711/13692)
回答No.4

コンピュータの原理から言えば、使用率100%で7時間かかっていた処理が、40%だと42時間かかるのは入出力のオーバーヘッドが大きくてCPUを使う時間が少ないからです。100%の時はそういうオーバーヘッドがなく、フルに使えていたのです。電源やBIOSは関係ありません。同じ処理なのに入出力の頻度が増大した原因はいろいろ考えられますが、処理の負荷に比べてメモリが少なすぎるケースが多いです。必然メモリスワップ(メモリからHDDへの書き戻し再読込)が多発して入出力が隘路になるケースです。42%で動いているときのメモリ使用率を確かめてみるといいです。もしそれが原因なら、メモリ増設が効果的でしょう。

weaponshop
質問者

補足

実装メモリは64GBです。仮想メモリは0に設定してます。 今までですと、多くて20GB程度の使用、通常、16GBといったところでした。 プログラム終了までに5000程度のエクセルファイルを開きデータを読み出し後、上書き保存するのですが、経験上、ひとつのエクセルファイルのサイズが数百メガになった場合、破損してしまうことが多々あったため、サイズを今以上に大きくしてファイル数を減らすことは気が進まないのです。

  • alien5
  • ベストアンサー率19% (788/3987)
回答No.3

CPU使用率は低い方がいいと思いますけど。 XPで経験ありますが、CPU使用率が100%とかだったらパソコンの動作も重くなります。 私はWin7ですが、アイドル状態だとCPU使用率は0~5%くらいですけど。動画を見ていてもせいぜい5%くらいまでしかあがりません。

weaponshop
質問者

補足

折角のコメントですが、回答になっていません。

  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.2

必要性は私もわかりませんが、どうしても原因を探りたいということであれば、自分で組んだプログラム以外のOSやウイルス対策ソフトなどを含めて、どのプログラムがどういう比率でCPUを使っているのか、それと同様に、ディスクアクセスやネットワークアクセスがどうなっているのかを詳細に分析してみてください。 CPUに負荷をかけたいのにかからないという時は、たいてい、IOネックと言って、ディスクアクセスかネットワークアクセスの完了を待っていて動けないというケースが多いです。動かしているプログラムが大量のメモリを使うプログラムの場合は、スワップが発生してディスクアクセス待ちになっている可能性がありますし、プログラム中からディスクに対する読み書きが発生する場合は、単純にそれが性能低下の原因である可能性もあります。

weaponshop
質問者

補足

確かに仰るとおりですし私も同感でしたが、プログラムはなんら変更を加えていないのに、1ヶ月間(日に7時間程度)は常にフル稼働していたCPUが働かなくなった原因がわからないのです。因みに負荷テスト用のソフトでは100%稼動になります。

  • dragon-man
  • ベストアンサー率19% (2711/13692)
回答No.1

稼働率ではなく使用率ですね。100%より40%の方がいいのではありませんか。せっかく40%で余裕を持って動いているのに、無理して(どう無理するのか分かりませんが)わざわざ100%にする必要ないのでは。

weaponshop
質問者

補足

フル稼働でプログラム終了に7時間を要し、現状では42時間かかるからです。そして、その日ごとに終了させる必要があるからです。

関連するQ&A