• ベストアンサー

Linux 32Bitと64Bitのメモリーの関係

Windowsでは32Bit版だとメモリーが3.5GBでしたか、最大でもそれくらいしか使用できないという制限がありましたが。 Linux は32Bitと64BitとではWindowsのように認識できるメモリーの容量に制限があるのですか。

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.8

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では無かったとも言えます)

alien5
質問者

補足

ありがとうございます。 >ただ、ほとんどの32bit版Linuxディストリビューションは、PentiumIIやIIIに最適化されていて 64bit版はCore2Duoとかに最適化されています。 なるほどそうですか。 ubuntu 11.10 64Bit版をCPUがPentium4のパソコンにインストールしたのですが32Bit版の時と比べたら明らかに動作が重かったです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (9)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.10

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

alien5
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.9

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

alien5
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.7

>Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。 まったく違う。 MacOSXはBSD系。Linuxとはソースの互換はない。だからメモリ管理は別。 それこそ同じだったらライセンスの問題が発生する。

alien5
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
noname#242220
noname#242220
回答No.6

Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。 CPU自体は64ビット動作で、使用する『カーネル』が 32か64ビットの違いがまず有ります。 それからアプリに関しても64ビット対応としてコンパイルする必要が有ります。 そして64ビットカーネルの環境で32ビットカーネルアプリを動作させる環境が有ります。 Linux自体がこの様に成っている場合はWindowsの様なメモリ制限は無い事に成ります。

alien5
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.5

>同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。 それは負荷ではなくてCPUが32bit,64bitどちらに最適化されてるかだと思いますよ。 Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。 http://pc.watch.impress.co.jp/docs/2006/0718/kaigai288.htm

alien5
質問者

補足

ありがとうございます。 >Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。 CPU Core2Quad Q6600でしたが、なるほどそういうことですか。 いまのCorei7とかだったら64Bitの方が早いのかもしれませんね。

全文を見る
すると、全ての回答が全文表示されます。
  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.4

32Bit-CPUで4GiB以上のメモリを扱う技術として物理アドレス拡張(ぶつりあどれすかくちょう、Physical Address Extension - PAE )があります。  インテル社のPentium Pro以降のP6マイクロアーキテクチャで追加されたアドレス空間の拡張機能です。 http://ja.wikipedia.org/wiki/%E7%89%A9%E7%90%86%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E6%8B%A1%E5%BC%B5 Linuxでは、例えばPuppy Linuxのエディションの一つであるSlacko 5.3.3 では32Bit版ですが 4GBを超えるメモリー(最大64GB)に対応したPAE版があります。 http://puppylinux.org/wikka/SlackoNews 

alien5
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.3

>CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。 いいえ、カーネルだけでなく実行用バイナリも32bit版と64bit版は異なります。 カーネルを4G以上利用できるようにしても、実行用バイナリが32bit版ならプログラムとしては4G以上は利用できません。 >64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。 何が「やはり」なのか私にはわかりかねます。 32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。

alien5
質問者

補足

>何が「やはり」なのか私にはわかりかねます。 32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。 同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.2

>Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。 「認識されない」ではなくて「利用できない」ですね。 で、ちょっと誤解のある書き方だったので申し訳ないのですが 「利用できない」のは多くのディストリビューションの標準のインストール状態だと「利用できない」だろうということであって 「利用できる」カーネルを使用するようにすれば利用できます。

alien5
質問者

補足

>「利用できる」カーネルを使用するようにすれば利用できます。 CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。 64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。

全文を見る
すると、全ての回答が全文表示されます。
  • wormhole
  • ベストアンサー率28% (1619/5653)
回答No.1

あります。

alien5
質問者

補足

ありがとうございます。 あるんですか。 Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Windows7の32bitと64bitは何が違うんでしょうか?

    Windows7の32bitと64bitは何が違うんでしょうか? Windows7搭載機を購入しようと考えているのですが、32bitと64bitとOSがありますよね。 あれっていうのはどういう風に違いがあるのでしょうか? CPUと違ってbit数が2倍になったから処理が早くなるとは思えないのですが・・・ 私が認識していることとしては、ソフトの中で32bitでは使用できても64bitでは使用できないものがあるとかその程度。 あと、4GBのメモリーを載せていても32bitでは3GB程度しか認識しないと聞きましたがそうなんでしょうか? それは64bitの場合はどうなんでしょうか?

  • Windowsの32bitと64bitですが

    新しく出たWindows 10にも32bitと64bitの両方が用意されてます。 そこで質問ですが。 (1)Win10はこれまでのWindowsとはちがって、10よりバージョンが変わることはないということになってますが。ということは32bit版のアプリはまだまだこれからも出てくることもあるし、使えると考えていいのでしょうか。 (2)結局、32bit版がなくなるのはまだまだ先のことなんでしょうか。 (3)どうしても64bitでしか動かないアプリとは、具体的にどんなのがあるのでしょうか。 (4)32bit OSのメモリー4GBと64bit OSでのメモリー 8GBは相対的には同じ容量ということになると思うのですが、インターネットとエクセルくらいの使用なら64bitにする意味はないのでしょうか。 (5)マイクロソフトはこれまで、Win3.1,Win95,Win ME,Vista,XP,Win7,Win10というふうにOSそのものを変えてユーザーに買い替えさせてきましたが、それならなぜ、Win10で思い切って64bit版しかないものにしなかったのでしょうか。そこまでユーザーを裏切ることはさすがにできなかったということでしょうか。 そんな疑問がわきました。 よろしく。

  • 32bitと64bitのメモリー認識に付いて

    当方FMV-D5295で、WIN7PRO 64bitを使っています。 メモリーは、2GBを搭載しています。 そこで質問なんですが、FMV-D5295のメーカー仕様を見てみると、最大メモリー認識は4GB(32bit)となっており、64bitでの説明が記載されていません。 この機種で、8GBの搭載は可能なんですか? ご存知の方、教えて頂きたいと思います。

  • Windows7 64bit版とメモリー増設

    今までWindowsXP 32bit版をメモリー4GBで使っていましたが、Windws7 64bit版をインストールしデュアル環境にしました。 比べてみると微妙にWindows7のほうが快適に感じます。 64bitだと4GB以上の容量を認識し使用することができますが、増設した場合、どこがどのように違うのでしょうか? 64bit対応のソフトを使用する場合はわかりますが、32bit対応ソフトを使用する場合でも増量するメリットはあるのでしょうか? また、増量するとしたらどれぐらいがいいのですか? 最近、メモリーも安くなっているので4GBか8GBの増設を考えています。 今後の流れとして64bit対応のソフト購入も視野に入れて教えていただけると助かります。

  • 32bitから64bitへの移行

     現在、Windows7の32bit版を使用しているのですが、メモリーを増やしたいため64bitへの移行を考えています。  PCは、64bitに対応していることを確認しました。  クリーンインストールになることも分かっています。  使用するソフト、ドライバーの確認もしました。  ここで、64bit版のOSを購入することになるのですが、アップグレード版の購入で良いのでしょうか。  過去ログがあるのかもと、さがしましたが見つけられなかったので、お教え下さい。

  • Win7 32bitを64bitへするにあたって

    今、Windows 7 32bit メモリ 4GB Core i 5 のデスクトップPCを使用しています。 64bitのほうが動作が軽いとのことで64Bitにしようと思っています。 そこでいろいろ調べたところ、いくつか疑問が上がったので質問させていただきます。 1 PCによっては64bitにすることで逆に動作が遅くなる可能もあるそうなんですが、そこのところはどうなのでしょうか? (その調べたサイトによると32bitに最適化されているマシンのため、64bitにすると重くなるそうです) 2 32bitから64bitにかえるためには、64BitのWindows7のOSを買ってきてクリーンインストールすればいいだけなのですか?ドライバがないと~~~などと書いてあったのでそこの部分が心配です。 3 32Bitはメモリが4GBまで認識すると聞きました。今現在の時点で4GBあるので64bitにしても認識するメモリの量は変わらなさそうなので64bitにしなくても動作の早さは変わらないのではないか?という疑問が浮かびました。 そこはどうなのでしょうか?やはり同じ4GBなので増設でもしない限りは動作は変わらないでしょうか?

  • Linuxの32bit版と64bit版

    ubuntuとかCentOSにも32bit版と64bit版がありますが、32bitと64bitでどのようなちがいがあるのでしょうか。  やはり性能上の差はありますか。 また、Windowsなら32bit版のアプリを64bit版でやろうとするとうまく動かないとかいうことがありますが、Linuxでもそんなことはあるのでしょうか。 自分の経験ではubuntuの32bit版と64bit版とでは同じパソコンにインストールした場合、やはり、64bitの方が少し動作が重かったです。

  • ホストOSが32bit、ゲストOSが64bitだとメモリー容量は?

    よろしくお願いいたします。 仮想化を行った際にメモリー認識容量がどうなるか教えていただけませんか? ホストOSが32bit、ゲストOSが64bitの場合、 ゲストOSは4GBを超えてメモリーを管理できるのでしょうか? それとも、ホストOSの範囲(4GB以下)を超えられないのでしょうか? よろしくお願いいたします。

  • 4GB MemoryがWindowsで認識出来ない

    FAQで 「これは32bit版OSの制限によるものです。 32bit版のWindows XPやWindows Vistaでは最大4GBのメモリ容量に対応しておりますが、I/Oデバイスに割り当てられる仮想メモリ容量を含めて最大4GBの認識となります。 この為、32bit版のWindowsが認識できるメモリの最大容量は、4GBから、I/Oデバイスに割り当てられた仮想メモリ容量を引いた値となります。 また、PCIスロットなどに増設をしている場合はI/Oデバイス割り当てられる仮想メモリが増加しますので、認識するメモリ容量はさらに減少します。 」 とありますが、私の場合3GBから4GBにしたのにWindows VistaのTask Managerで見るとキッカリ3GBと認識されて、3BG→4GBへ増設した意味が無いように見えます。 PCIカードを1枚増設していますが減るメモリ量は1GBになるのでしょうか? そうだとすると、今回の3GB→4GBの増設は意味があったのでしょうか?

  • 32Bitと64Bit

    Windows7 64Bit版を使っていますが、 バンドルされているオフィスにも32Bit版と64Bit版があるらしいのですが、 見てみたら今僕のパソコンには32ビット版がインストールされているようです。 オフィスの本を見たら64ビットも入れられるみたいなんですが、 もし64ビットを入れると何かできることが増えたりするんですか。 それともIEみたいに糞なんですか。 教えてください。

水の噴射にかかる力の計算法
このQ&Aのポイント
  • 水を噴射した時にかかる力の計算方法について教えてください。100barで3m離れた距離から水平に水を噴射し、直径50cm円の範囲に水が当たる場合の力の計算方法を知りたいです。
  • また、2.5mm口径から15ml/sで垂直に真下に向けて3cmの距離から水を噴射し、直径1cm円に水が当たる場合の力の計算方法も教えてください。
  • どうか、よろしくお願いいたします。
回答を見る