08-26-2014 08:31 PM
LabVIEW2014 Dev. + Application Builder使用者です。OSはWin7 Pro 64bitです。
ある機械の動きをロギングしてCSVに出力するviをインストーラーパッケージにして
LabVIEWの載っていない2台のPCにインストールして走らせたところ、
1台のPCではメモリ使用量が65MB程度で増減なく安定しているのですが、
もう1台のPCではなぜか使用量がどんどん増えていき、しまいには
強制終了してしまいます。
2つのPCの違いですが、
安定PC:ノート、WinXP Pro SP3、Core2Duo、2GB
リークPC:デスクトップ、WinXP Pro SP3、Pen4、2GB
と、CPU以外にはあまり相違が無いように思います。
他のスレッドで出ていた「大容量配列」ですが、
ロギングしたデータは次々とCSVに出力していくので巨大化する配列は
使用しておらず、しかも全く同じインストーラパッケージを
インストールして、リークするPCとしないPCがあるという点が
不可思議で理由が分かりません。
まさかコアの数?でしょうか。
どなたか、調査の手順やポイントなどご教示下さい。
ちなみに、メモリ使用量の調査はSysInternalsの
「Process Explorer」を使用しました。
08-31-2014 06:09 PM
こんにちは。
気になった点をいくつか。
・メモリリークが発生しているExeのもととなるVI を添付することは可能ですか。
・問題となっているExeは開発環境では問題なく動作しますか。
・LabVIEW 2014 はWindowsXPに対応していないため、ランタイムエンジンのインストールすらできなかったと思いますが、
バージョンを下げて動作させたりしてますか?
08-31-2014 07:10 PM
ご回答ありがとうございます。
> ・メモリリークが発生しているExeのもととなるVI を添付することは可能ですか。
残念ながら、viは製品の一部ですので公開することは不可能です。
> ・問題となっているExeは開発環境では問題なく動作しますか。
開発環境では問題無く動作します。
> ・LabVIEW 2014 はWindowsXPに対応していないため、ランタイムエンジンの
> インストールすらできなかったと思いますが、バージョンを下げて動作させたりしてますか?
これは気づきませんでした。
2014でビルドしたインストールパッケージをそのままXP上でインストールしています。
2014のランタイムはインストールパッケージに含めています。
何の問題も無くインストールできてしまい、見かけ上は問題無く走るので
XPがNGになっていることには全く気づきませんでした。
ただ、2014はXPがサポートから外れたと言うことは、XPで走らせた際の問題点は
議論してもあまり意味が無いと思います。
手元のWin7 Pro 64bit数台でメモリーリークが起きなければ
問題なしと判断いたします。
Win7検証に少々お時間を下さい。
08-31-2014 07:38 PM
こんにちは
「手元のWin7 Pro 64bit数台でメモリーリークが起きなければ問題なしと判断いたします。」
とのことなので、そこまでクリティカルな問題ではなさそうで安心しています。
こういった問題の場合、プログラムを少しずつ削っていって、
どこに問題があるかをデバッグしていくのが有効かと思います。
原則として作成者がデバッグする必要があるので大変ですが、
そのステップで問題点を絞り、その後の対応策を検討する流れになるかと。