PC98のゲームを起動しようとしたらメモリー不足といわれてしまい、困っています。メモリは640kbあるはずなのにメモリー不足といわれたときは339kbしかないといわれてしまいました。メモリの設定を変えなければいけないのでしょうか。設定の変え方はよくわかりません。どなたか教えてください。

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

A 回答 (4件)

多分、メモリーの内容が書き変わってしまったのだと思います、helpひーを押しながらリセットして、sw2-5の状態を、反転して起動すると直ると思います。


RX以前の物なら、直接2-5をOFF(上)にしてみて下さい。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、本当にすいませんでした。何とかメモリーの問題は解決できました。

お礼日時:2001/09/07 19:00

h sakakiさんの回答のとおり、メモリスイッチが書き換わった可能性があります。

メモリスイッチSW3の下3bitが使用メモリ容量で、128Kbyteから640Kbyteまで変更できます。ディップスイッチSW2-5はメモリスイッチを初期化します。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、本当にすいませんでした。何とかメモリーの問題は解決できました。

お礼日時:2001/09/07 18:59

懐かしいですねConfig.sysとAutoexec.bat。


昔はこれをいじるのに熱中してました(苦笑)

さて、コンベンショナルメモリ不足に見回れているという話ですが、
MS-DOS6.2をご利用で有れば、memmakerというコンベンショナルメモリ最適化
ユーティリティが付属していますので、是非ご利用になってみてください。

Help memmakerでmemeakerの説明を参照するのも良いでしょう。

ちなみに、念のためお伺いしますが、PC98のゲームをPC/AT互換機で使用しよう
とされたり、Windows98上(DOSモードじゃない普通の状態)で使用されたり、
WindowsMe(そもそもPC98でMeは無いはずですが)上で使用しようとされてたりは
しませんよね?(^^;;;
Windows98の場合はDOSモードでConfig.sysとAutoexec.batいじれば
動きますが・・・
    • good
    • 0
この回答へのお礼

お礼が遅くなり、本当にすいませんでした。何とかメモリーの問題は解決できました。

お礼日時:2001/09/07 19:00

DOS上でメモリを増やすには、Config.sysとAutoexec.batを編集して、利用可能なメモリ(コンベンショナル・メモリ)を無駄にしないように設定しなければなりません。



直接「A:」のConfig.sysをいじるのは不安でしょうから、フロッピーに起動に必要なファイルをコピー(要するに起動ディスクを作成)して、ゲームをするときにはフロッピーから起動するようにするといいでしょう。

取り敢えず、現在の設定が不明なので補足欄にConfig.sys及びAutoexec.batの内容を掲載願います。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、本当にすいませんでした。何とかメモリーの問題は解決できました。

お礼日時:2001/09/07 19:01

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

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

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

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

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

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

Aベストアンサー

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

QUSBメモリがまだ容量あるはずなのにメモリ不足

初めてUSBメモリーを使ったのですが(会社のPCのバックアップとして)、まだメモリーに容量があいているにもかかわらす「メモリ不足」となりました。
メーカーのHPでは、「FATシステムの設定の問題」で「FAT32システムファイルに再フォーマットすることも可能」とありました。
いままで、MOなどのフォーマットの際、形式なんて気にした事もなかったので、この違いがわかりません。
「FAT32」でメモリーをフォーマットすれば、1個のメモリに全部入りきるという事なのかと思うのですが、バックアップの復元の時には問題ないのでしょうか?

Aベストアンサー

FAT32の場合一個のファイルの限界サイズが4Gまでと定義されてい
ますのでそれを変える場合は4Gのサイズ制限をして分割保存すれば
使えますよ。
それかFAT32ではなくNTFSなら1ファイル4G以上でも可能なはず。

復元の際の問題はそのバックアップソフトがOSとして何を使っているかです。
NTFSはNTかLinux辺りでないと読めません。FAT32ならWindows9x
のMSDOSだけでも読めるので(95の最初のバージョンは駄目)
たいした問題にはならないはず。

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メモリ384上限に640を増設して見ましたところ、仮想メモリが・・。

以前ハードの設定を超えてメモリ増設~~でお世話になったものです。

ソーテックWL2130にハード能力で384上限に640のメモリを載せました、バファローのHPにて640でも作動する、とのことでしたがバファローの製品は高いのでバルクの製品を載せました。

実際ちゃんと読み込んでくれたようです。
作動もスムースになったようですが、仮想メモリがちょっとおかしくなりました。

アクセサリからシステム情報でメモリを調べたのですが全メモリ(仮想も入れて)1.5Gになっていたのでそんなに要らないとコントロールパネルからシステムでメモリをカスタムしようとしたのです。

ですがカスタムサイズで2~400に落としても現在の割り当てが947Mから変更できません。
試しにページングなしにしても変化はありませんでした。

もちろん規定を超えたメモリを搭載したせいだというのは重々承知しておりますが、これによりなんらかのトラブルの可能性というのはありますでしょうか?

また仮想メモリ量を落とす手立てはありますでしょうか?

どうかご教授お願いいたします。

以前ハードの設定を超えてメモリ増設~~でお世話になったものです。

ソーテックWL2130にハード能力で384上限に640のメモリを載せました、バファローのHPにて640でも作動する、とのことでしたがバファローの製品は高いのでバルクの製品を載せました。

実際ちゃんと読み込んでくれたようです。
作動もスムースになったようですが、仮想メモリがちょっとおかしくなりました。

アクセサリからシステム情報でメモリを調べたのですが全メモリ(仮想も入れて)1.5Gになっていたのでそん...続きを読む

Aベストアンサー

仮想メモリの容量を少しずつ減らしていってみるというのはどうでしょうか?

なお、仮想メモリがかなり巨大だからといって、基本的に(HDDを圧迫する以外)システムには特に問題が出ることはありません。

#ちなみに、バルクのメモリだからといって問題があるわけではありません。

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...続きを読む

Q外付け640MOと、USBメモリスティックと速いのは

僕はデザインの仕事をしています。
職場と自宅で、両方で仕事してますが、
片方から片方のWindowsのハードディスク(HD)に1回1回保存するのが面倒なので、
今は、640MOドライブをSCSIで、両方に接続して、MOディスクで直接保存して仕事してます。
要するに、HDには落としません。
ただ、やはりHDに保存するのに比べると動作が遅く、たまに誤作動が起こるので、
最近流行ってる、USBメモリスティックが、非常に便利と聞きますが、
SCSIと、USBは、もちろんSCSIの方が速いですが、
実際、SCSI接続の640MOと、USBメモリスティックは、どちらの方が動作が速く、安定してるのでしょうか?。
また、仕事のデータ(DTPや、HP作成)を保存する場合、
メリット、デメリットがあれば、教えてくださいますか。
また、USBメモリスティックによっては、遅い、速い種類があるのでしょうか?。
速いメモリスティックを分かれば教えて頂けますか?。
お詳しい方、実際に両方使われている方、どうぞ宜しくお願い致します。

Aベストアンサー

Windows xpを前提として回答します。

> 実際、SCSI接続の640MOと、USBメモリスティックは、
> どちらの方が動作が速く、安定してるのでしょうか?

実はMOは読み書きの速度は相当遅くて、1MB/secは出てません。通常、読み出しは500~800KB/secで、書き込みはその半分(250~400KB/sec)程度です。
かなり古い記事になりますが、以下のURLで測定した速度が公開されています。
http://pc.watch.impress.co.jp/docs/article/980302/gaiden2.htm

比べて、最近の「超高速」を謳っているUSB2.0対応のメモリは、以下のURLのimpressのPCwatchの記事にあるように、
http://pc.watch.impress.co.jp/docs/2005/0216/usb.htm
遅いものでも読み出しに10MB/sec~30MB/sec、書き込みに5MB/sec~10MB/sec程度の速度が出ます。

ちなみにUSBとSCSIの転送速度を比べると、
http://www.mars.dti.ne.jp/~suzunari/suz/doc/dat/hd_interface_speed.htm
にあるように、
USB1.1 = 1.5MB/sec
Narrow SCSI = 5~20MB/sec
Wide SCSI = 20~40MB/sec
LVD SCSI = 40~320MB/sec
USB2.0 = 24~53MB/sec
となっています。
通常MOはNarrow SCSI(50pinのケーブル)で接続されるため、USB2.0よりも遅いということがわかると思います。
ちなみにUSB2.0対応の機器をUSB1.1に接続すると、USB1.1の制限である1.5MB/secで転送します。

> また、仕事のデータ(DTPや、HP作成)を保存する場合、
> メリット、デメリットがあれば、教えてくださいますか。

MOのメリット: 
1.ドライブ+メディア型なので、大量に使用する場合に単価が安いこと
2.それなりに保存性能がよいこと

MOのデメリット:
1.速度が遅いこと
2.ディスクメディアなので、ドライブが故障したりメディアが破損したりすることがあること

USBメモリのメリット:
1.速度が速いこと
2.ある程度の容量まではMOより単価が安いこと。

USBメモリのデメリット:
1.PC-9801シリーズの古い機種など、USB自体がないPCには接続自体ができないこと。
2.データ入稿などの際にはそのまま納品することができないこと。
3.#1の回答にあるようにコネクタ自体の耐久性能があまり高くないこと(ハブを使うと多少は改善されますが、メモリの側のコネクタが壊れると復旧できません)

> また、USBメモリスティックによっては、遅い、
> 速い種類があるのでしょうか?。

あります。

> 速いメモリスティックを分かれば教えて頂けますか?

毎月のようにより高速なUSBメモリが発売されていますが、現在MOを使っているのであれば「高速」と書いてあるモノであればどれでも十分速いでしょう。さきにあげたPCwatchの比較記事などを参考にしてください。

で、私ならどうするかというと、これだけ書いておいて、身も蓋もない結論で申し訳ないですけど、CD-Rなんです。最悪でもたいていの環境で読み出しできますし、単価も恐ろしく安いですから。

Windows xpを前提として回答します。

> 実際、SCSI接続の640MOと、USBメモリスティックは、
> どちらの方が動作が速く、安定してるのでしょうか?

実はMOは読み書きの速度は相当遅くて、1MB/secは出てません。通常、読み出しは500~800KB/secで、書き込みはその半分(250~400KB/sec)程度です。
かなり古い記事になりますが、以下のURLで測定した速度が公開されています。
http://pc.watch.impress.co.jp/docs/article/980302/gaiden2.htm

比べて、最近の「超高速」を謳っているUSB2.0対応のメモリは...続きを読む

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メモリを増設して、仮想メモリを設定したのですが、あまり速くなりません

先日、うちのパソコンのNB55S(初期メモリ768MB)をキングストン製のメモリで2GBまで、増設し、仮想メモリをカスタムサイズから、システム管理サイズに変更したのですが、パソコンの電源を切るときの速度は格段に速くなったのですが、起動したりするときは、あまり速くなっていませんでした。
仮想メモリ以外にどこを設定すれば、本来の性能が発揮されるのでしょうか?回答よろしくおねがいします。

Aベストアンサー

こんばんは。

メモリを増設して早さを実感できるのは、メモリが足りず、ページングファイルにスワップしていたものが、しなくなったときだと思いますよ。
もし、OSがXPで、2GBまで増設したのでしたら、ページングファイルを「なし」にしてしまってもいいと思います。
若干、起動が早くなると思います。(ページングファイルを確保しない分)
但し、いつもメモリ1GBを超えるような処理をさせているようでしたら、「なし」は危険ですね。

2GBまで増設したのであれば、起動後は、質問者様の言われる本来の性能は発揮できていると思います。(ハード的には...)

以上

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メモリ増設時の仮想メモリの設定について

メモリ増設時の仮想メモリの設定について

メモリを1GBから4GBにアップグレードしました。
まだ仮想メモリの設定は変更していないため、1GBの1.5倍の1536MBに設定されています。

現状4GBのRAMが搭載されていますが、もし仮想メモリの設定を変更せずこのまま使用すると、
1.5GBを超えた辺りからスワップが起きますか? それとも、ちゃんと4GBの効果が得られますか?

設定を変更すれば済む話なのですが、どなたか私のこのモヤモヤを解決してください。
よろしくお願いします

[PCスペック]
HP DC7800 Compaq Core2Duo 2.13GHz / 1GB RAM
Windows XP SP3

Aベストアンサー

RAMが足らなくなったら、スワップで仮想メモリを使用するのです。
RAMが充分にあれば、スワップは起きないので、仮想メモリを使用することはありません。
仮想メモリは、スワップだけで使用するわけではないですが、4GBでしたら、仮想メモリを使用しない(0でも)設定でも良いくらいです。
今のままの設定で、使用してみたらいかがでしょう。


人気Q&Aランキング

おすすめ情報