Cách kiểm tra xem máy Mac dựa trên Intel của tôi là 32 bit hay 64 bit


52

Tôi muốn cài đặt phần mềm mới có hai phiên bản này và tôi cần biết nên cài đặt phần mềm nào.

Làm cách nào để biết khả năng 32 hoặc 64 bit của máy Mac?


Phiên bản HĐH nào bạn đang chạy? MacBook Pro của bạn được sản xuất khi nào?
Daniel

5
Nó khá đơn giản. Chuyển đến logo Apple và chọn "Giới thiệu về máy Mac này." Nếu nó nói Core Duo, thì nó là 32 bit. Nếu nó nói Core 2 Duo, thì nó là 64 bit (bỏ qua vấn đề kernel 32 bit, nó sẽ chạy phần mềm 64 bit tốt). Về mặt vật lý, nếu MBP của bạn có bàn phím màu đen, nó hoàn toàn là 64 bit. Các MBP ban đầu có bàn phím màu bạc và các đơn vị 32 bit đã được thay thế vào đầu năm 2007. Vì vậy, nếu bạn đã mua mô hình của mình ngay cả trong khóa sau của năm 2007, thì đó là máy Mac có khả năng chạy 64 bit. Ngoài ra, nếu bạn đang chạy Lion, thì bạn là 64 bit (vì Lion không chạy trên máy Mac 32 bit).

Câu trả lời:


20

Để biết bạn đang chạy kernel 32 bit hay 64 bit (quan trọng đối với một số trình điều khiển thiết bị), hãy khởi chạy System Profiler và nhấp vào tiêu đề Phần mềm trong phần Nội dung .

Dòng 64-bit Kernel và Extensions sẽ nói Yes nếu bạn đang chạy kernel 64-bit và Không nếu bạn đang chạy kernel 32-bit.

Lưu ý: Mac OS X 10.6 Snow Leopard là bản phát hành cuối cùng mà Intel Mac 32 bit có thể chạy, Mac OS X 10.7 Lion trở lên, theo mặc định là 64 bit. Ngoài ra, System Profiler được đổi tên thành Thông tin hệ thống trong OS X 10.7.


3
System Profiler không được cài đặt trên máy của tôi, hoặc Spotlight không thể tìm thấy nó vì vậy câu trả lời này sẽ không hiệu quả với tất cả mọi người.
Chris Calo

Máy và hệ điều hành của bạn là gì? Tên đã được thay đổi thành "Thông tin hệ thống" một thời gian trước đây (trong thư mục Tiện ích).
Paul Lefebvre

5
Tôi đã tìm thấy ứng dụng Thông tin hệ thống. Cảm ơn. Nó sẽ là tốt để cập nhật câu trả lời vì lợi ích của người khác. Thật không may, tôi không thể tìm thấy mục "Hạt nhân và phần mở rộng 64 bit" trong phần Phần mềm của ứng dụng Thông tin hệ thống. Tôi đang ở v10.12.2.
Chris Calo

3
Nếu bạn đang sử dụng 10.12, thì máy Mac của bạn là 64 bit. Phiên bản cuối cùng của Mac OS X có thể chạy trên máy Mac 32 bit là 10.6 Snow Leopard.
Paul Lefebvre

Tôi có Mac OS X 10.7 Lion và cài đặt "Hạt nhân 64 bit và Tiện ích mở rộng: Không". Nhưng tôi chắc chắn rằng tôi có MacBook 64 bit, như tôi đã xác minh bằng phương pháp từ câu trả lời của @Greg Cain. Lạ
cawecoy

108

Chạy cái này trên dòng lệnh:

getconf LONG_BIT

7
Đây là câu trả lời tốt nhất theo ý kiến ​​của tôi. Và một gợi ý: hãy đặt cái này trong hồ sơ của bạn:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Sridhar Sarnobat

7
Câu trả lời này phải là câu trả lời đúng
Victor Grazi

29

Đây bài viết cơ sở kiến thức từ Apple nên cung cấp cho bạn câu trả lời đúng vì nó phụ thuộc vào cách thức cũ MacBook Pro là.

Về cơ bản, nếu bạn có bất cứ thứ gì mới hơn MacBook 2008, bạn có bộ xử lý 64 bit và HĐH

Đây là bảng cheat

Bộ xử lý Apple


Điều này không nói lên toàn bộ câu chuyện nhưng đó là một sự khởi đầu. Tôi đã có Macbook với Core 2 Duo 64 bit, nhưng firmware / EFI 32 bit dẫn đến một ngăn xếp không bao giờ hoàn toàn là 64 bit.
nhồi

Điều đó đúng. Dòng này bị mờ về mặt kỹ thuật vì kernel chỉ có thể chạy ở chế độ 32 bit nhưng mọi thứ khác là 64 bit. Tôi không chắc chắn chính xác khi nào nhưng tất cả các máy Mac mới hiện có khả năng 100% 64 bit - mặc dù chúng vẫn có thể chạy các ứng dụng 32 bit.
Chim Nate

Theo một bài viết cơ sở kiến ​​thức khác , MacBook Pro từ đầu năm 2008 đến giữa năm 2010 hỗ trợ kernel 64 bit, nhưng không sử dụng nó theo mặc định.
Cristian Ciupitu

17

Một tùy chọn khác là sử dụng sysctltrong trình bao:

$ sysctl hw.cpu64bit_capable

Nó sẽ hiển thị 1 nếu CPU có khả năng chạy các chương trình 64 bit và 0 nếu không.


12

Như bạn có thể đã thấy trong tất cả các câu trả lời - mac khác với các Hệ điều hành (HĐH) khác ở chỗ đường phân chia 32 bit và 64 bit đều mờ. Bạn có thể có mã 32 bit chạy trên CPU 64 bit.

Một tổng quan đẹp về chủ đề này là tại Hướng dẫn chuyển đổi 64 bit của Apple Hãy nhớ rằng, quá trình chuyển đổi này đã được bắt đầu trước khi Tiger được phát hành vào ngày 29 tháng 4 năm 2005 và vẫn đang diễn ra.

Máy tính 64 bit là gì?

Đối với mục đích của tài liệu này, điện toán 64 bit được định nghĩa là hỗ trợ cho không gian địa chỉ 64 bit, nghĩa là hỗ trợ cho việc sử dụng đồng thời hơn 4 GB bộ nhớ bởi một chương trình thực thi duy nhất, không hơn không kém.

Bắt đầu với phiên bản 10.4, Mac OS X hỗ trợ các tệp thực thi 64 bit dòng lệnh trên các máy tính Macintosh dựa trên G5 và máy tính Intel Macintosh có khả năng 64 bit.

Bắt đầu với phiên bản 10.5, Mac OS X hỗ trợ các ứng dụng 64 bit đầy đủ tính năng trên các máy tính Intel Macintosh dựa trên G5 và 64 bit.

Bắt đầu với Snow Leopard, Mac OS X sử dụng kernel 64 bit trên một số máy tính Intel.

Ngoài ra - CPU "64 bit" vẫn có các phần chỉ rộng 32 bit. Tương tự, CPU "32 bit" cũng có các phần rộng 128 bit (hoặc hơn). Đây là lý do tại sao hầu hết mọi người tập trung vào không gian địa chỉ cho một chương trình cụ thể thay vì phần cứng là "64-bit" hay bao nhiêu phần trăm là "64-bit"

Nó thực sự không quan trọng cho đến khi bạn nhận được một câu hỏi cụ thể hơn. Tại sao bạn hỏi về điều này? Tôi hy vọng tổng quan chung này giúp bạn hiểu về ý nghĩa của mọi người khi họ thảo luận về bit của họ.


10

Trong một loại cửa sổ đầu cuối uname -m. Nếu bạn nhận được x86_64 thì bạn có OSx 64 bit đang chạy.

Đầu ra đầy đủ trông giống như thế này:

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
Mặc dù điều này sẽ hoạt động, có một số tùy chọn đơn giản hơn nhiều không yêu cầu người dùng mới vào Terminal.
jbharper2

Ngoài ra, điều này chỉ cung cấp cho bạn vòm của hạt nhân. Trên Core2Duo (CPU 64 bit), bạn vẫn chỉ chạy kernel 32 bit nếu bootrom của máy đó không sạch 64 bit. Bạn vẫn có thể (và nên) sử dụng Eclipse 64 bit trên máy đó.
MacLemon

1
Nhưng cái hay của giải pháp này là nó đa nền tảng (mặc dù tôi biết đây là khu vực Apple Stackexchange).
Sridhar Sarnobat

6

Chuyển đến Menu Apple và chọn "Giới thiệu về máy Mac này". Nếu bạn có bộ xử lý Core Duo, bạn có CPU 32 bit. Nếu không (Core 2 Duo, Xeon, i3, i5, i7, bất cứ thứ gì khác), bạn có CPU 64 bit.

Mac OS X khá bất khả tri, do đó, nên hoạt động. Nếu vẫn còn nghi ngờ, hãy sử dụng phiên bản 32 bit.


3
Để hoàn thiện, cũng có bộ xử lý 32 lõi duy nhất của dòng Core Core Solo được sử dụng trong Intel Mac mini đầu tiên ( đầu năm 2006 ).
Chris Johnsen

3

Các archlệnh với không có đối số sẽ hiển thị kiểu kiến trúc của máy.

Kết quả (từ arch(1)trang chủ):

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

3
À, không. Tôi có Core i7 MBP và kích hoạt kernel 32 bit vì phần mềm VPN của chủ nhân yêu cầu và vòm trả về i386 cho tôi. Tuy nhiên, bộ xử lý của tôi là 64 bit và tôi có rất nhiều tiến trình 64 bit đang chạy, do đó, điều này dường như chỉ cho bạn biết loại nhân là gì.
David

1
Những gì David nói - điều này chỉ cho bạn biết kernel nào đang chạy. Giống như David, tôi đang sử dụng kernel 32 bit vì tôi cần một kext yêu cầu nó, nhưng tôi có thể chạy các tiến trình người dùng 64 bit mà không gặp vấn đề gì.
Sherm Pendley

3

Chỉ cần chạy màn hình Activity và tìm quá trình có tên kernel_task . Sau đó nhìn vào cột Loại. Nếu nó nói Intel , thì bạn hiện đang chạy chế độ 32 bit. Nếu nó nói Intel (64 bit) , thì như văn bản nói, bạn đang chạy chế độ 64 bit.

Lưu ý: Bạn phải hiển thị Tất cả các quy trình , từ trình đơn thả xuống bên cạnh hộp tìm kiếm (bộ lọc).

Sau đó, bạn có thể kiểm tra câu trả lời của @Nate Bird về bộ xử lý bạn có và các chế độ được hỗ trợ cho nó.


1
Chế độ của kernel không thực sự quan trọng đối với người dùng; OS X sẽ vui vẻ chạy các tiến trình 64 bit dưới nhân 32 bit hoặc ngược lại.
Gordon Davisson

Câu hỏi ban đầu là về việc hệ điều hành là 32 hay 64 bit, không phải là kiến ​​trúc được hỗ trợ của bộ xử lý :)
bisko

Hạt nhân không phải là HĐH và chế độ của kernel không liên quan đến những gì người hỏi thực sự muốn biết: phiên bản nào của Eclipse là phù hợp?
Gordon Davisson

Tôi thích câu trả lời của bisko vì nó giúp tôi tìm ra cách để biết chắc chắn những gì tôi đang chạy - 32 bit hoặc 64 bit. Tôi có một phiên bản VMWare sẽ chỉ chạy trong 32 bit và kể từ khi nâng cấp lên Lion, nó khởi động thành 64 bit, vì vậy tôi cần khởi động lại và giữ phím 3 + 2 khi khởi động lên để chạy trong 32 chế độ -bit. Không thực sự bắt đầu VMWare, thật tuyệt khi biết tôi đang chạy chế độ nào. Có vẻ như một số ứng dụng khác của tôi chạy tốt hơn ở chế độ 32 bit. Cảm ơn tất cả các góc độ khác nhau của câu trả lời cho câu hỏi chính.

bisko là chính xác nhưng chỉ muốn thêm, Ứng dụng> Tiện ích> Trình theo dõi hoạt động, trong trình giám sát hoạt động đang xem cpu đi tới menu trên cùng, Xem> Cột> Loại , cũng như, Xem> Tất cả quy trình . Của tôi đọc 64 bit trên hầu hết các tiến trình đang chạy, không chỉ kernel_task. 09 'MacBook, Yosemite.

2

OS X không có chế độ 32/64-bit tổng thể; nó chỉ đơn giản chạy từng chương trình ở chế độ "tốt nhất", dựa trên khả năng của CPU và những gì chương trình hỗ trợ. Nhiều chương trình OS X có định dạng nhị phân phổ quát, nghĩa là chúng có nhiều phiên bản (một số kết hợp PowerPC 32 bit, PowerPC 64 bit, Intel 32 bit và Intel 64 bit) được bao gồm trong cùng một tệp.

Eclipse rõ ràng không đi theo cách này, vì vậy bạn phải quyết định phiên bản nào sẽ tải xuống. Tôi không đủ quen thuộc với nó để biết liệu nó có phải chạy trong cùng chế độ với những gì bạn đang cố gắng gỡ lỗi không; nếu vậy, hãy chạy chương trình của bạn và tìm nó trong Trình giám sát hoạt động để xem nó đang chạy ở chế độ nào. Nếu Eclipse không phải ở cùng chế độ (hoặc mã Java chỉ chạy bên trong Eclipse), thì bạn có thể sử dụng một trong hai một (trừ khi bạn sử dụng CPU chỉ có 32 bit, tức là Core Solo hoặc Core Duo).


1

Chạy trong Terminal:

sysctl hw.cpu64bit_capable

Nếu nó cho 1, nó có nghĩa là máy tính của bạn có kiến ​​trúc 64 bit.

Hoặc sử dụng archlệnh có thể trả về i386(Intel 32 bit) hoặc x86_64(Intel 64 bit).


Chạy archcho "i386". Trong thời gian trung bình, sysctl hw.cpu64bit_capablecho 1. Vậy thì đó là cái gì?
Gajus

0

Trên dòng lệnh bạn có thể chạy ...

(
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

Như Gordon Davisson đã nêu, các nhị phân chất béo có thể bao gồm cả các tệp thực thi 32 bit và 64 bit của một chương trình (xem thêm Kiến trúc đa, Xây dựng đơn ).

file /mach_kernel /usr/lib/libSystem.dylib

1
hehe, cảm ơn bạn cho một con đường ngắn! : -DI chỉ thích một getconf LONG_BITthiết bị đầu cuối, nhưng tất nhiên có thể không phải là Jedi-way
Farside

0

Chạy uname -atrong shell để hiển thị chi tiết về kernel. Bạn có thể thấy RELEASE_X86_64 x86_64phiên bản 64 bit


0

Mở Terminal.app và chạy lệnh bên dưới:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.