64ビットOSで64ビットプログラムを使用することの重要性


40

最近、古い32ビットバージョンから64ビットOS(Windows 7)にアップグレードしました。いくつかのアプリケーションが64ビット(DCクライアント、Tortoise SVN、グラフィックスドライバーなど)で利用可能ですが、多くはまだ32ビットアプリケーション(Firefox、Adobe Readerなど)であることに気付きました。

それでは、64ビットアプリケーションを使用することはどれほど重要ですか(パフォーマンスに関して)。私はラップトップをゲーム、コーディングなどのさまざまな用途に使用しています。


1
16ビットインストーラーでお気に入りの古いゲームをプレイしたいと思うまで待ちます。それらの下位互換性は、XP64 / 32、Vista32、および7 32で提供されますが、Vista64または7 64では提供されません。–
Alain

1
@Alain:とにかく、32ビットOSで古いゲームを実行することはできなかったので、おそらくそれほど大きな損失ではありません。
apoorv020

1
マスターオブオリオンIIとPopulous the Beginningを愛しているのは私と同じです;)とにかく、Windows Virtual PC +古いOSインストールCDがトリックを行い、デュアルブートからあなたを救います。
アラン

ユーザーの観点から私が気づいた最大の改善は、2GB以上のファイルをロードできることです。特に、Adobeソフトウェアで大きな画像を扱う場合。
スヴァルドスカンペ

@Alain。さまざまなVMソフトウェアが古いOSに対してさまざまなレベルのオーディオ/ビデオドライバーをサポートしているため、それでも常に機能するとは限りません。Jewels of the Oracle IIを実行するのに時間がかかりました。
Synetech

回答:


35

64ビットアプリケーション自体を用意することはそれほど重要ではないと思います。

64ビットアプリケーションを使用する利点は、次のことができることです。

  • さらに多くのメモリにアクセス¹
  • 64ビットのレジスタ操作を実行します。²

¹64ビットプログラムの方が少し高速になる場合があります(動作方法によって異なります)。アプリケーションがメモリ不足の場合(Photoshop、3Dレンダリングなど)、64ビットバージョンを使用すると、すべてのコンピューターのメモリにアクセスできます。それなしでは、約2GBに制限されます。これはアプリケーションごとに行われるため、2つのアプリケーションが合計4GBにアクセスできます。

²64ビットオペレーティングシステムでの64ビット操作の実行は、32ビットオペレーティングシステムでの実行よりも高速です。同じことを実行するには、少なくとも2つの32ビット操作が必要です。

安定性に関しては、64ビットアプリケーションと32ビットアプリケーションに違いはありません。


私のDCクライアントは、今でははるかに改善された速度でファイルハッシュを行うと思います。
apoorv020

ハッシュを実行している場合、それは理にかなっています。それらのいくつかは、より高いビット幅で最適化できます。
ジョシュアヌルジク

SSE3のサポートのように、x86-64でCPUの能力について推測することもできます。
afrazier

4
デフォルトでは、32ビットWindowsで実行されるアプリケーションは2GBのメモリにのみアクセスできます。オペレーティングシステム全体では、すべてのアプリケーションで共有するために、合計で3GBを少し超えるアクセスがあります。
マイケルスティール

@Michael Steeleは正しい。システムで使用可能な最大メモリは通常3.12GBで、残りはハードウェアのアドレス指定用に予約されています。詳細なアカウントについては、こちらをご覧ください:support.microsoft.com/kb/929605
Steven Evers

10

64ビットOSで64ビットアプリケーションを使用する最大の利点は、システムで使用可能なすべてのメモリに完全にアクセスできることです。64ビットのメモリアドレスを使用すると、アプリケーションは対応する32ビットよりも多くのメモリにアクセスできます。

さらに、64ビットプログラムはネイティブシステムアーキテクチャを使用しているため、32ビットプログラムよりも「優れた」動作をします。メモリ読み取りなどの操作はネイティブに実行されます。これは、OSがアプリケーションが使用しているコマンドを「変換」(メモリのパック/アンパックなど)する余分な作業を行う必要がないことを意味します。

ただし、Firefox、Word、Adobe Readerなどのほとんどのプログラムは、ユーザーの入力を待つことにほとんどの時間を費やしているため、効率は必ずしも最大の関心事ではありません。また、これらのアプリケーションのほとんどは(現時点では)64ビットにアクセスするために追加のメモリを必要としません。

グラフィックドライバーなどのプログラムは効率的に動作する必要があり、おそらくより高いメモリレジスタにアクセスできるため、64ビットである必要があります。


1
システムドライバは、特定のメモリレジスタにアクセスする必要がある場合、多くの場合64ビットである必要があります。私はcertan物事が64ビットシステム上で32ビットドライバで動作します信じていますが、グラフィックスカードのような集中的な何もない
ジョシュアNurczyk

1
@Joshua:システムドライバーは、OSとマシンアーチに本当に依存しています。一部の64ビットCPUにはモードがなく、64ビット命令が追加されています。x86_64には、64から32に戻るための高価なモードスイッチがあるため、ドライバーはほとんど常に64ビットである必要があります。
ザンリンクス

仕事が「より良い」という意味を説明してください。
グレンビュージェフ

5

はい、64ビットオペレーティングシステムで32ビットアプリを問題なく実行できます。スペースを浪費する別の問題があります-ライブラリ。基本的にアプリは必要な適切なライブラリをロードしますが、問題は64ビットライブラリが32ビットライブラリと互換性がないことです。

もちろん、通常、必要なライブラリはアプリケーション自体に同梱されていますが、コアライブラリ(Windowsのもの)は2回保存されます-1つは32ビット、もう1つは64ビットです。

また、1つの32ビットアプリケーションともう1つの64ビットが同時に実行されている場合、RAMでより多くのメモリを占有します。2つのアプリが独自のバージョンのライブラリをロードしたため、両方が同じライブラリを使用している場合よりも多くのRAMを使用しています。

したがって、RAMとハードドライブのスペースを節約するために、64ビットのみのアプリを実行してインストールし、64ビットバージョンが見つからない場合にのみ32ビットアプリをインストールしてください。現在、より多くのアプリが両方のバージョンで出荷されています。


4

答えは「依存する」です

グラフィックドライバやシェル拡張(Tortoise SVNなど)など、一部の32ビット「アプリケーション」は64ビットモードでは動作しません。このような場合、64ビットバージョンが必要です。

他の通常のアプリケーションの場合、それは彼らが何をするかに依存します。

たとえば、16GBのメモリがあり、非常に大きなデータベースでSQLサーバーを実行している場合、64ビットバージョンのSQLを持つことが非常に重要です。

ただし、4GBのメモリ(ビデオカードによってほぼ1GBが「盗まれた」)がある場合、メモリが不足している可能性があり、64ビットアプリケーション(より多くのメモリが必要な場合があります)を使用すると、実際にシステムが遅くなる可能性があります。

メモリの考慮事項を無視しても、64ビットモードで実行されている32ビットアプリケーションが64ビットの同等のものよりも速いか遅いか、32ビットで実行する場合よりもアプリケーションが速いか遅いかは断言できません-ビットオペレーティングシステム。

個人的に、マシン用のユーティリティまたは小さなアプリケーションを探している場合、64ビットオペレーティングシステムで動作することを確認しますが、アプリケーションが32ビットであるか64ビットであるかは通常優先順位リストでは高くありません。

Process Explorerによると、現在、Chromeを無視して、25個の64ビットプロセスと28個の32ビットプロセスが実行されています)


3

64ビットWindowsでは、32ビットアプリケーションはWOW64として知られるエミュレーションレイヤーを介して実行されます。これは、32ビットWindows OSで実行する場合には存在しない追加の制限を課します。

https://msdn.microsoft.com/en-us/library/aa384219(v=vs.85).aspxから:

WOW64でのパフォーマンスとメモリ消費

  • プロセッサハードウェア。命令エミュレーションはチップ上で実行されます。x64プロセッサでは、命令はマイクロアーキテクチャによってネイティブに実行されます。したがって、x64上のWOW64での実行速度は、32ビットWindowsでの速度に似ています。Intel Itaniumプロセッサでは、より多くのソフトウェアがエミュレーションに関与し、結果としてパフォーマンスが低下します。
  • APIサンクのオーバーヘッド。このオーバーヘッドは、NTカーネルコール自体と比較して小さいです。NTカーネル関数は、まれにしか呼び出されないように意図されています。
  • 仮想メモリサイズ。Intel Itaniumプロセッサでは、同じ32ビットアプリケーションの2つ以上のインスタンスが同時に実行されている場合、WOW64は大きなオーバーヘッドを追加します。これは、Intel Itaniumのネイティブ8 KBページが原因であり、x86アーキテクチャのネイティブ4 KBページのエミュレーションが複雑になります(書き込み可能なページはすべてマークされます。書き込み可能なページはすべてプロセス専用です)。これは、特定のプロセッサ上のターミナルサービスのスケーラビリティに悪影響を及ぼす可能性があります。これは、x64プロセッサには当てはまりません。
  • ワーキングセット。WOW64は、アプリケーションのワーキングセットのサイズを増やします。

  • WOW64を使用すると、32ビットアプリケーションで64ビットカーネルを活用できます。したがって、32ビットアプリケーションは、より多くのカーネルハンドルとウィンドウハンドルを使用できます。ただし、WOW64は各スレッドに追加の64ビットスタック(通常は512 KB)を割り当てるため、x86ベースのシステムでネイティブに実行する場合、32ビットアプリケーションはWOW64でできるだけ多くのスレッドを作成できない場合があります。さらに、WOW64自体とそれが使用するデータ構造のために、ある程度のアドレススペースが予約されています。予約量はプロセッサによって異なります。x64プロセッサよりもIntel Itaniumの方が多く予約されています。


+0。これらの制限は何ですか?回答を編集して説明してください。
忘れられない

ゾンビを掘る、私たちですか?この答えは...削ら、ほぼ6歳
アダム・ローレンス

+1。編集していただきありがとうございます!質問の新しいバリエーションを投稿しようとしましたが、「広すぎる」としてクローズされました。私の知る限り、この質問の公開バージョンはすべて、スーパーユーザーのどこでも、少なくとも6年以上前のものです。
忘れられない

1

これを短くしないでください。64ビットロック。入手できる場合は、それを使用してください。Visual Studio、SQL Server(Management Studioのみを使用する場合でも)はすべて、64ビットの実行バージョンの恩恵を受けます。価値がないとは言えません。いいえ、それは必要なことではありませんが、開発者や他のユーザー(単純なMS Wordを使用する技術者でなくても)のノートブックやラップトップの速度を改善する必要があります。貴社で64ビットを活用し、64ビットを宣伝して話してみませんか?それは本当に新しいものではありません...それは一般的になりつつあるか、一般的です。

ラップトップで合計4つのギグを完了するために4つのギグを追加しても、ユーザーは価値がないと言っているのと同じように、64ビットのメリットをあまり得られないというのはばかげています。これは、ほとんどの場合64ビットへのアップグレードが通常無料であり、RAMについては途方もなく安価であり、ユーザーの生産性が2倍向上する、欲張りなITネットワーク管理者または企業の別の例です。

いいえ、必須ではありませんが、必須です。デスクトップやラップトップなどのツールに関しては、ミニマリストは好きではありません。

64ビットのアプリがあなたがまだ「慎重」でなければならないものだと人々が言うとき、私は本当に同意しません...少なくとも最初に出てきたときほどではありません、それは確かです。

64ビットがこのような問題であれば、最近のほとんどのデスクトップとラップトップは64ビットのWindows 7に移行しません。


64ビットの「ロック」を具体的に説明できると便利です。技術的な説明がここで求められています。
グレンビュージェフ

それで、以前よりも多くのメモリを占有しなかったマシンに4gigを追加するのは理にかなっていますか?わかりました、もしそれが利用可能であればそれを使用するだろうと知っていれば、それ以外はこれは単に不必要です。これは貪欲とは関係ありませんが、より意味のあるものに投資できるというだけです。CPUをアップグレードすると、ほとんどの場合に利点があります。多くのRAMが悪いことを言っているわけではありません(16GBを持っています)が、4GBはArchインストールを非常にうまく保持するので、古いラップトップを8GBにアップグレードしません!64ビットは、しかし、sthです。実際、ほとんどの場合、右だpfの利点であること
larkey

0

完全にアプリケーションに依存します。ほとんどのアプリケーションは、32ビット形式でも64ビット形式でもまったく同じように動作します。重要なアプリケーションについては、32ビットバージョンが制限されており、質問する必要がないことをほぼ確実に認識できます。

注意すべき1つの領域は、サードパーティのサポートが不十分な64ビットバージョンのアプリケーションがある場合です。64ビット形式で利用可能なExcel 2010を考えています。Excel 64自体は完璧に機能しますが、サードパーティの拡張機能やアドオンはまだほとんど移植されていません。別の例として、Windows上のPythonを検討してください。繰り返しますが、重要な非コアモジュールの多くは、64ビット形式では入手できないか、入手が困難です。

したがって、問題のアプリケーションに64ビットが本当に必死に必要でない限り、多くの場合、32ビットバージョンを使用する方が安全です。

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