OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

仮想メモリ不足のエラーの回避方法

  • すぐに回答を!
  • 質問No.108169
  • 閲覧数431
  • ありがとう数0
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 0% (0/7)

WindowsNT Embedded(NT4.0 SP5相当)を使用しています。
ディスクの容量を増やすことができないため仮想メモリを64MBぐらいで使用したいのですが、仮想メモリ不足が発生しエラーが表示されてしまいます。
(ディスクは320MBしかありませんので、OS,APを入れると仮想メモリをなしとして計算しても空き容量は80MBぐらいしかとれません)
ちなみに実メモリは130MB、仮想メモリは推奨139MBです。
パフォーマンスは犠牲にしても良い場合に、エラーを出さない方法を知っていましたら教えていただきたいのですが?
また、この場合パフォーマンス以外に問題になることはありますか?
他に、方法を知っている方がいましたら回答をお願いいたします。
通報する
  • 回答数7
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全7件)

  • 回答No.2

 よけいなお世話かもしれませんが(^_^;  「仮想メモリ」というのはもともとハードディスク上に作るものなんですが(笑)  だからディスク容量が増えなければ、仮想メモリを増やすことは物理的に不可能です。  「ガソリンタンクを大きくはできないが、ガソリンが2倍入るようにしたい」と言っているようなものです(笑)  対策としては、まずは余計な常駐アプリなんかを削除してみるといいかと思います。特にメモ ...続きを読む
 よけいなお世話かもしれませんが(^_^;
 「仮想メモリ」というのはもともとハードディスク上に作るものなんですが(笑)
 だからディスク容量が増えなければ、仮想メモリを増やすことは物理的に不可能です。
 「ガソリンタンクを大きくはできないが、ガソリンが2倍入るようにしたい」と言っているようなものです(笑)

 対策としては、まずは余計な常駐アプリなんかを削除してみるといいかと思います。特にメモリを大量に消費する奴なんか。もっとも、実メモリが130もあってメモリが不足する当たり、何が動いているのかいまいち謎ですが(^_^;
 クライアントとして使っているのであれば、一度に起動するアプリケーションの数を3つなら3つで心がける、という手があります。
 サーバーの場合はクラッシュしたときの被害が大きいので、お金を使うことを真剣に考えた方がいいでしょう(^_^;
補足コメント
skoba

お礼率 0% (0/7)

指摘ありがとうございます。
ガソリンタンクの話はたしかにそう思います。
私が考えているのはガソリンタンクを大きくするのではなく、ガソリンを少しずつ補充するなどして長距離を走りたいのです。
例えばAPで仮想メモリを解放するとかができれば…
現在APを開発中で、画面数が多く、色々な画面へ行ったりすると仮想メモリを多く使用してしまいます。
ちなみに起動するのはOSとAPが一本のみでネット-ワーク等は使用しません。
何かありましたらよろしくお願いいたします。
(ディスクの容量を増やすのは最後の手段としたいです)
投稿日時 - 2001-07-23 16:05:26

  • 回答No.1
レベル9

ベストアンサー率 20% (17/84)

NT4.0として書いておきます。(参考になれば...) 推奨値より仮想メモリを増やすか、物理メモリを増設する方法が、私の思いつく方法です。やはりこの2つしかないのでは...予算があれば物理メモリを簡単に増設出来るんでしょうけど... さらに仮想メモリを増やす場合は、修復DISK作成とバックアップを取っておけは、万全でしょう!たまに、立ち上がらなくなる事がありました。(体験談) DISKが ...続きを読む
NT4.0として書いておきます。(参考になれば...)

推奨値より仮想メモリを増やすか、物理メモリを増設する方法が、私の思いつく方法です。やはりこの2つしかないのでは...予算があれば物理メモリを簡単に増設出来るんでしょうけど...

さらに仮想メモリを増やす場合は、修復DISK作成とバックアップを取っておけは、万全でしょう!たまに、立ち上がらなくなる事がありました。(体験談)

DISKが320MBで、メモリ130MB?どんなマシンなのか...
(WindowsNT Embedded?ってDISKの空きの推奨値は320MB以下でしたっけ?すいませんNT4.0は知っているのですが...)
補足コメント
skoba

お礼率 0% (0/7)

早々に回答ありがとうございます。
現時点では、ディスク、物理メモリを増やす事は考えておりません
(実はハードウェア込みの商品とする予定です)
仮想メモリを推奨メモリより小さくすることによりエラーが表示しないようにしたいのです。
ソフトウェアで対処する方法はないのでしょうか?
常時起動のシステムですので長い間使用していてハングアップしてしまっても困りますが..
投稿日時 - 2001-07-23 14:54:13
  • 回答No.3
レベル14

ベストアンサー率 62% (6253/9971)

問題が大ありですね。 実メモリも130(128MBかな)で仮想が採れないとなると、難しいですね。 メモリデフラグツールなんかを入れれば、少しは持つかもしれませんけど・・・ここまで少ない状況では試したこと無いですから・・・NT系なら解放能力は高いですけど・・・ それに賭けてみるしかないのでは・・・ただ少しは仮想メモリを確保しておいた方が良いですよ。 参考にたぶん最も軽い部類のメモリ管理ソフトがあ ...続きを読む
問題が大ありですね。
実メモリも130(128MBかな)で仮想が採れないとなると、難しいですね。

メモリデフラグツールなんかを入れれば、少しは持つかもしれませんけど・・・ここまで少ない状況では試したこと無いですから・・・NT系なら解放能力は高いですけど・・・
それに賭けてみるしかないのでは・・・ただ少しは仮想メモリを確保しておいた方が良いですよ。
参考にたぶん最も軽い部類のメモリ管理ソフトがあります。これで、もしかしたら効率よくメモリ解放できるかもしれませんが・・・
補足コメント
skoba

お礼率 0% (0/7)

回答ありがとうございます。
説明がへたですみません、勘違いされているかもしれません。
仮想メモリは64MBぐらいはとれると思います。(推奨値はむりですが)
その中でエラーを出さないようにしたいのです。
勉強不足でわからないのですが、メモリデフラグツールは、メモリを解放する時に仮想メモリに内容を掃き出す事無く最適化してくれるのでしょうか?
仮想メモリに内容を掃き出すと逆効果になってしまうような気がするのですが?
投稿日時 - 2001-07-23 18:21:54
  • 回答No.4
レベル11

ベストアンサー率 29% (74/253)

ハード(ディスク・メモリ)の増設が難しいとのことですが、 現在、どのようなアプリケーションを何の言語で開発している のでしょうか。 直接的な原因としては、そのアプリケーションでメモリを占有 しすぎたために「Out of Memory」エラーが発生していると 思いますが。 ...続きを読む
ハード(ディスク・メモリ)の増設が難しいとのことですが、
現在、どのようなアプリケーションを何の言語で開発している
のでしょうか。

直接的な原因としては、そのアプリケーションでメモリを占有
しすぎたために「Out of Memory」エラーが発生していると
思いますが。
補足コメント
skoba

お礼率 0% (0/7)

回答ありがとうございます。
アプリケーションはVC++(メイン),VB(一部の部品)で常時起動でシステムを監視、制御する物を作成しております。
初歩的な質問で申し訳ないのですが「Out of Memory」エラーが発生しているかはどのようにチェックすればよいのですか?
投稿日時 - 2001-07-23 18:35:38
  • 回答No.6
レベル13

ベストアンサー率 34% (574/1662)

WindowsNT Embeddedは組み込み用OSなので、 事情が違うかもしれませんが・・・。 仮想メモリが不足するなら、とにかく徹底的に メモリの節約をするしかないでしょう。 作成されているプログラムでも極力メモリの節約を 考えたプログラムを考える必要があるでしょう。 VB(一部の部品)とありましたが、これはかなりメモリを 使うように思いますが,VCのみにして使用を避けられません ...続きを読む
WindowsNT Embeddedは組み込み用OSなので、
事情が違うかもしれませんが・・・。

仮想メモリが不足するなら、とにかく徹底的に
メモリの節約をするしかないでしょう。

作成されているプログラムでも極力メモリの節約を
考えたプログラムを考える必要があるでしょう。
VB(一部の部品)とありましたが、これはかなりメモリを
使うように思いますが,VCのみにして使用を避けられませんか。

あとは、不要なプログラム、サービス、ドライバ、DLLを
全て外すこと。Embeddeddだと事情が違うかも知れませんが、Windowsだと使いもしない物が動作してますし。

95や98だとむやみに大きなサイズのファイルキャッシュを
とったりします。NTだとそれほどは酷くないと思いますが,
可能ならキャッシュサイズを極力小さくすることも考えた
方が良いでしょう。
  • 回答No.5
レベル11

ベストアンサー率 29% (74/253)

VC++でアプリケーションを開発しているのでしたら、空きメモリを取得 することは簡単にできるかと思います。(Win APIをコールすればVBから もできるハズ) Out of Memoryが発生する箇所はご自分でおわかりかと思いますので、 その箇所を徹底的にチューニングして、メモリの消費量を減らすのが 常套手段かと思いますが。 画面を複数開いていると発生しやすいとのことですので、画面を ...続きを読む
VC++でアプリケーションを開発しているのでしたら、空きメモリを取得
することは簡単にできるかと思います。(Win APIをコールすればVBから
もできるハズ)

Out of Memoryが発生する箇所はご自分でおわかりかと思いますので、
その箇所を徹底的にチューニングして、メモリの消費量を減らすのが
常套手段かと思いますが。

画面を複数開いていると発生しやすいとのことですので、画面を複数
開かないように仕様レベルまで戻って見直す必要もあるかと思います。

ちなみに空きメモリを簡単に調べる方法ですが、Win2000のタスクマ
ネージャを開いておけば、リアルタイムで確認することができます。
  • 回答No.7
レベル11

ベストアンサー率 30% (150/490)

 仮想メモリを増やすとどうしても、その分、ハードディスク容量が減ります! パフォーマンスを犠牲にしてまで、ハードディスク容量を確保したいと言う事なので、ズバリ!! 仮想メモリ容量を減らす事!! 本当に、ハードディスクの使用出来る容量が残りあと少ないのであれば、1ドライブ当たりの仮想メモリの最小と最大を2MBにするしか無いでしょう! それが、設定できないよ-な事ならば、4MB当たりにするしか無いでし ...続きを読む
 仮想メモリを増やすとどうしても、その分、ハードディスク容量が減ります! パフォーマンスを犠牲にしてまで、ハードディスク容量を確保したいと言う事なので、ズバリ!! 仮想メモリ容量を減らす事!!
本当に、ハードディスクの使用出来る容量が残りあと少ないのであれば、1ドライブ当たりの仮想メモリの最小と最大を2MBにするしか無いでしょう!
それが、設定できないよ-な事ならば、4MB当たりにするしか無いでしょう!!
結局、64MBにするなら、適当に設定を重ねて行って
合計を64MBに合わせれば良い事ではないですか!!?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
あなたが体験したトラブルや解決方法を共有しませんか?
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ