最近512Mメモリの2枚を増設し、既存256M×2と合わせて
1.5Gにしてみたのですがウィンドウズ起動時に
「メモリ不足のため....」と表示され起動できません。
DOSモードで起動しmemコマンドで見てみたところ
640Kしか認識していないようでした。
Microsoftホームページで調べたところキャッシュモジュールの
制限でキャッシュ上限値を800M以下に設定すれば
大容量メモリを搭載していても起動できるような記述があり
試して見ましたが変化ありませんでした。

Win98SEで認識できるメモリの最大容量等あるのでしょうか?

マシン仕様
 CPU:Athlon900
 MEM:512Mx2,256Mx2 (PC133、CL3)
 M/B:Abit KA7

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

A 回答 (3件)

以下のURLを見てみてください。



参考URL:http://homepage2.nifty.com/winfaq/w98/trouble.ht …
    • good
    • 1
この回答へのお礼

とりあえずMaxPhysPageパラメータ設定でメモリアクセス制限を
かければ、Win98の起動が出来ることがわかりました。

ありがとうございました。

Linux等のマルチブート環境で使用しているマシンでしたので
OSかえるたびにメモリの取り外しとかしたくなかったので(^_^).

お礼日時:2001/07/17 17:25

当然ですよ。


今までの回答では触れられていなかったので回答します。

Win9xでは、物理メモリにおいて基本的に512MB以上は想定していないといわれます。マザーや状況などによって誤差が出ますけど事実です。
(そのため、メーカーPCではWin9x上での512MB以上のメモリ利用はサポート外としています)
それ以上のメモリを増設すると著しくパフォーマンスが低下したり、あなたのようにメモリを正常に認識しなかったりします。
これは、ベースとなる16ビットコアモジュールによって発生すると思われます。
(リソースをうまく解放しない問題などと類似します)

ちなみに、16ビットコアを完全に排除したNTコアカーネル(マイクロカーネル)の2000ではPROで確か4GBまでの物理メモリをサポートしています。

この回答への補足

そういえば、Win98でた当時にそんなに容量のある
メモリモジュール無かったですしね。

補足日時:2001/07/17 17:19
    • good
    • 0

ずばり お答えしましょう



Win9×系の認識できる物理メモリーの最大量は
 《768MB》まで です
それ以上の物理メモリーを活用したい場合は・・・
Win2000やWinNT系にしないとだめだそうです

私も過去に同様の質問を立ち上げました(-_-;)
私の場合は
「512×1」と「256×2」でした

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=69498
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qメモリに余裕があるのにヒープが確保できないです。

趣味のプログラムなので切実な問題ではないのですが、
1秒間隔に処理を行うプロセスを-Xmx64Mの指定で6つ起動しようとするのですが、
6つ目でヒープが確保できなくて処理が走りません。
スレッドは1プロセスあたり15くらいです。
OSはWindowsXPでCPUはPentium Dual-core E2140で
メモリは2GBつんでいるのですが、
タスクマネージャでみると1GB強しかつかってません。
できれば6つ同時に走らせたいのですが、方法はありますでしょうか?

Aベストアンサー

ヒープエリアはたしか全プロセスで共通に使われるはずです。
-Xmx64M を -Xmx128M 等に変更して動かしてみて下さい。

Qメモリの最大搭載容量

『Windows95/98/Meにおいては搭載できるメモリ容量は、512MBもしくは768MBまでとなっています。このため、もしそれを超えてメモリを搭載した場合、Windowsが立ち上がらないという現象が起きたりするようです』

上記のことは本当でしょうか。
「立ち上がらないという現象が起きたりする」ということは、1G以上でも立ち上がる場合もあるということでしょうか。
512Mをオーバーしても立ち上がる場合と立ち上がらない場合は、何によって違ってくるのでしょうか。
(Windows98SEに関して知りたいのですが)

Aベストアンサー

Windows98は物理メモリを944MBまでしか認識できないことから、#1さんがおっしゃるメッセージが出てしまうようです。

ただ、System.iniを書き換えて
<386Enh> セクションの最終行に
MaxPhysPage=3B000
という記述を加えることでWindowsをだますことはできます。

またVcacheの設定を変更することでも可能なようですが、これはやったことがないので自信なし。
参考URLに解説されてます。Meの場合で説明されてますが、原因だけなら98も一緒だと思います。
http://mockekke_po.at.infoseek.co.jp/pc/winacro/9xmem.htm
http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com%2Fdefault.aspx%3Fscid%3Dkb%3Bja%3BJP253912

参考URL:http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com%2Fdefault.aspx%3Fscid%3Dkb%3Bja%3BJP253912

Windows98は物理メモリを944MBまでしか認識できないことから、#1さんがおっしゃるメッセージが出てしまうようです。

ただ、System.iniを書き換えて
<386Enh> セクションの最終行に
MaxPhysPage=3B000
という記述を加えることでWindowsをだますことはできます。

またVcacheの設定を変更することでも可能なようですが、これはやったことがないので自信なし。
参考URLに解説されてます。Meの場合で説明されてますが、原因だけなら98も一緒だと思います。
http://mockekke_po.at.infoseek.co.jp/pc/winac...続きを読む

QC/C++言語のメモリについて

C言語でメモリを2種類?に分けると、スタックとヒープがあります。
ヒープは mallocなどで確保し、freeで解放しますがスタックは解放する必要がありません。
そのスタックは通常、何バイトまで可能なのでしょうか?

あと関数外のファイルの先頭に int[1000000];とした場合、このメモリはmallocで確保していませんが、
どこに作られるのでしょうか?

私のパソコンはメモリが2GBでWindows2000ですが、CやC++で最大、何バイトまでメモリが使えますか?
また、一番多くメモリを確保できるなら、OSはなんでも構いません。

解釈等も間違っていたらご指摘していただきたいです。

Aベストアンサー

マイコン向けのプログラムを書いてます、Interestと申します。

> C言語でメモリを2種類?に分けると、スタックとヒープがあります。

間違いではありませんが、ちょっと足りません。プログラムで使用するメモリはもう少し細かく見ると、次のようになっています。

(P) 実行される命令(ProgramとかCodeと呼ばれます)
(C) 定数など変更されないデータ
(D) 初期化されるデータ
(B) 初期化されないデータ
(H) プログラムから動的に割り当てられるメモリプール(これがヒープです)
(S) ローカル変数、関数の引数、呼び出し元関数へのリンクに使用する比較的短命なものに使用するメモリプール(これがスタックです)

> そのスタックは通常、何バイトまで可能なのでしょうか?

開発環境によって初期値が決まっているようで、どれだけ割り当てるか変更できるようです。OSには依存しません。Visual C++ 6.0の場合、スタックサイズの初期値は1MBだそうです。
参考 http://okwave.jp/qa2645032.html

> あと関数外のファイルの先頭に int[1000000];とした場合、
> このメモリはmallocで確保していませんが、どこに作られる
> のでしょうか?

最初に説明した内容に照らすと、一般に外部変数は0で初期化されますから、(D) 初期化されるデータ の領域に確保されることがわかります。

> 私のパソコンはメモリが2GBでWindows2000ですが

WindowsなどのOSは物理メモリが足りなければハードディスク上の仮想メモリも使用しますので、単純に何バイトまで使えます、とはお答えできません。

> 一番多くメモリを確保できるなら、OSはなんでも構いません。

どのようなプログラムを組もうとしているのですか?

マイコン向けのプログラムを書いてます、Interestと申します。

> C言語でメモリを2種類?に分けると、スタックとヒープがあります。

間違いではありませんが、ちょっと足りません。プログラムで使用するメモリはもう少し細かく見ると、次のようになっています。

(P) 実行される命令(ProgramとかCodeと呼ばれます)
(C) 定数など変更されないデータ
(D) 初期化されるデータ
(B) 初期化されないデータ
(H) プログラムから動的に割り当てられるメモリプール(これがヒープです)
(S) ローカル変数、関...続きを読む

Qメモリ容量が128MB以上必要なのですが

欲しいプリンターがあるのですが、メモリ容量が128MB以上必要なようです。
varsaproNX VA40J というノートパソコン、OS win98 を頂いたのでそれに接続したいのでメーカーでスペックを調べたら64MBとありました。マイコンピューターのシステムのプロパティのパフォーマンスをみると{メモリ RAN:191.0MB}とありますがこれは別のものなのでしょうか?初心者でよくわかりません。よろしくお願いします。

Aベストアンサー

>前の持ち主も詳しくないらしく、わからないと言うことでした。


 ということは、前の持ち主の方が誰かに増設してもらっている、ということです。ただ、メモリを128MB以上必要とするプリンタって何でしょうねぇ。

 レーザープリンタで、解像度を上げて印刷する場合(300dpi→600や1200dpi)は98やMEだと対応できずに「メモリ不足です」と表示されることもあるので、ご注意ください。

Qヒープ領域の限界値設定

大量にメモリを消費するアプリケーションを下記環境で動作させようとしています。
WindowsXP SP2, 1GB RAM
タスクマネージャの物理メモリの利用可能 674,500K位
この状態でヒープ領域をレジストリで変更しようと思っているのですが
限界値が不明です。
徐々に3071⇒4096⇒8192と上げていっているのですが、限界値を超してしまうとOS自体が起動できなくなる恐れがあるので怖いです。
アドバイスください。

Aベストアンサー

回答No.1に挙げた「デスクトップ ヒープ」で用いている「ヒープ」という用語は、グラフィックサブシステムで使用するためにWindowsのグラフィックサブシステムがあらかじめ確保して自分自身のために使用するメモリ領域のことを指しています。

また「mallocが使用するヒープ領域」という場合の「ヒープ」という用語は、ライブラリ関数mallocがWindows APIを使用して確保するメモリ領域のことを指しています。

ですので、「デスクトップ ヒープ」と「mallocが使用するヒープ領域」は違うものです。


「mallocが使用するヒープ領域」がどこから来るのかは、コンパイルに使用した言語環境のライブラリ関数mallocの動作内容に依存します。

仮にMicrosoft Visual C++(VC++ Version 6.0以降)を使用してコンパイルし、ライブラリ関数は標準添付のものを使用したとすると、mallocはWindows APIのHeapAllocで取得したメモリ領域をライブラリ内で細分(サブアロケート)して返します。またこの場合、HeapAllocで取得できるメモリ領域の量に固定の上限はなく、PCのメモリ実装量、Windowsのスワップ領域の大きさ、それとアプリケーションプロセスのメモリマップが許す限り、いくらでもHeapAllocはメモリを割り当てて返すことができます。

ですので上記の場合、mallocも同様に「PCのメモリ実装量、Windowsのスワップ領域の大きさ、それとアプリケーションプロセスのメモリマップが許す限りいくらでも」メモリを割り当てて返すことができます。

なお、上記動作はライブラリのソースコードを見て確認したものですので、使用しているコンパイラがVC++ではない、あるいはVC++でもVersion 6.0より古い場合、mallocが「いくらでもメモリを割り当てて返すことができる」かどうかは分かりません。(しかし、返すメモリ領域が「デスクトップ ヒープ」と違うものであることだけは変わりません。)

回答No.1に挙げた「デスクトップ ヒープ」で用いている「ヒープ」という用語は、グラフィックサブシステムで使用するためにWindowsのグラフィックサブシステムがあらかじめ確保して自分自身のために使用するメモリ領域のことを指しています。

また「mallocが使用するヒープ領域」という場合の「ヒープ」という用語は、ライブラリ関数mallocがWindows APIを使用して確保するメモリ領域のことを指しています。

ですので、「デスクトップ ヒープ」と「mallocが使用するヒープ領域」は違うものです。


「mal...続きを読む

QWIN98SEで有効なメモリ容量はどれくらいですか?

タイトルのとおりです

WIN98SEといってもWIN98をアップグレードしたものですが、98が制御可能なメモリは128Mまでと以前どこかできいたことがあります。

それで、今回PCのバージョンアップに伴い、
メモリ256Mを付け足しました!
そしたら、64+64+256で、384Mになるはずでしたが、320Mになったと思います。64M一枚はどうも壊れている様子^^;

でも、320Mと表示されているのならば、
有効になっているんですよね?

以前聴いた98で制御できるメモリは128Mと
いうのはデマだったのでしょうか?

Aベストアンサー

512MBまでです。 条件付で

最大搭載量はチップセットとBIOSの出来に左右されると思います。

440BXチップのようですから256Mbit(両面で8枚のメモリ)チップはサポートしていないと思います。

http://ibmpc.jp/~shop/topic/topic01.html

↑これが読みやすくて判りやすいかな?

440BXチップのサポートはメモリスロット一期あたり256MB(バンク数は4スロット、8バンク)だったと記憶しています

9x系で大容量メモリでエラーが出る場合
もしも「メモリ不足のため、Windowsを初期化できません」
…と表示されるようなら十中八九メモリが多すぎます。
次の方法でWindowsを騙せます。

キャッシュドライバを設定しなおします。
まず、メモ帳などで「C:\Windows\System.ini」を開きます。

「vcaahe」という項目の下にある2行を見つけたら以下のように編集してください。
なければ新たに作成してください。

MinFileCache=0

MaxFileCache=10240

※最低キャッシュは0、最大は10MBという意味です
最大値は使用環境によって調整してみてください。

上書き保存してWindowsを再起動すると有効になります。

なぜ512MBを超えるメモリをうまく扱ってくれないか

Windowsの起動時にプロテクトモードのキャッシュドライバがメモリ容量によってキャッシュサイズを決定します。

この時、512MBを超えるメモリを搭載していると、システム領域をすべて使い切ってしまうほどのメモリアドレスを割り振ってしまうのです。

これは9x系Windowsの仕様です。

余談
リソースと物理メモリは関係ありません
NT系リソースは「ヒープ領域」で3MBがデフォルトで予約されています。
拡張可能
稀にですが2000/XPでもリソース不足は発生します

512MBまでです。 条件付で

最大搭載量はチップセットとBIOSの出来に左右されると思います。

440BXチップのようですから256Mbit(両面で8枚のメモリ)チップはサポートしていないと思います。

http://ibmpc.jp/~shop/topic/topic01.html

↑これが読みやすくて判りやすいかな?

440BXチップのサポートはメモリスロット一期あたり256MB(バンク数は4スロット、8バンク)だったと記憶しています

9x系で大容量メモリでエラーが出る場合
もしも「メモリ不足のため、Windowsを初期化できません」
…...続きを読む

Qメモリをたくさん使うテストプログラム

Linuxで、メモリをたくさん使うようなテストプログラムを作りたいのです。
メモリといっても、プログラムコードの入っているテキスト領域、データの入っているデータ領域、ヒープ領域などがあると思いますが、
これらのいずれかのみをたくさん使うようなプログラムを作りたいのです。
例えば、サイズの大きなプログラムであれば、テキスト領域が大きくなったり、
大容量の文字列を扱ったりすると、データ領域が大きくなったりするんでしょうか?
関数とメモリ使用量の関係があまり分かっていません。
どうか教えてください。

Aベストアンサー

#1です。
>テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
はい、その通りです。
>mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
いいえ、mallocした領域は、ヒープ領域であり、ヒープ領域にデータを書き込んだからといって、データ領域が増える訳ではありません。

コーディングでは、以下のようになります。
-----------------
#include ....ヘッダファイル
char data1[256];  ・・・・データ領域
main()
{
data data2[256];  ・・・・スタック領域
if (・・・){    ・・・・テキスト領域
・・・
}
malloc(3000)    ・・・ヒープ領域へ確保
}

main等の関数の外側で確保した領域は、データ領域に取られます。
main等の関数の内側で確保した領域は、スタック領域に取られます。(static指定を除く)
実際に命令(if文など)は、テキスト領域にとられます。
mallocで確保したメモリはヒープ領域に取られます。
(但し、テキスト領域の言葉は正しいかどうか不明です。参考URLを参照下さい)
ところで、どうして、メモリをたくさん使うようなテストプログラムを作りたいのですか、よかったら教えて下さい。そのほうに興味があります。

参考URL:http://www1.cts.ne.jp/~clab/hsample/Point/Point19.html

#1です。
>テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
はい、その通りです。
>mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
いいえ、mallocした領域は、ヒープ領域であり、ヒープ領域にデータを書き込んだからといって、データ領域が増える訳ではありません。

コーディングでは、以下のようになります。
-----------------
#include ....ヘッダファイル
char data1[256];  ・・・・データ領域
main()
{
data...続きを読む

Qディスクの空き容量またはメモリ不足しているため、図を表示または印刷できませんと表示されます。

特に空き容量が不足しているわけでもなく、

37.2Gの中で使用している領域は4.7Gほどです。

インターネットの不要ファイルを削除し、また、Cドライブのディスクのクリーンアップも行いました。他に何が原因なんでしょうか?

Aベストアンサー

>ディスクの空き容量またはメモリ不足しているため、

メッセージの通りメモリが不足しているんです。
ディスクの最適化などは関係ないです。

対策1
○ 物理的にメモリを増設する。
 ここでいうメモリとはディスク容量のことではないです。
 ショップでメモリモジュールを購入し取り付けます。

対策2
○ 仮想メモリを増やす
 ・コントロールパネル->システム->詳細->パフォーマンスオプション->仮想メモリ「変更」
 ・表示される画面で、空き容量の十分あるドライブを選択し「初期サイズ」「最大サイズ」を入力。値は必要と思われるメモリ量だけ。入力したら「設定」->「OK」ボタンを押します。

Qjava string 配列の使用メモリ

String[][][] arg = = new String[x][x][x];
でxが638の時にjava.lang.OutOfMemoryErrorになってしまいます。
VM起動時のヒープ最大値は1GBまで試しましたがダメでした。

このときargオブジェクトはどれだけのメモリを必要とするのでしょうか?

Aベストアンサー

このnewで作られるオブジェクトは、配列オブジェクトだけです。Stringオブジェクト自体は作られません。
なので、オブジェクトのサイズとしては、配列オブジェクトのサイズだけを考えればよいことになります。
(ちなみに、メソッド本体はクラスに1つあるだけで、作成したオブジェクトの数だけできるわけではないですから、オブジェクトを作ると、新たにメソッドの分のメモリが必要になるわけではありません)

さて、argオブジェクトのサイズですが、1つのオブジェクトへの参照を保持するのにまず何バイトが必要か考える必要があります。
32bitのJavaだったら、たぶん32bit=4バイトでしょう。
この配列の要素数はx^3個ですので、1つあたりが4バイトとなると、x^3 * 4 バイトのメモリが最低限必要ということになります。
もちろん、他にも多少メモリが必要でしょうが、xが大きいときのことを考えるわけですし、無視しても問題ないでしょう。

x=638の場合を計算してみると、638^3 * 4 = 1038776288 となります。
これは約990MB で、だいたい1GBです。
ヒープの最大値を1GBで試したということですので、計算と合っているのではないでしょうか。

このnewで作られるオブジェクトは、配列オブジェクトだけです。Stringオブジェクト自体は作られません。
なので、オブジェクトのサイズとしては、配列オブジェクトのサイズだけを考えればよいことになります。
(ちなみに、メソッド本体はクラスに1つあるだけで、作成したオブジェクトの数だけできるわけではないですから、オブジェクトを作ると、新たにメソッドの分のメモリが必要になるわけではありません)

さて、argオブジェクトのサイズですが、1つのオブジェクトへの参照を保持するのにまず何バイト...続きを読む

Qディスクの容量容量不足・・・?

マイクロソフトオフィス2000やロータスオフィス2000をインストールしようとすると「ディスク上に十分な領域がありません」とエラーになりインストールできません。どうすればインストールできるでしょうか?

NEC PC-9821 Nr233に
Windows98SE を クリーンインストール

メモリ32MB

Aドライブ 容量約2GB (使用:400MB 空き:1.6GB)
Bドライブ 容量約1GB (すべて未使用)

Aベストアンサー

まず幾つか考えて見ましょう。
この機種ですが、もともとのOSはPC-9821
Nr233/S32TがWindows98、S32AがWindows95だったと思いますが、この状態ではいかがでしょうか??
Officeのインストールですが、「CDから全て実行」が選べますが、これはいかがでしょうか。
HDDのデフラグやチェックディスクも試してください。
ひょっとして不良クラスタがあるのかも知れません。
HDDの換装は、8GB制限がありますから、新品ではなかなか無いと思います。
それに♯4の方のご指摘通り、エラーが額面どおりか疑問になりました。
メモリも増設したほうがよいと思います。
「Nr233」で検索すると売ってるショップ等もあるようなので。
メモリで面白いページを見つけました。
http://ematei-web.hp.infoseek.co.jp/kenkyu/98notemem2.htm

私ですがメビウスMN5100D,メモリ32MB(その後Win98で48MB),HDD-1.2GB,Win95でOffice2000が入りました。
ただ容量不足でOfficeアップデートは出来ません。

参考URL:http://www.yauyaupc.com/product/parts/memory/edo_so.shtml

まず幾つか考えて見ましょう。
この機種ですが、もともとのOSはPC-9821
Nr233/S32TがWindows98、S32AがWindows95だったと思いますが、この状態ではいかがでしょうか??
Officeのインストールですが、「CDから全て実行」が選べますが、これはいかがでしょうか。
HDDのデフラグやチェックディスクも試してください。
ひょっとして不良クラスタがあるのかも知れません。
HDDの換装は、8GB制限がありますから、新品ではなかなか無いと思います。
それに♯4の方のご指摘通り、エラーが額面どおりか疑問になりま...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング