Solarisにはメモリ上にファイルシステム(tmpfs)がありますが、
LinuxOSでこのようなことが可能なのでしょうか?
可能かどうかそして可能ならば、そのやりかたを教えていただけると
とてもうれしいのですが・・・。
どうかよろしくお願いします。

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

A 回答 (1件)

Solaris の tmpfs に相当するものには ramfs か ramdisk のやり方が有る


らしいです。

私は linux は触ったことがないので、詳しい解答を出せないのですが、
参考URLのところがヒントになるでしょうか?

参考URL:http://search.luky.org/linux-users.8/msg01264.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変参考になりました。

お礼日時:2001/08/15 08:57

この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 等に変更して動かしてみて下さい。

QXpからでも、8にアップグレード可能。そして、

今年の秋に登場する、Windows8は、Xpからでもアップグレードが可能なようです。
 そして、その価格は、何と、日本円にして、3000円程度。


  そうしますと、Core2Duoといった旧世代のCPU搭載機でも充分、動くのでしょうか?


    よろしくお願いします。


http://news.mynavi.jp/news/2012/07/03/011/
  ↑
 しかし、安いなぁ・・・(^^A

Aベストアンサー

私はWindows Phoneユーザーなので、正直Win8はほしいです。Windows Phoneと同じような操作性になってくれるんですからw ただ、今あるWindows7やVistaマシンをアップグレードするって気にはなれないんですよね。Win8はWin8用のデバイスがあって、はじめて意味があるような。たとえば、タッチパネル搭載モバイルとか。

ふつうにデスクトップで仕事に使うのなら、Win7 64bitが安定していていいんじゃないですかねー? Vista以上に、あまり無理してアップグレードするもんじゃないと思っています。

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) ローカル変数、関...続きを読む

QFreeBSDなどのLinuxOSでメルマガ配信サーバ構築

こんばんは。

自社でメールマガジン(メルマガ)配信サーバーを構築する計画を立てています。

インターネットでいろいろと検索しましたがなかなかいいソフトが見つかりません。

FreeBSDなどで使えるフリーのメルマガ配信サーバーソフトなど御座いませんでしょうか?

宜しくお願い致します。

Aベストアンサー

>FreeBSDなどのLinuxOSでメルマガ配信

まず、FreeBSDはLinuxではありません。

>インターネットでいろいろと検索しましたがなかなかいいソフト
>が見つかりません

どんなソフトを見つけて、どんな評価をされたか一切書いていないので
重複するかもしれませんが、国産のメーリングリストサーバの
fmlをお勧めします。

http://www.fml.org/

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

QSOLARISのインストールで

SOLARISのインストール中に
"WARNING : elxl0 : no MII link detected "
というメッセージが出て手順どうりに進めません。
このメッセージについて何かわかる方いらっしゃったら
回答お願いします。

Aベストアンサー

elx0というデバイスは使ったことがありませんが、
MIIは、IEEE802.1uの100Mbpsのインタフェースです。
Solarisは昔からネットワークのインタフェースが
Linkしてないとおかしな事になりやすいので、
インストール時からRJ45のケーブルなどで、ハブに
つないで置くことをお薦めします。

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

QSolarisとLinux

ソラリスとリナックスのどちらかを入れようと思うのですが、
今後仕事する上で使うとしたらどっちの方が需要ありそうですか?
ちなみにレッドハットとかのリナックスとターボリナックスってどっちのリナックスがいいですか?
よろしくお願いします。

Aベストアンサー

SolarisをLinuxとの比較をされているようですが、「仕事で使用」と言うキー・ワードで判断しますと、$75(Intel版は$50弱)ぐらいでも出費してSolarisを導入される事をお勧めします。一度初期設定を完了させれば、後にWindowsでよくお見受けする「不正な処理をしました。」って類の、いきなり落ちたり固まったりと言うのはまずありません。快適なOSを環境を得られます。但し、デバイス等の初期設定はハンドでしなければなりませんので、それなりの知識が必要となります。
Linuxはデバイスの設定が比較的簡単で、一通りの機能を備えています。入門から上級者まで幅広く使用出来る魅力を持っています。勿論、雑誌の付録等で手に入れられる安さと言うのも魅力でしょう。ただ、個人的な意見を加えますと、サポート用のアプリケーションが昨今のLinuxには多過ぎるようです。その為か、速さはSolarisと比較して重く感じられます。(←定量的に表現出来なくて申し訳ありません。)

と、ここまで書いてふと疑問が出てきました。そう、それはunix環境の使用目的です。もしもWebサーバー等に導入されるのでしたらLinuxで十分安定したOS環境が得られます。
I-DEAS MAster Seriesなどの3D-CADやFEM解析アプリケーションを使用されるのでしたらSolarisをお勧めします。10時間を超えるような長時間解析を走らせている最中にOSトラブルで止まったりしたら損害も大きいからです。

予算に余力がある方に私が個人的にお勧めしているのは、SGI(Silicon Graphics)の端末及びOSを保守契約と共に契約される事です。しかし、ここまで来るとPCではなく、EWSの話になってしまいますので、余談としてお受け取り下さい。m(_ _)m

SolarisをLinuxとの比較をされているようですが、「仕事で使用」と言うキー・ワードで判断しますと、$75(Intel版は$50弱)ぐらいでも出費してSolarisを導入される事をお勧めします。一度初期設定を完了させれば、後にWindowsでよくお見受けする「不正な処理をしました。」って類の、いきなり落ちたり固まったりと言うのはまずありません。快適なOSを環境を得られます。但し、デバイス等の初期設定はハンドでしなければなりませんので、それなりの知識が必要となります。
Linuxはデバイスの設定が比較的簡単で、...続きを読む

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つのオブジェクトへの参照を保持するのにまず何バイト...続きを読む

QSolaris8のkeyboard設定につて

Solaris 8 をインストールしましたが、インストール最初の時、
キーボードの設定を日本語106に設定するのが忘れたので、全部
入れてからそれを気付いたが、後からでもキーボードの設定を
変更したりできますでしょうか?それとも、再インストールしない
といけないのでしょうか?
とても困ってますので、どなたか教えていただけませんでしょうか?
お願いします。

Aベストアンサー

かなり以前の書きこみなので、既に解決されているかもしれませんが・・・

ログイン画面からオプションを選択し、「コマンド行ログイン」を選択します。
コマンド行からrootでログインします。
プロンプトが表示されたら「kdmconfig」と入力すると、インストール時に
設定した青い画面が表示されます。ここで、keyboardのコンフィグレーションを
行えばOKです。


人気Q&Aランキング

おすすめ情報