IntelベースのMacが32ビットか64ビットかを確認する方法


52

これら2つのバージョンを持つ新しいソフトウェアをインストールしたいので、どちらをインストールするかを知る必要があります。

Macの32ビットまたは64ビットの機能を知るにはどうすればよいですか?


実行しているOSのバージョンは何ですか?MacBook Proはいつ製造されましたか?
ダニエル

5
とても簡単です。Appleロゴに移動し、「このMacについて」を選択します。Core Duoと表示されている場合、32ビットです。Core 2 Duoと表示されている場合は、64ビットです(32ビットカーネルの問題を無視すると、64ビットソフトウェアが正常に実行されます)。物理的に、MBPに黒いキーボードがある場合、絶対に64ビットです。元のMBPにはシルバーキーボードがあり、32ビットユニットは2007年初頭にほとんど交換されました。したがって、2007年後半にモデルを購入した場合、64ビットを実行できるMacです。また、Lionを実行している場合、64ビットです(Lionは32ビットMacで実行されないため)。

回答:


20

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でシステム情報に名前が変更されました。


3
System Profilerが私のマシンにインストールされていないか、Spotlightがそれを見つけられないので、この答えは誰にとっても機能しません。
クリスキャロ

お使いのマシンとOSは何ですか?名前は少し前に「システム情報」に変更されました(「ユーティリティ」フォルダにあります)。
ポールルフェーブル

5
システム情報アプリを見つけました。ありがとう。他の人の利益のために答えを更新するとよいでしょう。残念ながら、システム情報アプリのソフトウェアセクションに「64ビットカーネルと拡張機能」アイテムが見つかりませんでした。私はv10.12.2を使用しています。
クリスキャロ

3
10.12を使用している場合、Macは64ビットです。32ビットMacで実行できるMac OS Xの最後のバージョンは10.6 Snow Leopardでした。
ポールルフェーブル

Mac OS X 10.7 Lionと「64ビットカーネルと拡張機能:いいえ」の設定があります。しかし、@ Greg Cain's answearの方法で検証したように、64ビットのMacBookがあると確信しています。奇妙な
-cawecoy

108

これをコマンドラインで実行します。

getconf LONG_BIT

7
私の意見ではこれが最良の答えです。そして提案:あなたのプロフィールにこれを入れてください:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Sridhar Sarnobat

7
この答えは正しい答えでなければなりません
ビクターグラツィ

29

Appleのこのナレッジベースの記事は、MacBook Proの年齢に依存するため、正しい答えを提供するはずです。

基本的に、2008 MacBookよりも新しいものがある場合は、64ビットプロセッサとOSがあります…

これがチート表です

Appleプロセッサー


これは完全なストーリーを伝えるものではありませんが、始まりです。64ビットCore 2 Duoを搭載したMacbookがありましたが、32ビットファームウェア/ EFIの結果、スタックが完全に64ビットになることはありませんでした。
スタッフィング

それは本当です。カーネルは32ビットモードでのみ実行されている可能性がありますが、それ以外はすべて64ビットであるため、この行は技術的にぼやけています。正確な時期は定かではありませんが、すべての新しいMacが100%64ビット対応になりました-それでも32ビットアプリを実行できます。
ネイトバード

別のナレッジベース記事によると、2008年初頭から2010年半ばまでのMacBook Proは64ビットカーネルをサポートしていますが、デフォルトでは使用しません。
クリスティアンシウピトゥ14

17

別のオプションはsysctl、シェルで使用することです:

$ sysctl hw.cpu64bit_capable

CPUが64ビットプログラムを実行できる場合は1を表示し、それ以外の場合は0を表示します。


12

すべての答えからわかるように、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ビット」かではなく、特定のプログラムのアドレス空間に注目する理由です

より具体的な質問に到達するまで、それは本当に重要ではありません。なぜこれについて尋ねているのですか?この一般的な概要が、人々が自分のビットを議論しているときに本当に意味することを理解するのに役立つことを願っています。


10

ターミナルウィンドウで入力し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

1
これは機能しますが、初心者ユーザーがターミナルに入る必要のない、はるかに簡単なオプションがいくつかあります。
jbharper2

また、これはカーネルのアーチのみを提供します。Core2Duo(64ビットCPU)では、そのマシンのbootromが64ビットクリーンでない場合にのみ32ビットカーネルを実行します。そのマシンで64ビットEclipseを引き続き使用できます(使用する必要があります)。
MacLemon

1
しかし、このソリューションの良いところは、クロスプラットフォームであることです(はい、私はこれがApple Stackexchangeエリアであることを知っています)。
スリダールサルノバト

6

Appleメニューに移動し、「このMacについて」を選択します。Core Duoプロセッサを使用している場合、32ビットCPUを使用しています。それ以外の場合(Core 2 Duo、Xeon、i3、i5、i7、その他)、64ビットCPUがあります。

Mac OS Xはかなりビットネスに依存しないため、どちらでも動作します。まだ疑問がある場合は、32ビットバージョンを使用してください。


3
完全を期すために、最初のIntel Mac mini(「Early 2006」)で使用されていた32 btのみの「Core Solo」プロセッサもありました。
クリスジョンセン

3

arch引数なしのコマンドは、マシンのアーキテクチャタイプを表示します。

結果(arch(1)マンページから):

i386    32-bit intel
ppc     32-bit powerpc
ppc64   64-bit powerpc
x86_64  64-bit intel

3
ええ、いいえ。私はCore i7 MBPを所有しており、雇用主のVPNソフトウェアがそれを必要とするため、32ビットカーネルを有効にしており、archはi386を返します。私のプロセッサは64ビットであり、多くの64ビットプロセスを実行していますが、これはカーネルタイプが何であるかを伝えるだけのようです。
デビッド

1
Davidが言ったこと-これは、実行中のカーネルを示しているだけです。Davidのように、私はそれを必要とするkextが必要なので32ビットカーネルを使用していますが、64ビットのユーザープロセスを問題なく実行できます。
シェルムペンドリー

3

アクティビティモニターを実行し、kernel_taskという名前のプロセスを見つけます。次に、[種類]列を確認します。Intelと表示されている場合、現在32ビットモードを実行しています。それが言う場合は、インテル(64ビット)、そしてテキストが言うように、あなたは、64ビットモードを実行しています。

注:検索ボックス(フィルター)の横のドロップダウンから、すべてのプロセスを表示する必要があります。

次に、使用しているプロセッサとサポートされているモードに関する@Nate Birdの回答を確認できます。


1
カーネルのモードは実際にはユーザーランドにとって重要ではありません。OS Xは、32ビットカーネルの下で64ビットプロセスを実行します。
ゴードンデイヴィソン

元の質問は、OSが32ビットであるか64ビットであるかであり、プロセッサのサポートされているアーキテクチャではありませんでした:)
bisko

カーネルはOSではなく、カーネルのモードは、質問者が実際に知りたいこととは無関係です。Eclipseのどのバージョンが適切ですか?
ゴードン

私が現在実行しているもの(32ビットまたは64ビット)を確実に伝える方法を見つけるのに役立ったので、私はbiskoの答えが好きです。32ビットでのみ実行されるバージョンのVMWareがあり、Lionにアップグレードすると64ビットで起動するため、起動時に3 + 2キーを押したままにして32で実行する必要があります-ビットモード。実際にVMWareを起動せずに、現在実行しているモードを知っておくと便利です。私の他のアプリケーションのいくつかは、32ビットモードでもより良く動作するようです。主な質問に対するさまざまな角度からの回答に感謝します。

biskoは正しいが、追加したいのは、アプリ>ユーティリティ>アクティビティモニター、アクティビティモニター表示CPUでトップメニューの[表示]> [列]> [種類]に加え、[表示]> [すべてのプロセス]です。カーネルは、kernel_taskだけでなく、実行中のほとんどのプロセスで64ビットを読み取ります。09 'MacBook、ヨセミテ。

2

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を使用している場合を除く)。


1

ターミナルで実行:

sysctl hw.cpu64bit_capable

が表示される場合1は、コンピューターに64ビットアーキテクチャがあることを意味します。

またはarchi386(32ビットIntel)またはx86_64(64 ビットIntel)を返すコマンドを使用します。


実行archすると「i386」が得られます。その間に、sysctl hw.cpu64bit_capableを与える1。それではどちらですか?
ガジュス

0

コマンドラインで実行できます...

(
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

1
へへ、短い道をありがとう!:-DIはちょうど好みgetconf LONG_BITの端末から、それがないことジェダイウェイ、当然のことかもしれません
Farside

0

uname -aシェルで実行して、カーネルに関する詳細を表示します。あなたはRELEASE_X86_64 x86_6464ビット版を見ることができます


0

Terminal.appを開き、以下のコマンドを実行します。

uname -m | if grep -q 64; then echo "64-bit CPU (`uname -m`)"; else echo "32-bit CPU (`uname -m`)"; fi

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