掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
なぜCPU使用率は上がっていくのでしょうか? (ID:125718)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB5.0 SP3を使用しています。 RS-232CのデータをMSCOMMを使いファイルに落とし、グラフを表示するソフトを作りました。 それが、しばらくするとCPU使用率が100%超えて、グラフの処理が遅くなります。 プログラムの内容としては、 1.COMポートを開く 2.外部データをグラフを書きながら1000データもらう。 3.データを取得し終えたところでファイルに保存 4.データが来るまで待機し、データが来たら2から繰り返し 5.終了のスイッチが押されたらCOMポートを閉じて終了 です。 タスクマネージャを見て分かったことは、 グラフの表示に取られるCPU使用率は40〜50%(結構頻繁に書き直しているためだと思います。)で、グラフを消すと0%になります。(グラフを消すとファイルにも保存しない) データを取得している時にはCPU使用率とメモリ使用量が上がります。 2〜4の作業を30回ほど繰り返すとCPU使用率が100%を超えてしまい、表示が遅くなってきます。このときメモリ使用量は急激に上昇します。(まだ空きは十分ですが。) グラフを表示しないときにも、作業の回数は増えますが、同様に100%を超えてしまいます。 データ取得中のみ100%になるので、データ取得後、グラフを表示しない場合(4の時)は0%に戻っています。 メモリの使用量は増減を繰り返しながらだんだん増えて行ってるような感じです。 プログラムを一度終了し、再度立ち上げると最初の状態に戻っていますので、Windowsのせいじゃないと思います。 作業の内容は1回目も100回目も同じはずなのに段々使うCPUの割合が増えていくのが不思議です。 メモリリークでしょうか? ちなみに、ハードディスクはカリカリしてないです。でも空きメモリを見たら最初に比べて増えていました。(最初の空きが60MBぐらい、今は130MBぐらいです。仮想メモリを使ってる?) 今プログラムが使っているメモリ使用量は11MBぐらいです。多い時でも30MBぐらいです。 なぜCPU使用率は上がっていくのでしょうか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.