NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

同じプログラムがPCが異なるだけでメモリリークを起こす

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」を使用しました。

 

0 件の賞賛
メッセージ1/4
5,577件の閲覧回数

こんにちは。

 

気になった点をいくつか。

 

・メモリリークが発生しているExeのもととなるVI を添付することは可能ですか。

 

・問題となっているExeは開発環境では問題なく動作しますか。

 

・LabVIEW 2014 はWindowsXPに対応していないため、ランタイムエンジンのインストールすらできなかったと思いますが、

バージョンを下げて動作させたりしてますか?

 

 

0 件の賞賛
メッセージ2/4
5,514件の閲覧回数

ご回答ありがとうございます。

 

>  ・メモリリークが発生しているExeのもととなるVI を添付することは可能ですか。

残念ながら、viは製品の一部ですので公開することは不可能です。

 

> ・問題となっているExeは開発環境では問題なく動作しますか。

開発環境では問題無く動作します。

 

> ・LabVIEW 2014 はWindowsXPに対応していないため、ランタイムエンジンの

> インストールすらできなかったと思いますが、バージョンを下げて動作させたりしてますか?

これは気づきませんでした。

2014でビルドしたインストールパッケージをそのままXP上でインストールしています。

2014のランタイムはインストールパッケージに含めています。

何の問題も無くインストールできてしまい、見かけ上は問題無く走るので

XPがNGになっていることには全く気づきませんでした。

 

ただ、2014はXPがサポートから外れたと言うことは、XPで走らせた際の問題点は

議論してもあまり意味が無いと思います。

 

手元のWin7 Pro 64bit数台でメモリーリークが起きなければ

問題なしと判断いたします。

Win7検証に少々お時間を下さい。

 

0 件の賞賛
メッセージ3/4
5,506件の閲覧回数

こんにちは

「手元のWin7 Pro 64bit数台でメモリーリークが起きなければ問題なしと判断いたします。」
とのことなので、そこまでクリティカルな問題ではなさそうで安心しています。

 

こういった問題の場合、プログラムを少しずつ削っていって、
どこに問題があるかをデバッグしていくのが有効かと思います。

原則として作成者がデバッグする必要があるので大変ですが、
そのステップで問題点を絞り、その後の対応策を検討する流れになるかと。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ4/4
5,501件の閲覧回数