スキップしてメイン コンテンツへ

 none
Windows10で処理が数秒止まります RRS feed

  • 質問

  • Windows10Proの環境で
    VisualC++2010で作成したアプリケーションが
    不定期に数秒止まってしまうときがあります。
    複数スレッドで処理を行っていますが、全てのスレッドが止まっているように見受けられます。

    原因を取り除きたいのですが
    どのように原因を特定していけばよいでしょうか。
    (イベントログを確認しましたが
     その時刻に何かが起こった記録はありませんでした)


    環境
    ・Windows10Pro
    ・下記の処理を1秒当たり3回程度行っています
      ・カメラからの画像取り込み(GigE・2448×1400)
      ・画像解析・データ処理
      ・JPG保存(200KB程度)
      ・テキストログ保存(10~20行程度)
      ・シリアル送受信(10byte×3メッセージ程度)
    ・数時間連続で稼働します。
    ・WindowsUpdate、Defender、Deflagのサービス停止を行っています。
    ・バックグラウンドアプリはOFFに設定しています

    2019年3月14日 1:17

回答

  • 原因は特定できませんでしたが

    ファイルIOとシリアルIOのタイミングを

    数秒に1回に減らすことで

    数秒間止まってしまう問題はなくなりましたので

    解決といたします。

    アドバイス下さった方ありがとうございます。

    • 回答としてマーク TanakaMiho 2019年5月21日 3:18
    2019年5月21日 3:18

すべての返信

  • 複数のスレッドがすべて止まるとのことですが、各スレッドがどの場所で止まっているか特定はできていますでしょうか?

    毎回同じ場所で止まる場合はデッドロックなどプログラム側に原因がある可能性が高いのかなと思います。
    スレッドの各処理の途中にログファイル出力などを入れることでどこで止まっているか特定するのはいかがでしょうか。

    2019年3月14日 2:16
  • ありがとうございます。

    各処理内でログを出力しているのですが、

    毎回違う場所で止まります。

    プログラムではなくOSやサービスの割込等を疑っておりますが

    現状は切り分けもつけられていない状態です。


    2019年3月14日 3:07
  • 原因は特定できませんでしたが

    ファイルIOとシリアルIOのタイミングを

    数秒に1回に減らすことで

    数秒間止まってしまう問題はなくなりましたので

    解決といたします。

    アドバイス下さった方ありがとうございます。

    • 回答としてマーク TanakaMiho 2019年5月21日 3:18
    2019年5月21日 3:18