2016-09-02 6 views
0

私はC#でAsp.netを使用して、その内容に基づいてコレクションイメージを再ランク付けしています。しかし、私はそれを実行するので、私は次のエラーを取得しました。私のラップトップは4 GBのRAMと320 GBのハードディスクを持っています。どのようにビジュアルスタジオで使用されるメモリのサイズを増やすには?

exception of type 'system.outofmemoryexception' was thrown

どのように私のプログラムを実行するためのRAMを増やすことができますか?

+1

[mcve] –

+0

を作成するためにコード、入力、予想出力を共有してください。可能であれば、使用しないときにメモリから画像を解放してください。 –

+0

GDIを使用してイメージを処理する場合、GDIはメモリ不足に関連しない多くの問題に対して「OutOfMemoryException」をスローすることが大好きです。処理しようとしているファイルが実際にイメージでない場合、またはファイルが何らかの方法で壊れている場合、このエラーが発生することがあります。 –

答えて

0

2つのオプション - 1)コードにバグがあり、物事を解放していません。 2)4GBのRAMはあまりありません。

Visual Studioはラップトップと同じくらい多くのメモリを使用します。しかし、仮想メモリを有効にすることで "拡張"することができます - 私はあなたのコンピュータで無効になっていると思われる。仮想メモリ(別名ページングファイル)は、オペレーティングシステムがディスクスペースを使用できるようにします。

しかし、RAMは必要に応じてディスクに書き込まれ/読み込まれるため、処理速度が遅くなります。あなたのラップトップはおそらくすでに遅いでしょう。

あなたの最高の賭けはを購入してください。あなたのラップトップのRAMを増やしてください。 8GBは十分に良いでしょう(これは私の "遊び"ラップトップでのものです)--- 16GBがさらに優れています!

Windows 7で仮想メモリを有効にするには - システムのプロパティを開きます(検索するには、および一時停止ボタンを押します)。 [詳細設定]タブを選択し、[パフォーマンス設定]を開きます。次に、「詳細設定」タブを選択し、「変更...」を押します。ページングおよび/または「システム管理サイズ」の自動管理(「ページングファイルなし」は仮想メモリを無効にします)。

パフォーマンスに影響するため、デフォルトでは無効になっています。あなたのPCは、メモリ(RAM)よりも何倍も遅いディスクへの読み書きがあるため、速度が遅くなります。しかし、それは動作します。

可能であれば、もっと多くのメモリを購入してください。あなたはもっと幸せになるでしょう。

+0

umm、デフォルトでは無効になることはありません。 Windowsは機能するためにページファイルに依存しています。あなたのページファイルを無効にするためのアドバイスは、Windows XPからのものです。物事はその後多くの変化をもたらしました。 –

+0

いくつかのPCはまだページファイルを無効にして送信されます。誰がその選択をするのか分かりませんが、Windows 7マシンはまだ「オフ」の位置にあります。 "典型的な"デフォルトが何であるかを知るためにまだ十分なWin10を見ていない。 – ripvlan

+0

私は多くのデータや「証明」を持っていませんが、通常はラップトップでは無効になっており、デスクトップでは有効になっているようです。私はディスクアクセスを減らし、バッテリーの寿命を節約すると思う。しかし、私は逸話的な証拠しか持っていません。 – ripvlan

2

コードを見ずに良い答えを出すことはほとんど不可能ですが、実際にはメモリが不足しているとは言えません。

メモリにはまったく関係しない多くの問題に対して、GDIはOutOfMemoryExceptionを投げます。実際にイメージではないファイル、ファイルが破損しているファイル、またはGDIがサポートしていないイメージ形式のファイルを処理しようとすると、このエラーが発生する可能性があります。

まず、処理しているすべてのファイルまたはデータストリームが実際の画像ファイルであることを確認します。ファイルが有効で、フォーマットがGDIでサポートされていることが絶対に確かな場合は、実際のメモリの問題を調べ始めるだけです。

関連する問題