32ビットと64ビットの違いは何ですか?どちらを選択すべきですか?


142

32ビットUbuntuと64ビットUbuntuの違いは何ですか?64ビットプラットフォームのパフォーマンスが向上し、4 GBを超えるRAMを検出できると聞きました。また、一部のアプリはまだ64ビットに移植されていませんia32-libsが、64ビットマシンで実行できます。

もしそうなら、64ビットを32ビットよりもプロモートしませんか?




回答:


147

32ビットと64ビットを選択する際の主な質問は、「プロセッサは64ビットをサポートしていますか。もしそうなら、64を使用する必要があります」。

64ビットプログラムは、32ビットプログラムよりも約50%多くのメモリを使用します。この結果は次のとおりです。

  • プロセッサキャッシュに収まるコード/データが少ない->キャッシュミスが多い->超高速プロセッサは、メモリコントローラがRAMからデータをフェッチするのをより多く待機します。また、プロセッサは肥大化しているため、より多くのデータを読み取る必要があります。

  • Linuxは、ディスクをキャッシュするために割り当てられていないRAMを使用します。使用可能な空きメモリが少ない->ディスクキャッシュ用のスペースが少ない->ディスクアクセスが遅い

  • RAMがなくなってシステムがスワップを開始すると、ディスクアクセスはRAMの何千倍も遅くなるため、64ビットコード(以下を参照)の潜在的な利点は窓から飛び出します。

一方、64ビットモードのプロセッサにはより多くのレジスタがあるため、メモリにアクセスする必要はありません。また、一部の計算(64ビット数など)がより効率的であることがよくあります。したがって、一般に、メモリ制限されていないコードは、64ビットモードでわずかに高速に実行されます。

したがって、システムのRAMが2GiB以下の場合、32ビットを間違いなく選択します。4GiB以上-64ビットの利点が顕著になりつつあります。4GiBの周りは「グレーゾーン」です。自分で選択する必要があります。

以下は、1GiB RAMのVirtualBoxで実行されている(かなり古い)バニラUbuntuのスクリーンショットです。

32ビット:起動直後に388 MiBのRAMを使用し、追加のアプリケーションは実行されていません(スクリーンショット397780KiB、388MiBから)

32ビットUbuntu

64ビット: 491 MiBのRAMを使用(スクリーンショットから、503452KiB = 491MiB)

64ビットUbuntu

さらに、私のテストでは、Pythonで書かれたWebアプリケーションは64ビットマシンで最大60%のメモリを使用したため、32ビットマシンでは380秒で実行されたテストスイートが64ビットでは523秒かかりましたビット1(両方とも1GiBのRAM)。マシンがRAM制限されていない場合、結果は異なる可能性があります(phoronixテストが示すように)。

以下に、より徹底した最新のテストを示します。http//kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

空きメモリ 使用メモリ 使用されたスワップ

基本的に、10%のCPU速度の可能性と引き換えに、RAMの30%を放棄するようなものです。


1
32ビット、388M; 64ビット、498M、または約110M以上、それは2Gの30%ですか??
不合理なジョン

22
数字には同意しますが、結論には同意しません。パフォーマンスを10%改善するためにRAMを30%削減することは、今世紀の課題です!さらに、CPUを交換するよりも、追加のRAMをチャックする方がはるかに安価です。
オリ

1
ええ、私は同意しませんが、CPUでサポートされていないか、RAMをアップグレードできない場合にのみ32ビットを推奨します。 。<= 2GBの近代的なコンピューターを使用している人は、eBayに20〜30ドルを費やし、4GB必要です。10%ブーストする価値があります。
オリ

1
ここで、開いているタブがたくさんあり、JavaScriptの動作が遅い現代のブラウザがどのように機能するのか興味があります。たくさんのタブを開くことで、スワップ(8 GB RAMを含む)に遭遇することがよくあります。また、最新のWebサイトでは、多くのjavascriptライブラリなどを使用します。
nealmcb

2
これは2015年でもまだ当てはまりますか?1GBのメモリと低速のCPU(64ビット対応)を搭載したAtomタブレットにUbuntu 14.04をインストールしたいので、これを読んだ後、32ビットに強くなります。この回答を投稿してから、検討する価値のあるものは変更されましたか?特に64ビットのベースメモリ消費に関しては、32ビットのベースメモリと比較して、メモリがこのシステムの最大のボトルネックになるためです。
アンドレアスハートマン

22

技術的な詳細を学習する必要がない場合は、推奨される32ビットバージョンを選択してください。

客観的に気づきにくい場合でも、64ビットは一般に高速です。これは、64ビットのデータ幅とは関係ありませんが、命令セット全体で8個以上の共通CPUレジスタを16個使用できるためです。これにより、管理のためにより多くのメモリを浪費し、より大きなポインタを使用することの欠点は、ほとんど平準化されます。

実際的な問題:すべての人がAMD64互換のCPUを持っているわけではありません。標準のi686バージョンで64ビットをプロモートすると、ユーザーの不満が高まります。したがって、今後数年間は、平均的なユーザーに32ビットバージョンを提示することで混乱が少なくなります。64ビットバージョンはすぐに利用できるため、知識のある人にとってはまったく問題ではありません。そして、amd64ユーザーは、最初のダウンロードを除いて、そのような状況から不利な点はありません。すべてのパッケージは両方のアーキテクチャで利用可能です。

このような状況では、Ubuntuのダウンロードページは問題なく表示されます。「32ビット(推奨)」と表示されますが、「推奨」とは「コンピューターの技術的な詳細がわからない場合は問題が少ない」という意味です。ネットブック版のダウンロードページでは、2010年でも一部のIntel Atom CPUは32ビットのみであるため、選択することさえできません。
結論として、互換性の問題を避けることはまだ必要だと思います。ただし、-64が-32よりも高速であり、ターゲットシステムがサポートする場合はIF(ただしIFのみ)を推奨するという線に沿って、少なくとも光沢のある脚注が必要であることに同意します。


1
Iiは、新しいx32バイナリとABIがサポートされるときに興味深いものになります。いくつの64ビットアプリケーションがこのABIに切り替えられるかen.wikipedia.org/wiki/X32_ABIは、リソースとメモリの使用量を減らし、CPUを完全に使用します。
エマヌエーレ

32ビットが推奨される場合、Wubiが64ビットを好むのはなぜですか?
ダンダスカレスク

1
NBの64ビット版は、現在推奨される...
Wilf

5
読者への注意:この回答は4年以上前に書かれました。最近では32ビットをインストールすることはお勧めしません。Ubuntuがこれを推奨することはもうないでしょう。
thomasrutter 14年


18

32ビットおよび64ビットという用語は、コンピューターのCPUが情報を処理する方法を指します。64ビットバージョンは、32ビットシステムよりも効果的に大量のRAMを処理します。1

  • 64ビットOSを実行するには、64ビットCPUからのサポートが必要です。
    • 64ビットアプリケーションを実行するには、64ビットOSと64ビットCPUの両方からのサポートが必要です。

一般的な規則は、32ビット(OSおよびアプリケーション)は64ビットで実行されますが、64ビット(OSおよびアプリケーション)は32ビットで実行されないということです。

  • 32ビットOSは、32ビットまたは64ビットプロセッサで問題なく実行されます。
  • 32ビットアプリケーションは、32ビットまたは64ビットOSで問題なく実行されます。
  • ただし、64ビットアプリケーションは64ビットOSでのみ実行され、64ビットOSは64ビットプロセッサでのみ実行されます。

64ビットOSをインストールするには、64ビット互換CPUが必要です。PCの製造元に問い合わせて、システムに64ビット互換性があるかどうかを確認してください。

32ビットシステムには4ギガバイトのRAMメモリ制限があります。つまり、システムに4 GBを超えるRAMがインストールされている場合でも、4 GBを超えるRAMをアドレスすることはできません(すべてが使用されるわけではありません)。回避策はありますが、平均的なユーザーにとっては困難です。

注: Ubuntu 12.10以降では、PAEが自動的にサポートされます。12.10より前には、CPUに応じてPAEサポートを選択するオプションがあります。PAEは、32ビットの最大RAMを64GBに拡張します。詳細については、こちらを参照してください。

64ビット版には、帯域幅の増加、ハードウェア対応DEP(データ実行防止)、カーネル保護の強化など、追加の利点があります。

32ビットアプリケーションの大部分は64ビットシステムで引き続き動作しますが、一部のアプリケーションはまったく動作しないか、実行速度が遅くなります。

詳細については、32ビットおよび64ビットをご覧ください。

1出典: Microsoft


@Alvar CPUはPAEをサポートする必要があります。一般に、4 Gb以上のメモリがある場合や、64ビットアーキテクチャのメリットを最大限に活用したい場合は、適切な64ビットシステムをお勧めします。
ミッチ

私は理解していますが、私が言ったように、CPUはそれが機能するためにPAEをサポートする必要があります。たとえば、AtomはPAEをサポートしていません。
ミッチ

答えのメモとしてそれを追加しました。
ミッチ

PAEとソースの説明を追加しました。あなたがそれに満足していることを願っています。
アルヴァ

10

ここPhoronixで指摘したように、「Ubuntuのマルチアーキテクチャの状況が解消され、ほとんどのアプリケーションとプラグインは64ビット(Adobe FlashやJavaなど)で正常に動作し、通常64ビットは32 -ビット、x86_64バージョンに移行しない大きな理由はありません。」

それがされているが議論し、64ビットではなく32ビットのデフォルトとして表示される場合、私はあなたが最初にしていくつかのパフォーマンスのゲインを持っていると思います。これらのベンチマークをご覧ください。

また、Phoronixの「低」RAMメモリについての一言:「[S] Ubuntu開発者の中には、32ビットネットブックがまだ存在し、x86_64ソフトウェアを使用すると実行につながるRAMが2GBしかないシステムについて、メモリが少ないため、SWAPの使用量が増加します。ただし、大多数のユーザーにとっては、64ビットの世界でははるかに優れています。」

たぶん、それをインストールして、システムが頻繁にスワップを使用するかどうかを見ることができます。


3

しばらく前に、Ubuntu Precise LTSでこれを調べました。以下は、私が実行した分析の結果です。

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/low-memory-systems/readme.txt

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt

基本的に、4GB以下であれば問題ありません。4GBを超える場合は、i386-paeまたはamd64の使用を検討してください。64ビットシステムはより多くのメモリを消費します(たとえば、ポインターのサイズは64ビットです)が、64ビットコピーを使用する最適化または64ビットモードで使用可能な追加のCPUレジスターを使用する最適化により、64ビットシステムでパフォーマンスが向上する場合があります。


3

私にとって最も重要なのは、32ビットOSでvmallocの制限があるため(PAEまたは非PAEに関係なく)ZFSファイルシステムを使用できないという事実です。それが私が64ビットに再インストールする理由であり、振り返ることはありませんでした。NVIDIAでも、「トラブルシューティング」ページにvmallocの事柄に関する行がほとんどなく、ユーザーに64ビットカーネルへの切り替えを促すことで終わります。

32ビットモードでは1GBのアドレス制限があるため、最大4GBを使用できる場合でも、1GBのみが「低」と呼ばれ、残りは「ハイメモリ」であり、これはそれほど一般的ではありません。そして、最近では1GBは本当に小さい数字です。.#free -lを試してください


2

前のポスターで述べたように、64ビットと32ビットは、コンピューターによる1回の操作で移動できるデータのサイズを指します。これは、CPU上のレジスタのサイズとバスの幅に関係します(レジスタは、CPUが動作するためのデータを保持するだけで、コンシューマハードウェアでは小さく、ホームコンピューティングの開始以来成長してきました。バスは、マザーボードのさまざまな部分を接続します。バスは、データが流れる高速道路です。

問題は、ほとんどのOSが64ビット操作に移行するときに実際の問題を抱えていたことであり、ドライバーとアプリケーションのサポートが不十分です。多くの場合、アプリケーションは初期バージョンでは実際にパフォーマンスが低下していまし。ほとんどの人が深い目的でジャンプする本当の理由がないことを考えると、Linuxの力は、他のOSのよりも少し遅く、ゆっくりだが安定しているように思われます。


2

わかりやすいユーザーエクスペリエンスのために、公式のUbuntuサイトでは、より柔軟なチューニングのために32ビットバージョンを推奨しています。
ここで数えることは、データの一貫性も意味します。

賛否両論には非常に多くのポイントが存在します。私の考えでは、Intel Architecture 64ビットプロセッサ上の64ビットOSの優れたパフォーマンスは、64ビットソフトウェアとドライバーの使用に直接関係しており、通常の32ビットパフォーマンスを上回る可能性があります。

64ビットOSで32ビットソフトウェアを使用すると、パフォーマンスが低下したり、非常に異なるケースで過熱したりする場合があることに注意してください。

ただし、署名済みのコンポーネントとこのリファレンス:
Intel®Extended Memory 64 Technology:64-Bit Desktop Computing
... 4Gb +のメモリでより良い体験が可能です。

私はこれがあなたにとって良いと非常に高価なソリューションではないと考えています。

そして、両方のシステムを並行して使用することで、構成の意味と汎用性をより明確に理解できるようになります。


2

基本的に、必要に応じて64ビットバージョンを使用すると言います。

主にウェブの閲覧、YouTubeの視聴、Facebookでのハングアップ、映画の視聴などを行う場合は、これらのことを行うのに優れたハードウェアは必要ないため、32ビットの方が適しています。

Steam、WINEなどでゲームをプレイする場合、プログラムのロードを実行する場合、メディア編集を行う場合など、64ビットが最適です。

普段使いの場合は32ビットOS、高度な場合は64ビットバージョンです


1

32ビットと64ビットは、メモリチャンクのサイズ(または幅)、またはより正確にはコンピューターのCPUのメモリレジスタを指します。これは、プロセッサーが1回の操作で処理できるデータ量を定義します。32ビットと64ビットは、メモリチャンクのサイズ(または幅)、またはより正確にはコンピューターのCPUのメモリレジスタを指します。これは、プロセッサーが1回の操作で処理できるデータ量を定義します。はい、それは64ビットバージョンがより多くのデータを一度に処理できるため、より高速に動作することを意味します。


1

正直に言って、プログラムのコンパイルとビデオのエンコードに必要な時間をわずかに短縮したことを除いて、私は違いを認識していません。それ以外は、私には同じように感じています。thoに気付きましたが、パフォーマンスの面で本当に違いを生むのはビデオドライバーです。32ビットのビデオドライバーがより適切にサポートされていると思います。最近、32ビットシステムに最新のnVidia 260ドライバーをインストールしましたが、これは大きな違いをもたらしました。現在32ビットを使用しています。


1

AMD64チップでUb64を使用していますが、速度の違いを感じることができます。それは大きな後押しではありませんが、感じることができます。なぜあなたはそれぞれに10秒間試してみて、あなた自身のシステムで自分で比較してみませんか(これが問題のポイントです)?最近はインストールが非常に速いので、時間を無駄にすることはないでしょう。(tks Ubuntu!-)

Java / Flashの問題には、ネットの周りにも「良い」回避策があります...


1

私のデスクトップでは、4GB以上のRAMをサポートしているため、64ビットを実行しています。また、速度が向上します。32ビットを最適化して4GB以上のRAMを検出できることもわかっています。2番目の質問については、32ビットはi386という名前です。これは、Intelが32ビット命令/テクノロジーを開発し、AMDがそれに追随したためです。AMDは64ビットを開発し、Intelはそのテクノロジーに追いつくか、採用しました。64ビットがAmd64である理由です。


1

squallbayuのように、2011年春に17インチMacbook Pro intel i-7 8ギガRAM 500ギガハードドライブの最新のLion OSを購入したばかりだったので、64ビットがより良く機能することを望んでいました。 32ビットの方がより安定してスムーズでした。速度については何もわかりませんでした(最小の違い)私は専門家ではありませんが、64ビットの利点はソフトウェア開発者が学ぶまで気付かないと思いますその力を活用する方法..


1

他のコミュニティメンバによって明確に述べられた違いは別として、RAMが心配な場合は、いつでもzRAMをインストールできます。

zRAMに関するウィキペディアの情報:

zRamは、Linuxカーネルの実験(ステージング)モジュールです。以前は「compcache」と呼ばれていました。zRamは、ディスク上のページングを回避することでパフォーマンスを向上させ、代わりにRAMの圧縮ブロックデバイスを使用します。このブロックデバイスでは、ハードディスクドライブのスワップスペースを使用する必要があるまでページングが行われます。RAMの使用はディスクの使用よりも速いため、zRamを使用すると、特にRAMが少ない古いコンピューターで、スワップ/ページングが必要な場合にLinuxでRAMをより多く使用できます。

RAMハードウェアのコストは比較的低くても、この機能は、ネットブックやその他の低電力ラップトップ、仮想化、組み込みデバイスの場合、特に書き込み用途に依存する寿命が限られているフラッシュメモリを使用するデバイスに利点をもたらしますそのため、スワップデバイスとして使用するとすぐに摩耗します。


1

この質問が提起されてから、32ビットと64ビットの違いは変わっていません。

64ビットバージョンを使用することをお勧めします。
64ビットシステムで使用できないソフトウェアは知りません。4GB(またはそれ以上)のRAMを使用する場合は、64ビットバージョンのubuntuを使用する必要があります。


RAMが4GBしかありませんが、64ビットバージョンを使用したほうが良いですか?その質問に対する答えは、私には理解するにはあまりにも技術的すぎました。ありがとう
Cool_Coder

1
64ビット版を使用します。私はあなたがそれに問題を抱えるとは思わない。すべてのマシンで64ビットを使用していますが、問題はありません。
prophecy201

その情報をありがとう。64ビットバージョンをインストールします。
Cool_Coder

@ Cool_Coder、32ビットバージョンを検討する必要がある唯一の理由は、32ビットJavaでのみ動作するWeb / JavaベースのVPNシステムであるJuniper Networks Connectを使用している会社で働いている場合です。確かに、32ビットJavaは64ビットUbuntuにインストールできますが、それを行うのは少し苦痛です。これ以外には、4GBマシンで32ビットUbuntuを使用する他の理由はありません。
-user68186

0

より多くのメモリと可能な速度の改善に対処できることとは別に、Windows 8以降のWindowsに付属する新しいUEFI対応マシンの64ビットバージョンをダウンロードしてインストールする必要があります。

UEFIシステムの32ビットサポートに取り組んでいますが、現在、UEFIモードで起動する標準の32ビットイメージはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.