C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: CPU使用率100%


(過去ログ 138 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■81067 / inTopicNo.1)  CPU使用率100%
  
□投稿者/ とまと (1回)-(2016/08/28(Sun) 11:40:50)

分類:[C#] 

はじめまして、C#2010で開発しているものです。

同じアプリを4つ立ち上げるとCPU使用率が100%になってしまい、困っております。
(7つほどは上げなければならないのですが・・・)

今回1つのアプリで機器2個と接続し、通信を行うアプリを作成しました。(7つ立ち上げると14個の機器と接続します)
以下のようなアプリを作成していますが、CPU使用率が高くなる問題点はありますでしょうか…?
(1つでCPU使用率が30%前後となります)

[フォーム]
・メイン画面→サブ画面→サブ画面
→メイン画面、サブ画面はtimerの500msイベントと入力イベントで動作しています。

[スレッド]
・TCPサーバーでは読み込みスレッドを1つ、TCPClientでは書き込みスレッドを1つを用意しています。
→サーバーおよびクライアントの接続先は1つずつ(合計2つの機器とつながります)
→書き込みは1秒のスレッドのSleep、読み込みは接続断時に5秒のSleepを入れています。
・ログスレッド(ログをキューにため込んでその内容を吐き出すための周期的なスレッド)

今回、お知恵をお借りしたく、こちらに書き込ませていただきました。
すみませんが、よろしくお願いいたします;;

以上です。
引用返信 編集キー/
■81071 / inTopicNo.2)  Re[1]: CPU使用率100%
□投稿者/ なちゃ (139回)-(2016/08/28(Sun) 16:40:29)
CPUのコア数はいくつくらいですか?
100パーセントてのは、全コア合わせてってことですよね?

効率的なやり方とはいえない感じはしますが、しかしそれでも30パーセントも食うというのはどっかおかしい事してると思います。
引用返信 編集キー/
■81090 / inTopicNo.3)  Re[1]: CPU使用率100%
□投稿者/ 真田昌幸 (57回)-(2016/08/29(Mon) 09:34:07)
No81067 (とまと さん) に返信
> はじめまして、C#2010で開発しているものです。
>
> 同じアプリを4つ立ち上げるとCPU使用率が100%になってしまい、困っております。
> (7つほどは上げなければならないのですが・・・)
>
> 今回1つのアプリで機器2個と接続し、通信を行うアプリを作成しました。(7つ立ち上げると14個の機器と接続します)
> 以下のようなアプリを作成していますが、CPU使用率が高くなる問題点はありますでしょうか…?
> (1つでCPU使用率が30%前後となります)
>
> [フォーム]
> ・メイン画面→サブ画面→サブ画面
> →メイン画面、サブ画面はtimerの500msイベントと入力イベントで動作しています。
>
> [スレッド]
> ・TCPサーバーでは読み込みスレッドを1つ、TCPClientでは書き込みスレッドを1つを用意しています。
> →サーバーおよびクライアントの接続先は1つずつ(合計2つの機器とつながります)
> →書き込みは1秒のスレッドのSleep、読み込みは接続断時に5秒のSleepを入れています。
> ・ログスレッド(ログをキューにため込んでその内容を吐き出すための周期的なスレッド)

Sleepの入れすぎで、IdleプロセスがたまってCPU食っているという可能性はありませんか?
まずはリソースモニタとかで、どこがボトルネックか計測した方がよろしいかと。


引用返信 編集キー/
■81135 / inTopicNo.4)  Re[2]: CPU使用率100%
□投稿者/ Jitta (205回)-(2016/08/30(Tue) 17:48:52)
No81090 (真田昌幸 さん) に返信

> Sleepの入れすぎで、IdleプロセスがたまってCPU食っているという可能性はありませんか?

これって、どういう状態を意図していますか?
具体的なコードと観測の方法を教えてください。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -