これら2つのバージョンを持つ新しいソフトウェアをインストールしたいので、どちらをインストールするかを知る必要があります。
Macの32ビットまたは64ビットの機能を知るにはどうすればよいですか?
これら2つのバージョンを持つ新しいソフトウェアをインストールしたいので、どちらをインストールするかを知る必要があります。
Macの32ビットまたは64ビットの機能を知るにはどうすればよいですか?
回答:
32ビットカーネルを実行しているか(一部のデバイスドライバーにとって重要)カーネルを実行しているかを確認するには、システムプロファイラーを起動し、[ コンテンツ]セクションの[ ソフトウェア ] 見出しをクリックします。
64ビットカーネルを実行している場合は64ビットカーネルと拡張機能の行にYesと表示され、32ビットカーネルを実行している場合はNoと表示されます。
注:Mac OS X 10.6 Snow Leopardは、32ビットIntel Macを実行できる最後のリリースであり、Mac OS X 10.7 Lion以降はデフォルトで64ビットです。さらに、システムプロファイラーはOS X 10.7でシステム情報に名前が変更されました。
これをコマンドラインで実行します。
getconf LONG_BIT
echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Appleのこのナレッジベースの記事は、MacBook Proの年齢に依存するため、正しい答えを提供するはずです。
基本的に、2008 MacBookよりも新しいものがある場合は、64ビットプロセッサとOSがあります…
これがチート表です
別のオプションはsysctl
、シェルで使用することです:
$ sysctl hw.cpu64bit_capable
CPUが64ビットプログラムを実行できる場合は1を表示し、それ以外の場合は0を表示します。
すべての答えからわかるように、Macは32ビットと64ビットの分割線がすべてぼやけているという点で、他のオペレーティングシステム(OS)とは異なります。64ビットCPUで32ビットコードを実行できます。
このテーマの素晴らしい概要は、Appleの64ビット移行ガイドにあります。この移行は、2005年4月29日にTigerがリリースされる前に開始され、現在も行われています。
64ビットコンピューティングとは
このドキュメントの目的上、64ビットコンピューティングは、64ビットアドレス空間のサポート、つまり1つの実行可能プログラムによる4 GBを超えるメモリの同時使用のサポートとして定義されています。
バージョン10.4以降、Mac OS XはG5ベースのMacintoshコンピューターおよび64ビット対応のIntel Macintoshコンピューターでコマンドラインの64ビット実行可能ファイルをサポートしています。
バージョン10.5以降、Mac OS XはG5ベースおよび64ビット対応のIntel Macintoshコンピューターでフル機能の64ビットアプリケーションをサポートします。
Snow Leopard以降、Mac OS Xは一部のIntelコンピューターで64ビットカーネルを使用しています。
また、「64ビット」のCPUには、まだ32ビット幅しかない部分があります。同様に、「32ビット」のCPUには、128ビット(またはそれ以上)幅の部分もあります。これが、ほとんどの人がハードウェアが「64ビット」か「64ビット」かではなく、特定のプログラムのアドレス空間に注目する理由です
より具体的な質問に到達するまで、それは本当に重要ではありません。なぜこれについて尋ねているのですか?この一般的な概要が、人々が自分のビットを議論しているときに本当に意味することを理解するのに役立つことを願っています。
ターミナルウィンドウで入力しuname -m
ます。x86_64を取得したら、64ビットOSxを実行しています。
完全な出力は次のようになります。
Darwin Macbook-Air.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 i386 MacBookAir4,2 Darwin
Appleメニューに移動し、「このMacについて」を選択します。Core Duoプロセッサを使用している場合、32ビットCPUを使用しています。それ以外の場合(Core 2 Duo、Xeon、i3、i5、i7、その他)、64ビットCPUがあります。
Mac OS Xはかなりビットネスに依存しないため、どちらでも動作します。まだ疑問がある場合は、32ビットバージョンを使用してください。
arch
引数なしのコマンドは、マシンのアーキテクチャタイプを表示します。
結果(arch(1)
マンページから):
i386 32-bit intel
ppc 32-bit powerpc
ppc64 64-bit powerpc
x86_64 64-bit intel
アクティビティモニターを実行し、kernel_taskという名前のプロセスを見つけます。次に、[種類]列を確認します。Intelと表示されている場合、現在32ビットモードを実行しています。それが言う場合は、インテル(64ビット)、そしてテキストが言うように、あなたは、64ビットモードを実行しています。
注:検索ボックス(フィルター)の横のドロップダウンから、すべてのプロセスを表示する必要があります。
次に、使用しているプロセッサとサポートされているモードに関する@Nate Birdの回答を確認できます。
OS Xには全体的な32/64ビットモードはありません。CPUの能力とプログラムがサポートするものに基づいて、単に「最適な」利用可能なモードで各プログラムを実行します。多くのOS Xプログラムはユニバーサルバイナリ形式で提供されます。つまり、同じファイルに複数のバージョン(PowerPC 32ビット、PowerPC 64ビット、Intel 32ビット、Intel 64ビットの組み合わせ)が含まれています。
Eclipseはどうやらこの方法では提供されないため、ダウンロードするバージョンを決定する必要があります。あなたがデバッグしようとしているものと同じモードで実行する必要があるかどうかを知るほど十分に私はそれを熟知していません。その場合は、プログラムを実行し、アクティビティモニターで実行して、どのモードで実行されているかを確認します。Eclipseを同じモードにする必要がない場合(またはJavaコードをEclipse内で実行する場合)、 1つ(32ビットのみのCPU、つまりCore SoloまたはCore Duoを使用している場合を除く)。
コマンドラインで実行できます...
(
printf '\n\n'
echo 'System Software Overview:'
system_profiler SPSoftwareDataType | sed -n '/64-bit/s/[[:space:]]*\(.*\)/\1/p'
ioreg -l -p IODeviceTree | sed -n '/firmware\-abi/s/.*"\([^"]*\)".*"\([^"]*\)".*/\1: \2/p'
printf '\n\n'
echo 'Java:'
#man java_home | cat
#/usr/libexec/java_home -h
#/usr/libexec/java_home -V
#/usr/libexec/java_home -X
/usr/libexec/java_home -d 32
/usr/libexec/java_home -d 64
printf '\n\n'
)
# sample output:
#
# System Software Overview:
# 64-bit Kernel and Extensions: No
# firmware-abi: EFI64
#
# Java:
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
# /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Gordon Davissonがすでに述べたように、ファットバイナリにはプログラムの32ビットと64ビットの両方の実行可能ファイルが含まれる場合があります(複数アーキテクチャ、シングルビルドも参照)。
file /mach_kernel /usr/lib/libSystem.dylib
getconf LONG_BIT
の端末から、それがないことジェダイウェイ、当然のことかもしれません