Windowsでは32Bit版だとメモリーが3.5GBでしたか、最大でもそれくらいしか使用できないという制限がありましたが。

Linux は32Bitと64BitとではWindowsのように認識できるメモリーの容量に制限があるのですか。

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

A 回答 (10件)

32bitで4GB以上のメモリーを扱えないのは


たぶんノイマン型コンピューターの、アーキテクチャーそのものの話です。
個々のOS特有の問題ではなく、普通に作れば
4GBを超えて認識できないのが当たり前です。


ただ、intelのPAE技術は、PentiumProの時代からある特殊な技術で
これは32bitを超えて、36bitでメモリーの物理アドレスを指定することができます。

32bit Windowsで、3.5MB程度しか認識できず、残りをRAMディスクにする風習がありますが
これもPAEがなければできないことだったと認識しています。(よくは知らん)


で、単純にメモリーを大量に使うためになら、36bitでも…何GBだっけ?
64GBを認識できますから、現状のサーバーPC程度ならOSとしては不足しません。

ただ、それだとアプリケーションが確保できるメモリーとしては
制限が残ってしまうので、大規模なアプリケーションを動かすのであれば
PAEではなく、OSもアプリも、全部64bit仕様にする必要が生じます。

ただ、そういうアプリは限られます。
個人のデスクトップや小規模なサーバーなら、PAEで事足りるんじゃないかと思います。
実際、こういう記事があったりもします。
http://bibo6.blog34.fc2.com/blog-entry-180.html


Linuxではデスクトップとしての利用では2GBで充分だったりするので
64bit化の必然性はあんまり無いんです。

反面、オープンソースのパッケージ再編成の自由を活かして
64bit版ソフトの供給は、Windowsの比にならないほど速やかに進みました。
それがゆえに、64bit版FLASH Playerは、Linuxだけが先行してリリースされていたほどでした。
(Windowsでは64bitOSで32bitブラウザーを使うのが普通の時期が長かったので)


ただ、ほとんどの32bit版Linuxディストリビューションは、PentiumIIやIIIに最適化されていて
64bit版はCore2Duoとかに最適化されています。

ですから、64bit化の効果だけでなく、最適化の対象の問題から
64bit化が好ましい場合があります。
技術的にも、64bit化は時代の趨勢ですから、32bitに固執する理由もありません。
Amazon MP3の専用ソフトとかが、32bit版なのは泣き所かもしれませんけど…


私自身は、仮想PCで遊ぶことを想定して、64bit版にしてあります。
どっちが速いか?気にするほどの差は無いと思います。


先日リリースされたUbuntu12.04LTSでは、32bit版もPAEカーネルが標準となり
たぶん、8GB搭載のPCで32bit版を導入しても、4GBを超えて認識するのが普通になっています。
今みたら、最大1GBしか搭載できないThinkPad T23でもしっかり3.2.0-23-generic-paeが入っています。


反面、一部のPAEを備えないCPU搭載製品では、CPU性能は充分にあるものの
Ubuntu12.04LTSのインストールができず。
10.04LTSか11.10からのアップグレードを経て導入する手間がかかります。
(PentiumM搭載ノートPCなどで、ちょっと残念なことになるようです)


なお、LinuxとMacOSXのメモリー管理が同じと言えるとしたら
LinuxもMacOSXもWindowsもメモリー管理の基本法則は同じと言えます。

でも、やっぱり、LinuxとMacOSXとWindowsのメモリー管理はそれぞれ違います。
ただ、32bitではPAEのような特殊な技術を使わなければ
4GBを超えてメモリー認識ができないという点では同様です。


ちなみに、Linux系OSはUNIXを模倣したOSで、MacOSXは由緒正しいUNIXの分家です。
ほかにもUNIXは数種類あるのですが、メモリーの管理手法はそれぞれいろいろ違います。
そこは、UNIXの仕様としての共通点だけでなく、個々のカーネルの設計の問題でもあるからです。

Linux系OSでは、そのカーネルそのものが本来のLinuxです。
対して、MacOSXは、Machというオープンソースのカーネルが採用されています。
分類方法によっては、MachはLinuxカーネルよりもWindowsのNTカーネルに近いとも言えます。


かつて、Macintosh用のLinuxとしてMkLinuxがMachカーネルを採用していたので
LinuxとMacOSXのカーネルが同じと勘違いしているMacユーザーもいるかもしれません。
(厳密に言えば、MkLinuxはLinuxでは無かったとも言えます)

この回答への補足

ありがとうございます。

>ただ、ほとんどの32bit版Linuxディストリビューションは、PentiumIIやIIIに最適化されていて
64bit版はCore2Duoとかに最適化されています。

なるほどそうですか。

ubuntu 11.10 64Bit版をCPUがPentium4のパソコンにインストールしたのですが32Bit版の時と比べたら明らかに動作が重かったです。

補足日時:2012/05/14 10:44
    • good
    • 0

余談ですが, 32ビットの Windows でもバージョンによっては 4 GB を越えて使えたりしま... した.



32ビットの Linux でも, 既に回答がありますが (「1プロセスで使えるメモリ」は 4 GB, ただしそのうち 2 GB はカーネル使用) システム全体で 64 GB まで使えるようにすることもできます. 6 GB しかないときにやってました.
    • good
    • 1
この回答へのお礼

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

お礼日時:2012/05/14 10:47

PAEの話が出ていますが


この技術はOSで管理できるメモリ量を増やせますが、
一方で1つのプロセスがアクセスできるメモリ量は4GBのままです。
なので、DBサーバのように大きなメモリを使用するPPを使用する場合は
32bitOSと64bitOSで結構大きな性能差が出ます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/05/14 10:45

>Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。


まったく違う。
MacOSXはBSD系。Linuxとはソースの互換はない。だからメモリ管理は別。
それこそ同じだったらライセンスの問題が発生する。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/05/14 10:38

Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。


CPU自体は64ビット動作で、使用する『カーネル』が
32か64ビットの違いがまず有ります。
それからアプリに関しても64ビット対応としてコンパイルする必要が有ります。
そして64ビットカーネルの環境で32ビットカーネルアプリを動作させる環境が有ります。

Linux自体がこの様に成っている場合はWindowsの様なメモリ制限は無い事に成ります。

この回答への補足

ありがとうございます。

結局、Linuxでもそういう点はWindowsとあまり変わらないんですね。

ubuntuはインストールとか更新の際も自動化されていて、そういう点では便利なのかもしれませんね。
64Bitでインストールしたら、更新の際も64Bitで自動的に更新されるようになってるみたいです。

補足日時:2012/05/13 17:54
    • good
    • 0

>同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。



それは負荷ではなくてCPUが32bit,64bitどちらに最適化されてるかだと思いますよ。
Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。

http://pc.watch.impress.co.jp/docs/2006/0718/kai …

この回答への補足

ありがとうございます。

>Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。

CPU Core2Quad Q6600でしたが、なるほどそういうことですか。

いまのCorei7とかだったら64Bitの方が早いのかもしれませんね。

補足日時:2012/05/13 17:48
    • good
    • 0

32Bit-CPUで4GiB以上のメモリを扱う技術として物理アドレス拡張(ぶつりあどれすかくちょう、Physical Address Extension - PAE )があります。


 インテル社のPentium Pro以降のP6マイクロアーキテクチャで追加されたアドレス空間の拡張機能です。
http://ja.wikipedia.org/wiki/%E7%89%A9%E7%90%86% …

Linuxでは、例えばPuppy Linuxのエディションの一つであるSlacko 5.3.3 では32Bit版ですが
4GBを超えるメモリー(最大64GB)に対応したPAE版があります。
http://puppylinux.org/wikka/SlackoNews 

この回答への補足

ありがとうございます。

そういうのがあるとは知りませんでした。

補足日時:2012/05/13 15:41
    • good
    • 0

>CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。



いいえ、カーネルだけでなく実行用バイナリも32bit版と64bit版は異なります。
カーネルを4G以上利用できるようにしても、実行用バイナリが32bit版ならプログラムとしては4G以上は利用できません。

>64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。

何が「やはり」なのか私にはわかりかねます。
32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。

この回答への補足

>何が「やはり」なのか私にはわかりかねます。
32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。

同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。

補足日時:2012/05/13 15:40
    • good
    • 0

>Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。



「認識されない」ではなくて「利用できない」ですね。

で、ちょっと誤解のある書き方だったので申し訳ないのですが
「利用できない」のは多くのディストリビューションの標準のインストール状態だと「利用できない」だろうということであって
「利用できる」カーネルを使用するようにすれば利用できます。

この回答への補足

>「利用できる」カーネルを使用するようにすれば利用できます。

CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。

64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。

補足日時:2012/05/13 12:46
    • good
    • 0

あります。

この回答への補足

ありがとうございます。

あるんですか。

Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。

補足日時:2012/05/13 11:58
    • good
    • 0

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

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

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

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

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

Qなぜubuntuは32bit版が推薦?

なぜUbuntu Linuxでは32ビット版が推薦されるんですか?もう64ビットのパソコンが普及しているこの時代なのに。

せっかく64ビットのパソコンあるのだから64ビット版を使いたいですよね。確かに動作はあまり変わらないですが。

理由がわかりません。

Aベストアンサー

64bitの環境が整備の途上なので、壁に当たる事が多く、初心者は直ぐ行き詰まる
可能性が大きいのです。

PAE(メモリ拡張機能)で32bitでも4GB以上のメモリが使用出来ますので、
64bitを使用する優位性が薄れます。

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

Qアプリケーションの最大メモリサイズを調べる方法

お世話になります。

RedhatEnterpriseLinux ES4およびAS3において
各アプリケーション用に割り当てられている
最大のメモリサイズを調べるにはどのようにすれば良いでしょうか?

Aベストアンサー

「各アプリケーション用に割り当てられている最大のメモリサイズ」とは違うかも知れませんが…
動作中のプロセスのPIDをpsコマンドなどで調べた上で、
/proc/PID/statusを見ると、VmPeakというのがあります。
おそらく最大使用メモリ…かと思われます。

# アドレス空間というコトであれば、各プロセスともに32Bitだと4G、うち1G前後がカーネル空間だったかと。

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

QUbuntuに必要なSSDの容量について

こんにちは。
UbuntuかLinux mintをインストールするパソコンについてです。
64GBのSSDを使うつもりなのですが、Linuxだとどれくらいの容量のシステムドライブを用意しておくべきなのでしょうか?
Windows8だと100か200は必要なようですが。

あと、無線LAN環境でもSSDの速度を体感できますか?
ネットにつながる速度がボトルネックとなってSSDの意味がなくなったりしますか?
私がパソコンでする作業といえば、ほぼGoogle Chromeで完結しています。

よろしくおねがいします。

Aベストアンサー

質問者さんは恐らくLinuxについては初心者さんという前提で解答します。

>64GBのSSDを使うつもりなのですが
十分ですね。十分すぎます。

ウブンツをインストールしても4Gも使用しないでしょうから、後の60G使いたい放題でしょう。

>Windows8だと100か200は必要
絶対必要じゃありませんね。Windows8をインストールするのに必要は容量はせいぜい20G位でしょう。

あとは、アプリケーションや、データをワンサカ入れれば100や、200はいっぱいになってしまいますから、
そういう意味では、100でも200でも足りない可能性があります。

結局何がやりたいのかによります。

例えば、冷蔵庫を買うとして、冷凍室が400mlで足りるか否かは、どのように使用するかによりますよね?
ひとり暮らしなのか、家族4人で暮らすのか、もしくは飲食店で使用したいのか?

どうように、ウブンツで何をしたいのかによって、必要な容量が変わってきます。

ただ、ウブンツをインストールしてちょっと使ってみる程度であれば64Gもあれば十分です。

また、SSDにするのは正解です。無線LANだろうが、優先LANだろうが、同じ容量であればHDとSSDで比べれば
大抵の場合SSDのほうが早いです。つまりはPCのスペックがよくなりますので、
SSDを搭載できるのであれば、SSDにしたほうがいいです。

質問者さんは恐らくLinuxについては初心者さんという前提で解答します。

>64GBのSSDを使うつもりなのですが
十分ですね。十分すぎます。

ウブンツをインストールしても4Gも使用しないでしょうから、後の60G使いたい放題でしょう。

>Windows8だと100か200は必要
絶対必要じゃありませんね。Windows8をインストールするのに必要は容量はせいぜい20G位でしょう。

あとは、アプリケーションや、データをワンサカ入れれば100や、200はいっぱいになってしまいますから、
そういう意味では、100でも200でも足りない...続きを読む

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

Qレッドハットのバージョン確認方法

自分のサーバで使用しているREDHATのバージョン確認はどうすればいいのでしょうか?

more /etc/issue
とやっても英文しか出てきませんでした。

uname -all
でもカーネルのバージョンは出るのですが、REDHATのバージョンは出ませんでした。

Aベストアンサー

> more /etc/issue
> とやっても英文しか出てきませんでした。

その英文にはRedHatのバージョンは書いてなかったのですか?
書いていなかったとしたら、管理者により編集されている可能性
がありますね。

cat /etc/redhat-release

ではいかがでしょう?
やっぱり英文ですけど。

rpm -q redhat-release

でもいいかも

Qtopコマンドで表示されるVIRT、RESおよびSWAPの意味について

topコマンドで表示されるVIRT、RESおよびSWAPの意味について教えてください。
CentOS5.4上で動作しているアプリケーションの使用メモリについて調査しています。
サーバのメモリ容量は512MBで、この上でスワップアウトしないようにアプリケーションの起動数(常駐)を調整しようとしています。

topコマンドでプロセスが使用している物理メモリ容量はRES項目を見れば良いことがわかっていますが、VIRT(仮想メモリの総量)とSWAP(スワップされたサイズ)が具体的に何を示しているのかがわからず、困っています。

topコマンドの出力結果は下の通りです。
この検証用サーバでは暫定的にパーティション設定でスワップ領域を作成していません。
しかしtopコマンドではVIRTとRESの数値は差異があり、SWAP項目も大きな値を示しているプロセスがあります。

スワップ領域が無いのではtopコマンドはVIRTとRESが同じになり、SWAPはゼロとなると予想していたのですがどうしてならないのですか?

top - 03:35:44 up 36 min, 3 users, load average: 0.13, 0.17, 0.20
Tasks: 90 total,  1 running, 89 sleeping,  0 stopped,  0 zombie
Cpu(s): 0.0%us, 1.3%sy, 0.0%ni, 98.0%id, 0.0%wa, 0.0%hi, 0.7%si, 0.0%st
Mem:  515340k total,  452152k used,  63188k free,  18132k buffers
Swap:    0k total,    0k used,    0k free,  347404k cached

 PID USER    PR NI VIRT RES SHR S %CPU %MEM  TIME+ SWAP COMMAND
 4602 tomcat  25  0 645m 28m 6996 S 0.0 5.8  0:04.12 616m java
 2227 root   34  19 25656 10m 2108 S 0.0 2.0  0:00.12 14m yum-updatesd
 1680 root   17  0 11580 9964 240 S 0.0 1.9  0:00.02 1616 restorecond
 1936 haldaemo 18  0 5472 3676 1688 S 0.0 0.7  0:01.20 1796 hald
 2499 root   18  0 10540 2916 1504 S 0.0 0.6  0:00.03 7624 httpd
 3672 root   15  0 10064 2888 2308 S 0.7 0.6  0:02.50 7176 sshd
 3927 root   20  0 9916 2880 2308 S 0.0 0.6  0:00.34 7036 sshd
 2054 root   18  0 10116 2328 1696 S 0.0 0.5  0:00.04 7788 cupsd
 2500 apache  25  0 10540 2088 640 S 0.0 0.4  0:00.00 8452 httpd

どうしてもズレるので画像を添付してます。

topコマンドで表示されるVIRT、RESおよびSWAPの意味について教えてください。
CentOS5.4上で動作しているアプリケーションの使用メモリについて調査しています。
サーバのメモリ容量は512MBで、この上でスワップアウトしないようにアプリケーションの起動数(常駐)を調整しようとしています。

topコマンドでプロセスが使用している物理メモリ容量はRES項目を見れば良いことがわかっていますが、VIRT(仮想メモリの総量)とSWAP(スワップされたサイズ)が具体的に何を示しているのかがわからず、困っています。
...続きを読む

Aベストアンサー

答えにたどり着く前に、若干長めの説明が必要です。

> topコマンドで表示されるVIRT、RESおよびSWAPの意味について教えてください。

 RESは、ご認識の通り、そのプロセスの物理メモリ使用量です。

 VIRTとして表示されている仮想メモリ総量とは、そのプロセスの
仮想アドレス空間の中で、有効となっているページの総量です。
これに計上されるのは、参考リンクの「仮想記憶の概念図」でカラフルに
描かれている「物理メモリ」や「スワップ」に対応するページのほか、
以下のようなものも含まれます。

・プロセスが確保したメモリのうち、まだ一回もアクセスして
 いない部分。
  ⇒アクセスしたときに初めて物理メモリが割り当てられ、
   RESにも計上されていきます。
  (javaのRESに比べてかなり大きいVIRTは、これによるものと
   思われます。大きなヒープサイズを指定していませんか?)

・プロセスが ファイルを仮想メモリ空間にmmap(2) したが、
 まだ一回もアクセスしていない部分。
  ⇒Linux(UNIX) には、あたかもメモリをアクセスするかのように
   ファイルを読み書きできる mmap(2) という機能があり、
   かなり多用されています。mmap直後のファイルは、
   VIRTには計上されますが、物理メモリには読み込まれずRESには計上
   されません。ファイルをmmapした仮想メモリ空間にアクセスした
   部分が、物理メモリに読み込まれRESに計上されます。

> スワップ領域が無いのではtopコマンドはVIRTとRESが同じになり、
> SWAPはゼロとなると予想していたのですがどうしてならないのですか?

実は、SWAPとして表示される数値は、単に VIRT と RES の差です。

VERT(仮想メモリ総量)の中には、物理メモリ(RES)やスワップ領域の
使用量だけなく上記で挙げたような仮想空間の部分の合計が含まれ
ますから、スワップ領域がゼロでも、上記で挙げたような空間が
SWAP として表れているのです。

個人的にはこの数値をSWAPと呼ぶのは、かなり不適切だと思いますが、
多くのLinuxディストリビューションのtopコマンドで表示される
SWAP欄は、そういう計算をしているということです。

参考URL:http://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E8%A8%98%E6%86%B6

答えにたどり着く前に、若干長めの説明が必要です。

> topコマンドで表示されるVIRT、RESおよびSWAPの意味について教えてください。

 RESは、ご認識の通り、そのプロセスの物理メモリ使用量です。

 VIRTとして表示されている仮想メモリ総量とは、そのプロセスの
仮想アドレス空間の中で、有効となっているページの総量です。
これに計上されるのは、参考リンクの「仮想記憶の概念図」でカラフルに
描かれている「物理メモリ」や「スワップ」に対応するページのほか、
以下のようなものも含まれます...続きを読む

QLinuxのSwap領域は、なぜ実メモリと同等か2倍程度?

「LinuxのSwap領域は、実メモリと同等か2倍程度」
取りましょう、とよく目にするのですが、
根拠を教えてください。

多ければよいと言う訳でもなさそうだし、
疑問に思っています。

よろしくお願いします。

Aベストアンサー

他の方が書いていますが、メモリが高価だった(というか大容量メモリが無かった)時代の話です。
実メモリが4MBしかないとして、OS含めて20MBのメモリを必要とするプログラムを動かしたいとします。そうすると、差し引き最低16MBのスワップ領域が必要です。この場合だと、実メモリの4倍ですね。こういうケースでは一応動くにしてもページングが多発して実用に耐えない速度になり、もしくはOSの動作も不安定になります。

この、「ページングが多発して実用に耐えない速度」の目安が実メモリの2倍という経験値です。つまり、実メモリが4MBしかないなら、せいぜいスワップ8MBで合計12MB位の仮想メモリしかそのコンピュータでは使えない(20MBのメモリを必要とするプログラムは動かせない)ということです。

今の時代だと、必要仮想メモリをすべて実メモリでまかなえるならスワップ領域は必要ありません。いくら大きく定義しても良いですが、実メモリからあふれないわけですからほとんど使われません。

もちろん今でも「ページングが多発して実用に耐えない速度の目安が実メモリの2倍」という経験則はおおむね適用できると思うので、仮に大規模な科学技術シミュレーション計算で10GBのメモリ空間が必要ならば、実メモリは3ないし5GB程度必要と言えます。もちろん1GBしかなくても計算は出来るでしょうがCPU能力の大半が計算で無くページングに使われる事になります(もちろんプログラムによりますが)。

他の方が書いていますが、メモリが高価だった(というか大容量メモリが無かった)時代の話です。
実メモリが4MBしかないとして、OS含めて20MBのメモリを必要とするプログラムを動かしたいとします。そうすると、差し引き最低16MBのスワップ領域が必要です。この場合だと、実メモリの4倍ですね。こういうケースでは一応動くにしてもページングが多発して実用に耐えない速度になり、もしくはOSの動作も不安定になります。

この、「ページングが多発して実用に耐えない速度」の目安が実メモリの2倍という経験値です...続きを読む

Q仮想メモリを表示するLinuxコマンド教えて下さい

インターネットで調べても、プロセスごとの仮想メモリを表示するコマンド
(top)しか分かりません。

全体の仮想メモリ使用率あるいは使用量が分かるコマンドってありますか?
ないなら、合計するしかないですか?

Aベストアンサー

No3です。
>topコマンドのMem:のusedとswapのusedを足しても仮想メモリは求まりますか?
>また、物理メモリはMem:のusedですか?

>Mem: 127240k total, 124732k used, 2508k free, 2644k buffers
>Swap: 1028152k total, 169640k used, 858512k free, 19112k cached

Memは物理メモリです。

仮想メモリ使用量=物理メモリ使用量ーバッファー量ーキャッシュ量+Swap使用量
124732-2644-19112+169640=272616
ですね。

物理メモリ量がぎりぎりですね。物理128MBに対して仮想が270MBくらいある。
物理メモリは仮想メモリの1/2~1/3は必要です。これ以上稼働プログラムを増やすなら、物理メモリを増設したほうがいいでしょう。


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

人気Q&Aランキング

おすすめ情報