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

このQ&Aに関連する最新のQ&A

A 回答 (7件)

 仮想メモリを増やすとどうしても、その分、ハードディスク容量が減ります! パフォーマンスを犠牲にしてまで、ハードディスク容量を確保したいと言う事なので、ズバリ!! 仮想メモリ容量を減らす事!!


本当に、ハードディスクの使用出来る容量が残りあと少ないのであれば、1ドライブ当たりの仮想メモリの最小と最大を2MBにするしか無いでしょう!
それが、設定できないよ-な事ならば、4MB当たりにするしか無いでしょう!!
結局、64MBにするなら、適当に設定を重ねて行って
合計を64MBに合わせれば良い事ではないですか!!?

参考URL:http://www2.csc.ne.jp/~wao
    • good
    • 0

WindowsNT Embeddedは組み込み用OSなので、


事情が違うかもしれませんが・・・。

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

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

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

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

VC++でアプリケーションを開発しているのでしたら、空きメモリを取得


することは簡単にできるかと思います。(Win APIをコールすればVBから
もできるハズ)

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

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

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

ハード(ディスク・メモリ)の増設が難しいとのことですが、


現在、どのようなアプリケーションを何の言語で開発している
のでしょうか。

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

この回答への補足

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

補足日時:2001/07/23 18:35
    • good
    • 0

問題が大ありですね。


実メモリも130(128MBかな)で仮想が採れないとなると、難しいですね。

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

参考URL:http://www.vector.co.jp/soft/win95/hardware/se19 …

この回答への補足

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

補足日時:2001/07/23 18:21
    • good
    • 0

 よけいなお世話かもしれませんが(^_^;


 「仮想メモリ」というのはもともとハードディスク上に作るものなんですが(笑)
 だからディスク容量が増えなければ、仮想メモリを増やすことは物理的に不可能です。
 「ガソリンタンクを大きくはできないが、ガソリンが2倍入るようにしたい」と言っているようなものです(笑)

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

この回答への補足

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

補足日時:2001/07/23 16:05
    • good
    • 0

NT4.0として書いておきます。

(参考になれば...)

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

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

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

この回答への補足

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

補足日時:2001/07/23 14:54
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメモリ拡張 最大256MBを+128MB足す

Prius DECK550S5SWを使っています。メーカー発表のスペックだとメモリが最大256MBまでしか使えないとなっていますが、このPCのスペックだと512MBまで使えそうな気がするのですが、どうでしょうか?今は128MB×2で256MBです。で、256MBのメモリを買ったのですが128MBを1枚抜いて256MB+128MBにしたいのです。いずれは512MBにしXPにアップグレードしようと思っています。色々HPを見て出来そうなんですが不安なので質問しました。

Aベストアンサー

こればっかりは博打ですね。1さんのおっしゃるとおり、可能性は十分あります。
ただし、Buffalo製のメモリーで確認したと言うことですので、ここの製品を購入する必要があります。

とりあえずは128プラス256でと言うことですが、チップセットなどの相性で動作が不安定になることがよくあります。できるなら同じ製品で256プラス256にしてしまったほうがいいと思います。

QNT Server:パフォーマンス・モニタのProcessorオブジェクト Interrupts/secカウンタについて

ProcessorオブジェクトのInterrupts/secカウンタが常に1000を超えている状態です。
MS技術資料によれば、「1000以上になった場合、ディスクコントローラやネットワークカードなど、ハードウェアI/Oデバイスの効率を確認したほうが良い。」という記述がありました。
「ハードウェアI/Oデバイスの効率の確認」とは具体的に何をすればよいのでしょうか。
また何かほかにアドバイスがありましたらお願いします。

Aベストアンサー

こんにちは。hirasakuです。
レスが付いていなかったものですから(^^ゞ
そのServerのメーカーにあるかどうかわかりませんが、ハードウェア診断ツールというものがある場合があります。
メーカーのHPにUPしてる可能性もありますので、一度確認し、そのツールで診断されてみてはどうでしょうか。

Q仮想メモリをusbメモリに

仮想メモリは通常ハードディスクに設定するようですが、携帯用のusbメモリに設定することもできるのでしょうか?
もしできるとしたら、パフォーマンスは向上するのですか?
このサイトで探してみたのですが、この件についての記述が見あたらないものですから。ご存じの方、よろしくお願いします。

Aベストアンサー

1、仮想メモリをUSBメモリにすることは可能です。

2、その場合はHDD内部の半分以下のアクセス速度になるので確実にパフォーマンスは低下します。

ほかの人も書かれていますが、USBメモリは書き込みに対する耐久性が低いです。
(多分1万回くらいI/Oが発生すると不具合が発生し始めるかと思われます)

Qメモリ増設後の仮想メモリサイズ

WinNTサーバーのメモリを増設(128MB→384MB)したのですが、仮想メモリのサイズをいくつまであげていいのかわかりません。現状の設定は

・空き領域 →297MB
・初期サイズ→128MB
・最大サイズ→178MB
・推奨   →395MB

となっています。空き領域が少ないとあまり大きく設定できないと聞いたのですが、仮想メモリを設定する場合の基準とかあるのでしょうか?

Aベストアンサー

実メモリと同程度から倍サイズぐらいまで。
をベースにして接続ユーザー数によって更に増やします。
+5~10M×ユーザー数のようにしますが、接続ユーザーが何をするのかにも依りますね。

Q物理メモリがたくさんあっても仮想メモリ不足?

すんません。質問させてください。
Win2kなのですけど、物理メモリを2GB搭載してます。
これくらいあるのだったら仮想メモリはOFFに出来るかな?っと
思ってOFFにしてみたのですけど、起動時にのっけから「仮想メモリが少なすぎる」とエラーメッセージが出るようです。臨時の20MBほどの仮想メモリも作っているようっす。

過去にXPにて512MB位で仮想メモリをOFFにしても、
とたんにエラーメッセージというほどではなかったと記憶してます。

仮想メモリON、OFF自体にはそんなに興味があった訳ではないのですが、2Kにて余りに簡単にメモリ不足ってのが妙~なかんじでして;;ある程度アプリetc使ってて仮想メモリ不足ってのならフツーだと思ってたんですが、OS起動時からこれなのか!と。

何か致命的なミスをしてるような気がしないでもないです(笑)
何でもよいのでご教授くださいませm(*- -*)m
仮想メモリを500MBほどくれてやるとエラーはでないようです。
若干レジストリも弄ってます。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"ClearPageFileAtShutdown"=dword:00000000
"DisablePagingExecutive"=dword:00000001 ←これ?物理メモリにカーネルうんたら?
"IoPageLockLimit"=dword:00010000
"LargeSystemCache"=dword:00000000
"NonPagedPoolQuota"=dword:00000000
"NonPagedPoolSize"=dword:00000000
"PagedPoolQuota"=dword:00000000
"PagedPoolSize"=dword:00000000
"PagingFiles"=hex(7):00,00,00,00
"SecondLevelDataCache"=dword:00000000
"SystemPages"=dword:000c3000
"PhysicalAddressExtension"=dword:00000000
"LargePageMinimum"=dword:ffffffff
"WriteWatch"=dword:00000001

すんません。質問させてください。
Win2kなのですけど、物理メモリを2GB搭載してます。
これくらいあるのだったら仮想メモリはOFFに出来るかな?っと
思ってOFFにしてみたのですけど、起動時にのっけから「仮想メモリが少なすぎる」とエラーメッセージが出るようです。臨時の20MBほどの仮想メモリも作っているようっす。

過去にXPにて512MB位で仮想メモリをOFFにしても、
とたんにエラーメッセージというほどではなかったと記憶してます。

仮想メモリON、OFF自体にはそんなに興味があった訳ではないので...続きを読む

Aベストアンサー

私もWin2kを使ってます。
私も以前試しましたが、
2kでは仮想メモリが足りている・足りていないの問題ではなく、メモリをたとえ1G積もうが2G積もうがページングファイルは「0」に出来ません。

私はCドライブのバックアップイメージを作成する時の時間とHDDの容量がもったいないので、C・D・Eとパーティションを作って、ページングファイル(1G)はEにしてますよ。
Cドライブの復元の時に大丈夫かと思い実験しましたが、復元する時のHDDをC・D・Eと作っておいてやれば、復元したCドライブを起動する時に新たにページングファイルをEに作ってくれるので問題ありませんでした。
適当な値にして別パーティションにしてしまってもいいと思います。
(ついでにインターネット一時ファイル、Firefox・OperaのCache、AdminのTemp・SystemTempなどもEに変更してます。
おかげでC・Dドライブ(デスクトップ・マイドキュメント・メーラー・Firefox・OperaのプロファイルはDにしてる)をバックアップする時も余計な容量は要りませんし、デフラグもほとんど必要ありません。)

物理的に別ドライブであれば、ヘッドの動きがかち合わずに高速化するとかいう話もありますが、そもそも頻繁にスワップが発生してなければあまり関係ありません。

またOSとしては、9x系と違い、2k・XPはページングファイルの管理が賢くなっており、実はページングファイルの管理はOSに任せておくのが一番最適です。それだけメモリがあれば、そうそうスワップが発生する事もありませんし、ムリにOFFにする必要はありません。適当な値に設定しておけばよいと思います。

私もWin2kを使ってます。
私も以前試しましたが、
2kでは仮想メモリが足りている・足りていないの問題ではなく、メモリをたとえ1G積もうが2G積もうがページングファイルは「0」に出来ません。

私はCドライブのバックアップイメージを作成する時の時間とHDDの容量がもったいないので、C・D・Eとパーティションを作って、ページングファイル(1G)はEにしてますよ。
Cドライブの復元の時に大丈夫かと思い実験しましたが、復元する時のHDDをC・D・Eと作っておいてやれば、復元したCドライブを起動する時に新た...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報