วิธีตรวจสอบว่า Mac ที่ใช้ Intel เป็นแบบ 32 บิตหรือ 64 บิต


52

ฉันต้องการติดตั้งซอฟต์แวร์ใหม่ที่มีสองเวอร์ชันนี้และฉันจำเป็นต้องรู้ว่าควรติดตั้งตัวไหน

ฉันจะบอกความสามารถของ 32 หรือ 64 บิตของ Mac ได้อย่างไร


คุณใช้ระบบปฏิบัติการเวอร์ชั่นใด MacBook Pro ของคุณสร้างขึ้นเมื่อใด
แดเนียล

5
มันค่อนข้างง่าย ไปที่โลโก้ Apple แล้วเลือก "About Mac นี้" ถ้ามันบอกว่า Core Duo แสดงว่าเป็น 32 บิต ถ้ามันบอกว่า Core 2 Duo แสดงว่าเป็น 64 บิต (ไม่สนใจปัญหาเคอร์เนล 32 บิตมันจะรันซอฟต์แวร์ 64 บิตได้ดี) ถ้า MBP ของคุณมีแป้นพิมพ์สีดำแสดงว่ามันเป็น 64 บิต MBP ดั้งเดิมมีแป้นพิมพ์สีเงินและหน่วย 32 บิตล้วน แต่แทนที่ในต้นปี 2550 ดังนั้นหากคุณซื้อรุ่นของคุณแม้ในช่วงปลายปี 2550 แสดงว่าเป็น Mac ที่สามารถเรียกใช้ 64 บิตได้ นอกจากนี้หากคุณใช้งาน Lion คุณจะเป็น 64 บิต (เนื่องจาก Lion ไม่ทำงานบน Mac 32 บิต)

คำตอบ:


20

หากต้องการทราบว่าคุณกำลังใช้เคอร์เนล 32- บิตหรือ 64- บิต (ซึ่งสำคัญกับไดรเวอร์อุปกรณ์บางตัว) ให้เรียกใช้ตัวสร้างโปรไฟล์ระบบและคลิกที่ส่วนหัวของซอฟต์แวร์ในส่วนเนื้อหา

เคอร์เนลบรรทัด64- บิตและส่วนขยายจะบอกว่าใช่หากคุณใช้เคอร์เนล 64- บิตและไม่ใช่หากคุณใช้เคอร์เนล 32- บิต

หมายเหตุ: Mac OS X 10.6 Snow Leopard เป็นรุ่นล่าสุดที่ Intel Mac รุ่น 32 บิตสามารถรันได้ Mac OS X 10.7 Lion และรุ่นที่สูงกว่าคือ 64 บิต นอกจากนี้System Profilerถูกเปลี่ยนชื่อเป็นSystem Informationใน OS X 10.7


3
ผู้สร้างระบบไม่ได้ติดตั้งบนเครื่องของฉันหรือไม่สามารถหา Spotlight ได้ - ดังนั้นคำตอบนี้จะไม่เหมาะสำหรับทุกคน
Chris Calo

เครื่องและระบบปฏิบัติการของคุณคืออะไร? ชื่อถูกเปลี่ยนเป็น "ข้อมูลระบบ" นานมาแล้ว (อยู่ในโฟลเดอร์ยูทิลิตี้)
Paul Lefebvre

5
ฉันพบแอปข้อมูลระบบ ขอบคุณ มันจะเป็นการดีที่จะปรับปรุงคำตอบเพื่อประโยชน์ของผู้อื่น น่าเสียดายที่ฉันไม่พบรายการ "เคอร์เนล 64 บิตและส่วนขยาย" ในส่วนซอฟต์แวร์ของแอพ System Information ฉันใช้ v10.12.2
Chris Calo

3
หากคุณใช้ 10.12 แสดงว่า Mac ของคุณเป็นแบบ 64 บิต รุ่นล่าสุดของ Mac OS X ที่สามารถทำงานบน Mac แบบ 32 บิตคือ 10.6 Snow Leopard
Paul Lefebvre

ฉันมี Mac OS X 10.7 Lion และการตั้งค่า "เคอร์เนล 64- บิตและส่วนขยาย: ไม่" แต่ฉันมั่นใจว่าฉันมี MacBook 64 บิตเหมือนที่ฉันได้รับการยืนยันโดยวิธีการจากคำตอบของ @Greg Cain Strange
cawecoy

108

รันสิ่งนี้บนบรรทัดรับคำสั่ง:

getconf LONG_BIT

7
นี่คือคำตอบที่ดีที่สุดในความคิดของฉัน และข้อเสนอแนะ: ใส่สิ่งนี้ลงในโปรไฟล์ของคุณ:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
Sridhar Sarnobat

7
คำตอบนี้ควรเป็นคำตอบที่ถูกต้อง
Victor Grazi

29

นี้บทความฐานความรู้จากแอปเปิ้ลควรให้คุณมีคำตอบที่ถูกต้องตามมันขึ้นอยู่กับวิธีการเดิม MacBook Pro เป็นของคุณ

โดยทั่วไปถ้าคุณมีอะไรใหม่กว่า MacBook 2008 คุณมีโปรเซสเซอร์ 64 บิตและระบบปฏิบัติการ ...

นี่คือตารางโกง

โปรเซสเซอร์ของ Apple


นี่ไม่ได้บอกเรื่องราวทั้งหมด แต่เป็นการเริ่มต้น ฉันมี Macbook ที่มี 64 บิต Core 2 Duo แต่เฟิร์มแวร์ 32 บิต / EFI ทำให้เกิดสแต็กที่ไม่เคยครบ 64 บิต
stuffe

มันเป็นความจริง. บรรทัดนั้นพร่ามัวเนื่องจากเคอร์เนลอาจทำงานในโหมด 32 บิตเท่านั้น แต่ทุกอย่างอื่นคือ 64 บิต ฉันไม่แน่ใจอย่างแน่นอนว่าเมื่อใด แต่ Macs ใหม่ทั้งหมดสามารถใช้งานได้ 100% 64 บิตแม้ว่าพวกเขาจะยังสามารถเรียกใช้แอป 32 บิตได้
เนทเบิร์ด

ตามบทความฐานความรู้อื่น ๆMacBook Pro ตั้งแต่ต้นปี 2551 จนถึงกลางปี ​​2010 สนับสนุนเคอร์เนล 64 บิต แต่อย่าใช้โดยปริยาย
Cristian Ciupitu

17

ตัวเลือกอื่นคือใช้sysctlในเชลล์:

$ sysctl hw.cpu64bit_capable

มันจะแสดง 1 หาก CPU มีความสามารถในการรันโปรแกรม 64 บิตและ 0 เป็นอย่างอื่น


12

ดังที่คุณอาจเห็นจากคำตอบทั้งหมด - mac แตกต่างจากระบบปฏิบัติการ (OS) อื่น ๆ ที่เส้นแบ่ง 32 บิตและ 64 บิตนั้นพร่ามัว คุณสามารถเรียกใช้รหัส 32 บิตบน CPU 64 บิต

ภาพรวมที่ดีของเรื่องนี้อยู่ในคู่มือการเปลี่ยนผ่าน 64 บิตของ Appleโปรดทราบว่าการเปลี่ยนแปลงนี้เริ่มต้นก่อนที่ Tiger จะวางจำหน่ายในวันที่ 29 เมษายน 2005 และยังคงเกิดขึ้น

การประมวลผลแบบ 64 บิตคืออะไร

สำหรับวัตถุประสงค์ของเอกสารนี้การคำนวณแบบ 64 บิตถูกกำหนดเป็นการสนับสนุนพื้นที่ที่อยู่แบบ 64 บิตนั่นคือการรองรับการใช้หน่วยความจำมากกว่า 4 GB พร้อมกันโดยโปรแกรมปฏิบัติการเดี่ยว - ไม่มากไม่น้อย

เริ่มต้นด้วยรุ่น 10.4 Mac OS X รองรับบรรทัดคำสั่งแบบ 64 บิตบนคอมพิวเตอร์ Macintosh ที่ใช้ G5 และคอมพิวเตอร์ Intel Macintosh ที่มีความสามารถแบบ 64 บิต

เริ่มต้นด้วยรุ่น 10.5, Mac OS X รองรับแอปพลิเคชั่น 64- บิตเต็มรูปแบบบนคอมพิวเตอร์ Intel Macintosh ที่ใช้ G5 และ 64 บิต

เริ่มต้นด้วย Snow Leopard, Mac OS X ใช้เคอร์เนล 64 บิตในคอมพิวเตอร์ Intel บางรุ่น

นอกจากนี้ - CPU ที่เป็น "64- บิต" ยังคงมีชิ้นส่วนที่กว้างเพียง 32 บิต ในทำนองเดียวกัน CPU ที่เป็น "32- บิต" ยังมีส่วนที่มีความกว้าง 128 บิต (หรือมากกว่า) นี่คือเหตุผลที่คนส่วนใหญ่มุ่งเน้นไปที่พื้นที่ที่อยู่สำหรับโปรแกรมเฉพาะมากกว่าว่าฮาร์ดแวร์เป็น "64- บิต" หรือเท่าไหร่ก็คือ "64- บิต"

มันไม่สำคัญจนกว่าคุณจะได้คำถามที่เฉพาะเจาะจงมากขึ้น ทำไมคุณถึงถามเกี่ยวกับเรื่องนี้? ฉันหวังว่าภาพรวมทั่วไปนี้จะช่วยให้คุณเข้าใจในสิ่งที่ผู้คนหมายถึงจริง ๆ เมื่อพวกเขากำลังพูดคุยเรื่องบิต


10

uname -mในประเภทหน้าต่าง terminal หากคุณได้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
ขณะนี้จะใช้งานได้มีตัวเลือกที่ง่ายกว่ามากมายที่ไม่ต้องการให้ผู้ใช้มือใหม่เข้าสู่ Terminal
jbharper2

นอกจากนี้ยังให้โค้งของเคอร์เนลเท่านั้น บน Core2Duo (ซีพียู 64 บิต) คุณยังคงรันเคอร์เนล 32 บิตเท่านั้นหาก bootrom ของเครื่องนั้นไม่สะอาด 64 บิต คุณยังสามารถ (และควร) ใช้ Eclipse 64 บิตบนเครื่องนั้น
MacLemon

1
แต่สิ่งที่ดีเกี่ยวกับการแก้ปัญหานี้ก็คือมันเป็นข้ามแพลตฟอร์ม (แม้ว่าใช่ฉันรู้ว่านี่คือพื้นที่ Apple Stackexchange)
Sridhar Sarnobat

6

ไปที่เมนู Apple และเลือก "เกี่ยวกับ Mac นี้" หากคุณมีโปรเซสเซอร์ Core Duo คุณจะมี CPU 32 บิต ไม่เช่นนั้น (Core 2 Duo, Xeon, i3, i5, i7, อะไรก็ได้) คุณมี CPU 64 บิต

Mac OS X ค่อนข้างเป็นผู้ไม่เชื่อเรื่องพระเจ้าดังนั้นควรทำงานได้ดี หากยังสงสัยอยู่ให้ใช้รุ่น 32 บิต


3
เพื่อความสมบูรณ์นอกจากนี้ยังมีโปรเซสเซอร์“ Core Solo” ขนาด 32 บิตที่ใช้ใน Intel Mac mini รุ่นแรก ( “ ต้นปี 2549” )
Chris Johnsen

3

archคำสั่งที่มีการขัดแย้งใดจะแสดงประเภทสถาปัตยกรรมของเครื่อง

ผลลัพธ์ (จากarch(1)manpage):

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

3
เอ่อไม่ ฉันมี Core i7 MBP และเปิดใช้งานเคอร์เนล 32 บิตเนื่องจากซอฟต์แวร์ VPN ของนายจ้างของฉันต้องใช้และ arch จะส่งคืน i386 ให้ฉัน ตัวประมวลผลของฉันเป็นแบบ 64 บิตและฉันมีกระบวนการแบบ 64 บิตจำนวนมากที่ทำงานอยู่ดังนั้นสิ่งนี้ดูเหมือนจะบอกคุณเพียงว่าชนิดของเคอร์เนลคืออะไร
เดวิด

1
สิ่งที่เดวิดพูด - นี่จะบอกคุณเพียงว่าเคอร์เนลกำลังทำงานอยู่ เช่นเดียวกับ David ฉันใช้เคอร์เนล 32 บิตเพราะฉันต้องการ kext ที่ต้องการ แต่ฉันสามารถเรียกใช้กระบวนการผู้ใช้ 64- บิตโดยไม่มีปัญหา
Sherm Pendley

3

เพียงแค่เรียกใช้กิจกรรมการตรวจสอบและหากระบวนการชื่อkernel_task จากนั้นดูที่คอลัมน์ชนิด ถ้ามีข้อความว่าIntel แสดงว่าคุณกำลังใช้งานโหมด 32 บิตอยู่ หากมีข้อความว่าIntel (64 บิต)แสดงว่าคุณกำลังใช้โหมด 64 บิต

หมายเหตุ: คุณต้องแสดงกระบวนการทั้งหมดตั้งแต่ดรอปดาวน์ทีอยู่ถัดจากช่องค้นหา (ตัวกรอง)

จากนั้นคุณสามารถตรวจสอบคำตอบของ@Nate Birdเกี่ยวกับโปรเซสเซอร์ที่คุณมีและโหมดที่รองรับ


1
โหมดของเคอร์เนลไม่สำคัญสำหรับผู้ใช้ OS X จะรันกระบวนการ 64 บิตอย่างมีความสุขภายใต้เคอร์เนล 32 บิตหรือในทางกลับกัน
Gordon Davisson

คำถามเดิมคือประมาณว่าระบบปฏิบัติการเป็น 32 หรือ 64 บิตไม่สนับสนุนสถาปัตยกรรมของโปรเซสเซอร์ :)
bisko

เคอร์เนลไม่ใช่ระบบปฏิบัติการและโหมดของเคอร์เนลนั้นไม่เกี่ยวข้องกับสิ่งที่ผู้ถามต้องการทราบจริง ๆ : Eclipse เวอร์ชันใดที่เหมาะสม?
Gordon Davisson

ฉันชอบคำตอบของ bisko เพราะมันช่วยให้ฉันหาวิธีที่จะบอกได้อย่างชัดเจนว่าฉันกำลังใช้งานอะไรอยู่ในขณะนี้คือ 32- บิตหรือ 64- บิต ฉันมีรุ่นของ VMWare ที่จะทำงานในแบบ 32 บิตเท่านั้นและตั้งแต่อัพเกรดเป็น Lion มันจะบู๊ตเป็น 64 บิตดังนั้นฉันต้องรีบูตและกดปุ่ม 3 + 2 ค้างไว้ตอนบู๊ตเพื่อให้มันทำงานใน 32 โหมดบิต โดยไม่ต้องเริ่มต้น VMWare มันเป็นเรื่องดีที่ได้รู้ว่าฉันกำลังใช้โหมดใดอยู่ ดูเหมือนว่าแอปพลิเคชั่นอื่น ๆ ของฉันจะทำงานได้ดีขึ้นในโหมด 32 บิต ขอบคุณสำหรับทุกมุมที่แตกต่างกันของคำตอบสำหรับคำถามหลัก

bisko ถูกต้อง แต่เพียงต้องการที่จะเพิ่มปพลิเคชัน> ยูทิลิตี้> กิจกรรมการตรวจสอบในการตรวจสอบกิจกรรมที่กำลังดูซีพียูไปที่เมนูด้านบนดู> คอลัมน์> ชนิด , เช่นเดียวกับมุมมอง> กระบวนการทั้งหมด Mine อ่าน 64 บิตในกระบวนการส่วนใหญ่ที่ทำงานไม่ใช่แค่ kernel_task 09 'MacBook, Yosemite

2

OS X ไม่มีโหมดโดยรวม 32/64 บิต มันรันแต่ละโปรแกรมในโหมด "ดีที่สุด" ที่มีอยู่ตามความสามารถของ CPU และสิ่งที่โปรแกรมรองรับ โปรแกรม OS X หลายโปรแกรมมีรูปแบบไบนารี่สากลซึ่งหมายความว่ามีหลายเวอร์ชั่น (รวมถึง PowerPC 32 บิต, PowerPC 64 บิต, Intel 32 บิตและ Intel 64 บิต) ที่รวมอยู่ในไฟล์เดียวกัน

เห็นได้ชัดว่า Eclipse ไม่ได้มาในลักษณะนี้ดังนั้นคุณต้องตัดสินใจว่าจะดาวน์โหลดเวอร์ชันใด ฉันไม่คุ้นเคยพอที่จะรู้ว่ามันต้องทำงานในโหมดเดียวกับสิ่งที่คุณกำลังพยายามแก้ไขหรือไม่ ถ้าเป็นเช่นนั้นให้รันโปรแกรมของคุณและมองหามันใน Activity Monitor เพื่อดูว่ามันกำลังทำงานอยู่ในโหมดใดหาก Eclipse ไม่จำเป็นต้องอยู่ในโหมดเดียวกัน (หรือรหัส Java เพียงแค่ทำงานใน Eclipse) คุณสามารถใช้ หนึ่ง (ยกเว้นว่าคุณใช้ CPU 32 บิตเท่านั้นเช่น Core Solo หรือ Core Duo)


1

ทำงานในอาคารผู้โดยสาร:

sysctl hw.cpu64bit_capable

ถ้าเป็น1เช่นนั้นหมายความว่าคอมพิวเตอร์ของคุณมีสถาปัตยกรรมแบบ 64 บิต

หรือใช้archคำสั่งที่สามารถส่งคืนได้i386(32- บิต Intel) หรือx86_64(64- บิต Intel)


การวิ่งarchให้ "i386" ในเวลาเฉลี่ยที่จะช่วยให้sysctl hw.cpu64bit_capable 1แล้วมันคืออะไร?
Gajus

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เทอร์มินัล แต่อาจไม่ใช่เจไดทางแน่นอน
ฟาร์ไซด์

0

รันuname -aในเชลล์เพื่อแสดงรายละเอียดเกี่ยวกับเคอร์เนล คุณสามารถดูRELEASE_X86_64 x86_64รุ่น 64 บิต


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.