कैसे जांचें कि मेरा इंटेल-आधारित मैक 32-बिट है या 64-बिट


52

मैं नए सॉफ्टवेयर स्थापित करना चाहता हूं जिनमें ये दो संस्करण हैं, और मुझे यह जानना होगा कि कौन सा इंस्टॉल करना है।

मैं अपने मैक की 32 या 64 बिट क्षमताओं को कैसे बता सकता हूं?


OS का कौन सा संस्करण चला रहे हैं? आपका मैकबुक प्रो कब बनाया गया था?
डैनियल

5
यह काफी सरल है। Apple लोगो पर जाएं और "इस मैक के बारे में" का चयन करें। अगर इसे कोर डुओ कहें तो यह 32 बिट है। यदि यह कोर 2 डुओ कहता है, तो यह 64 बिट है (32 बिट कर्नेल मुद्दे को अनदेखा करें, यह 64 बिट सॉफ्टवेयर को ठीक ही चलाएगा)। शारीरिक रूप से, यदि आपके एमबीपी में एक काला कीबोर्ड है, तो यह बिल्कुल 64 बिट है। मूल MBPs में एक चांदी का कीबोर्ड था और 32bit इकाइयाँ सभी को 2007 की शुरुआत में बदल दिया गया था। इसलिए यदि आपने 2007 के बाद के पाठ्यक्रम में भी अपना मॉडल खरीदा है, तो यह मैक 64 बिट को चलाने में सक्षम है। इसके अलावा, यदि आप शेर को चला रहे हैं, तो आप 64 बिट हैं (क्योंकि शेर 32 बिट मैक पर नहीं चलता है)।

जवाबों:


20

यह बताने के लिए कि क्या आप 32-बिट या 64-बिट कर्नेल (जो कुछ डिवाइस ड्राइवरों के लिए मायने रखते हैं) चला रहे हैं, सिस्टम प्रोफाइलर को लॉन्च करें और सामग्री अनुभाग में सॉफ़्टवेयर शीर्षक पर क्लिक करें ।

लाइन 64-बिट कर्नेल और एक्सटेंशन्स हां कहेंगे यदि आप 64-बिट कर्नेल चला रहे हैं और नहीं तो आप 32-बिट कर्नेल चला रहे हैं।

नोट: मैक ओएस एक्स 10.6 स्नो लेपर्ड अंतिम रिलीज़ है जो 32-बिट इंटेल मैक चला सकता है, मैक ओएस एक्स 10.7 लायन और अप, डिफ़ॉल्ट रूप से, 64-बिट है। इसके अतिरिक्त, सिस्टम प्रोफाइलर का नाम बदलकर OS X 10.7 में सिस्टम सूचना कर दिया गया ।


3
सिस्टम प्रोफाइलर मेरी मशीन पर स्थापित नहीं है - या स्पॉटलाइट इसे नहीं पा सकते हैं - इसलिए यह उत्तर सभी के लिए काम नहीं करेगा।
क्रिस कैलो

आपकी मशीन और OS क्या है? नाम को कुछ समय पहले "सिस्टम जानकारी" में बदल दिया गया था (यह यूटिलिटीज फ़ोल्डर में है)।
पॉल लेफेव्रे

5
मुझे सिस्टम इंफॉर्मेशन ऐप मिला। धन्यवाद। दूसरों के लाभ के लिए उत्तर को अपडेट करना अच्छा होगा। दुर्भाग्य से, मैं सिस्टम जानकारी एप्लिकेशन के सॉफ़्टवेयर अनुभाग में "64-बिट कर्नेल और एक्सटेंशन" आइटम नहीं ढूंढ सका। मैं v10.12.2 पर हूं।
क्रिस कैलो

3
यदि आप 10.12 का उपयोग कर रहे हैं, तो आपका मैक 64-बिट है। मैक ओएस एक्स का अंतिम संस्करण जो 32-बिट मैक पर चल सकता था, 10.6 स्नो लेपर्ड था।
पॉल लेफेव्रे

मेरे पास Mac OS X 10.7 Lion और सेटिंग "64-बिट कर्नेल और एक्सटेंशन: नहीं" है। लेकिन मुझे यकीन है कि मेरे पास 64 बिट मैकबुक है, जैसा कि मैंने @Greg कैन के उत्तर से विधि द्वारा सत्यापित किया है। अजीब
cawecoy 15

108

कमांड लाइन पर इसे चलाएं:

getconf LONG_BIT

7
मेरी राय में यह सबसे अच्छा जवाब है। और एक सुझाव: इसे अपनी प्रोफ़ाइल में रखें:echo "You are on a "$(getconf LONG_BIT)"-bit architecture"
श्रीधर सरनोबत

7
यह उत्तर सही उत्तर होना चाहिए
विक्टर ग्राज़ी

29

Apple का यह नॉलेज बेस आलेख आपको सही उत्तर प्रदान करना चाहिए क्योंकि यह इस बात पर निर्भर करता है कि आपका मैकबुक प्रो कितना पुराना है।

मूल रूप से अगर आपके पास 2008 मैकबुक से कुछ भी नया है तो आपके पास 64 बिट प्रोसेसर और ओएस…

यहाँ धोखा टेबल है

Apple प्रोसेसर


यह पूरी कहानी नहीं बताती है लेकिन यह एक शुरुआत है। मेरे पास 64 बिट कोर 2 डुओ के साथ एक मैकबुक था, लेकिन 32 बिट फर्मवेयर / ईएफआई जिसके परिणामस्वरूप एक स्टैक था जो पूरी तरह से 64 बिट नहीं था।
स्टफ

यह सच है। लाइन तकनीकी रूप से धुंधली है क्योंकि कर्नेल केवल 32 बिट मोड में चल सकता है लेकिन बाकी सब 64 बिट में है। मुझे यकीन नहीं है कि कब, लेकिन सभी नए मैक अब 100% 64 बिट सक्षम हैं - हालांकि वे अभी भी 32 बिट ऐप चला सकते हैं।
नैट बर्ड

एक अन्य ज्ञानकोष लेख के अनुसार , मैकबुक प्रो 2008 की शुरुआत से 2010 के मध्य तक 64-बिट कर्नेल का समर्थन करता है, लेकिन डिफ़ॉल्ट रूप से इसका उपयोग नहीं करते हैं।
क्रिस्टियान सियुपिटु

17

एक अन्य विकल्प sysctlशेल में उपयोग करना है:

$ sysctl hw.cpu64bit_capable

यदि सीपीयू 64-बिट प्रोग्राम और 0 को चलाने में सक्षम है तो यह 1 दिखाएगा।


12

जैसा कि आपने सभी उत्तरों से देखा होगा - मैक अन्य ऑपरेटिंग सिस्टम (OS) से भिन्न होते हैं, जिसमें 32 बिट और 64 बिट डिवाइडिंग लाइन सभी धुंधली होती है। आप 64 बिट सीपीयू पर 32 बिट कोड चला सकते हैं।

इस विषय का एक अच्छा अवलोकन Apple के 64-बिट ट्रांज़िशन गाइड का ध्यान रखें, यह संक्रमण 29 अप्रैल 2005 को टाइगर रिलीज़ होने से पहले शुरू किया गया था और अभी भी हो रहा है।

64-बिट कम्प्यूटिंग क्या है?

इस दस्तावेज़ के प्रयोजनों के लिए, 64-बिट कंप्यूटिंग को 64-बिट एड्रेस स्पेस के लिए समर्थन के रूप में परिभाषित किया गया है - अर्थात्, एक निष्पादन योग्य प्रोग्राम द्वारा 4 जीबी से अधिक मेमोरी के समवर्ती उपयोग के लिए समर्थन - और नहीं, कम नहीं।

संस्करण 10.4 से शुरू होकर, मैक ओएस एक्स, जी 5-आधारित मैकिंटोश कंप्यूटर और 64-बिट सक्षम इंटेल मैकिंटोश कंप्यूटरों पर कमांड-लाइन 64-बिट निष्पादन योग्य का समर्थन करता है।

संस्करण 10.5 से शुरू होकर, मैक ओएस एक्स जी 5-आधारित और 64-बिट सक्षम इंटेल मैकिंटोश कंप्यूटरों पर पूर्ण विशेषताओं वाले 64-बिट अनुप्रयोगों का समर्थन करता है।

हिम तेंदुए से शुरुआत करते हुए, मैक ओएस एक्स कुछ इंटेल कंप्यूटरों पर 64-बिट कर्नेल का उपयोग करता है।

इसके अलावा - सीपीयू कि "64-बिट" अभी भी ऐसे हिस्से हैं जो केवल 32 बिट्स चौड़े हैं। इसी तरह, सीपीयू जो "32-बिट" हैं, उनमें भी ऐसे हिस्से हैं जो 128 बिट्स (या अधिक) चौड़े हैं। यही कारण है कि ज्यादातर लोग एक विशिष्ट कार्यक्रम के लिए पता स्थान पर ध्यान केंद्रित करते हैं बजाय इसके कि क्या हार्डवेयर "64-बिट" है या यह "64-बिट" कितना है

यह वास्तव में तब तक मायने नहीं रखता जब तक कि आप एक अधिक विशिष्ट प्रश्न के लिए नहीं मिलते। आप इस बारे में क्यों पूछ रहे हैं? मुझे उम्मीद है कि यह सामान्य अवलोकन आपकी समझ में मदद करता है कि लोग वास्तव में क्या मतलब रखते हैं जब वे अपने बिट्स पर चर्चा कर रहे हैं।


10

एक टर्मिनल विंडो प्रकार में uname -m। अगर आपको x86_64 मिलता है तो आपके पास 64bit 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 बिट सीपीयू) पर आप अभी भी केवल एक 32 बिट कर्नेल चलाते हैं यदि उस मशीन का बूट्रोमॉम 64 इंच साफ नहीं है। आप उस मशीन पर अभी भी (और) 64 बिट के ग्रहण का उपयोग कर सकते हैं।
मैकलेमोन

1
लेकिन इस समाधान के बारे में अच्छी बात यह है कि यह क्रॉस-प्लेटफ़ॉर्म है (हाँ, मुझे पता है कि यह ऐप्पल स्टैकएक्सचेंज क्षेत्र है)।
श्रीधर सरनोबत

6

Apple मेनू पर जाएं और "इस मैक के बारे में" चुनें। यदि आपके पास कोर डुओ प्रोसेसर है, तो आपके पास 32-बिट सीपीयू है। अन्यथा (कोर 2 डुओ, एक्सोन, आई 3, आई 5, आई 7, कुछ और), आपके पास 64-बिट सीपीयू है।

मैक ओएस एक्स काफी बिटनेस-अज्ञेयवादी है, इसलिए या तो काम करना चाहिए। यदि अभी भी संदेह है, तो 32-बिट संस्करण का उपयोग करें।


3
पूर्णता के लिए, पहले इंटेल मैक मिनी ( "प्रारंभिक 2006 ) " में इस्तेमाल किया गया 32-बीटी केवल "कोर सोलो" प्रोसेसर भी था ।
क्रिस जॉन्सन

3

archकोई तर्क के साथ आदेश मशीन की वास्तुकला प्रकार प्रदर्शित करेगा।

परिणाम ( arch(1)मैनपेज से):

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

3
उह, नहीं। मेरे पास एक कोर i7 MBP है और 32-बिट कर्नेल सक्षम है क्योंकि मेरे नियोक्ता के वीपीएन सॉफ्टवेयर को इसकी आवश्यकता है, और मेरे लिए आर्क रिटर्न i386 है। मेरा प्रोसेसर 64-बिट है और मेरे पास बहुत सारी 64-बिट प्रक्रियाएं हैं, हालाँकि, यह केवल आपको बताता है कि कर्नेल का प्रकार क्या है।
डेविड

1
डेविड ने क्या कहा - यह केवल आपको बताता है कि कर्नेल क्या चल रहा है। डेविड की तरह, मैं 32-बिट कर्नेल का उपयोग कर रहा हूं क्योंकि मुझे एक केटेक्स की आवश्यकता है जो इसे चाहिए, लेकिन मैं बिना किसी समस्या के 64-बिट उपयोगकर्ता प्रक्रियाएं चला सकता हूं।
शेरम पेंडले

3

बस गतिविधि मॉनिटर चलाएं और kernel_task नाम की प्रक्रिया खोजें । इसके बाद कॉलम काइंड को देखें। यदि यह इंटेल कहता है , तो आप वर्तमान में 32 बिट मोड चला रहे हैं। यदि यह इंटेल (64-बिट) कहता है, तो जैसा कि पाठ कहता है, आप 64 बिट मोड चला रहे हैं।

नोट: आपको खोज ड्रॉप बॉक्स (फ़िल्टर) के आगे टे ड्रॉपडाउन से सभी प्रक्रियाओं को दिखाना होगा ।

फिर आप @Nate बर्ड के उत्तर की जांच कर सकते हैं कि आपके पास कौन सा प्रोसेसर है और इसके लिए समर्थित मोड हैं।


1
कर्नेल का मोड वास्तव में उपयोगकर्ता के लिए कोई मायने नहीं रखता है; ओएस एक्स खुशी से 32-बिट कर्नेल या इसके विपरीत 64-बिट प्रक्रियाओं को चलाएगा।
गॉर्डन डेविसन ३१'११

मूल प्रश्न यह था कि यदि ओएस 32 या 64 बिट है, प्रोसेसर के समर्थित आर्किटेक्चर नहीं हैं :)
बिस्को 4

कर्नेल OS नहीं है, और कर्नेल का मोड अप्रासंगिक है जो पूछने वाला वास्तव में जानना चाहता है: ग्रहण का कौन सा संस्करण उपयुक्त है?
गॉर्डन डेविसन

मुझे बिसको का जवाब पसंद है क्योंकि इसने मुझे यह बताने का तरीका खोजने में मदद की कि मैं वर्तमान में क्या चल रहा हूं - 32-बिट या 64-बिट। मेरे पास VMWare का एक संस्करण है जो केवल 32-बिट में चलेगा, और लायन को अपग्रेड करने के बाद से, यह 64-बिट में बूट होता है, इसलिए मुझे बूट करने के लिए 3 + 2 कीज़ को बूट करने की आवश्यकता है और इसे 32 में रन करें -बिट मोड वास्तव में VMWare शुरू करने के बिना, यह जानना अच्छा है कि मैं वर्तमान में किस मोड पर चल रहा हूं। ऐसा लगता है कि मेरे कुछ अन्य अनुप्रयोग 32-बिट मोड में भी बेहतर तरीके से चलते हैं। मुख्य प्रश्न के उत्तर के सभी विभिन्न कोणों के लिए धन्यवाद।

bisko सही है, लेकिन बस जोड़ना चाहता था, Apps> यूटिलिटीज> एक्टिविटी मॉनिटर , cpu देखने के एक्टिविटी मॉनिटर में , टॉप मेनू पर जाएं, व्यू> कॉलम> Kind , साथ ही, व्यू> ऑल प्रोसेस । खदान में चलने वाली अधिकांश प्रक्रियाओं पर मेरा 64 बिट पढ़ें, न कि केवल कर्नेल_टैस्क। 09 'मैकबुक, योसेमाइट।

2

OS X में समग्र 32/64-बिट मोड नहीं है; यह केवल प्रत्येक कार्यक्रम को "सर्वश्रेष्ठ" उपलब्ध मोड में चलाता है, जो कि सीपीयू के सक्षम और कार्यक्रम का समर्थन करता है के आधार पर। कई ओएस एक्स प्रोग्राम सार्वभौमिक बाइनरी प्रारूप में आते हैं, जिसका अर्थ है कि उनके कई संस्करण हैं (पावरपीसी 32-बिट, पावरपीसी 64-बिट, इंटेल 32-बिट और इंटेल 64-बिट का संयोजन) एक ही फाइल में शामिल हैं।

स्पष्ट रूप से ग्रहण इस तरह से नहीं आता है, इसलिए आपको यह तय करना होगा कि किस संस्करण को डाउनलोड करना है। मैं यह जानने के लिए पर्याप्त रूप से परिचित नहीं हूं कि क्या इसे उसी मोड में चलाना है जैसा आप डीबग करना चाहते हैं; यदि ऐसा है, तो अपना प्रोग्राम चलाएं, और इसे एक्टिविटी मॉनिटर में देखें कि यह किस मोड में चल रहा है। यदि ग्रहण एक ही मोड में नहीं है (या जावा कोड सिर्फ एक्लिप्स के अंदर चलता है), तो आप या तो उपयोग कर सकते हैं। एक (जब तक आप केवल 32-बिट सीपीयू, यानी कोर सोलो या कोर डुओ) पर न हों।


1

टर्मिनल में चलाएं:

sysctl hw.cpu64bit_capable

यदि यह देता है 1, तो इसका मतलब है कि आपके कंप्यूटर में 64-बिट आर्किटेक्चर है।

या archकमांड का उपयोग करें जो या तो i386(32-बिट इंटेल) या x86_64(64-बिट इंटेल) वापस कर सकता है।


रनिंग 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

जैसा कि पहले से ही गॉर्डन डेविसन द्वारा कहा गया है, वसा बायनेरिज़ में एक प्रोग्राम के 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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.