क्या मेरा प्रोसेसर 64 या 32 बिट का है?


41

मैं उबंटू में हूं और मैंने यह कमांड किया है:

$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux

क्या इसका मतलब है कि मैं 32 बिट या 64 बिट प्रोसेसर पर हूं?

इसका कारण मैं यह जानने की कोशिश कर रहा हूं कि मुझे ऐसी त्रुटियां मिल रही थीं जो इस तरह दिखती थीं:

cannot execute binary file

और Googling से, मुझे लगा कि यह एक प्रोसेसर मुद्दा था। कोई विचार?


इस लिंक को देखें । आपकी समस्या का विस्तृत विवरण दिया गया है।
प्रतीक

जवाबों:


32

इसका मतलब है कि आप 32-बिट कर्नेल चला रहे हैं, जिसका अर्थ है कि आप केवल एमुलेटर या वर्चुअलाइजेशन के उपयोग के बिना 32-बिट ऐप्स चला सकते हैं।

यदि आप यह देखना चाहते हैं कि आपका प्रोसेसर 64-बिट है तो lmसूचीबद्ध फ्लैग में देखें /proc/cpuinfo


27
भी lscpuइस्तेमाल किया जा सकता है, और अधिक अनुकूल है।
enzotib

@Ignacio तो मेरे पास एक 32-बिट प्रोसेसर है जिसे 64-बिट के लिए बनाया गया कुछ चलाने की आवश्यकता होगी। क्या यह सब संभव है?
जेनाडिनिक

4
मैं इग्नासियो नहीं हूं, लेकिन आमतौर पर यह नहीं है। आप एक उत्पाद का उपयोग करके एक वीएम स्थापित कर सकते हैं जो आपको 64-बिट सिस्टम ओए 32-बिट प्लेटफॉर्म का अनुकरण करने देता है, हालांकि।
एडुआर्डो आई।

एक वीएम की तुलना में बहुत हल्का वजन या तो एक चेरोट है या QEMU के साथ ट्विन्टेड कंटेनर है। यह सब इस बात पर निर्भर करता है कि आपको वास्तव में क्या चाहिए।
केन शार्प

84

आप उपयोग कर सकते हैं lscpu

someuser@somelaptop:~$ lscpu
Architecture:          i686           # <-- your kernel is 32 bit
CPU op-mode(s):        32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               1199.000
Virtualisation:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K

वास्तुकला क्षेत्र की और व्याख्या:

X86, i686, or i386      means you are running a 32 bit kernel.
X86_64 , amd64 , or X64 means you are running a 64 bit kernel.

1
@ एसएलएम: आर्किटेक्चर फील्ड प्रोसेसर को नहीं कर्नेल को संदर्भित करता है। मैंने इसे और अधिक स्पष्ट करने के लिए अपने उत्तर को संपादित किया।
एरिक जॉनसन

7

आप उस बाइनरी की वास्तुकला की भी जांच कर सकते हैं जिसे आप फ़ाइल का उपयोग करके चलाने की कोशिश कर रहे हैं file filetocheck:। इसमें 32-बिट या 64-बिट का उल्लेख होगा।


यह सबसे पहली चीज है जिसे जांचा जाना चाहिए। 👍
केन तीव्र

3

मूल विचार:

x86_64 64 बिट सक्षम cpu है और i386 32 बिट है।

Lscpu के साथ

लंबा जवाब: lscpu

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            17
Model:                 3
Stepping:              1
CPU MHz:               550.000
BogoMIPS:              4397.92
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
NUMA node0 CPU(s):     0,1

संक्षिप्त जवाब lscpu | awk '/CPU op-mode/ {print}

आउटपुट: CPU op-mode(s): 32-bit, 64-bit

Lshw के साथ

लंबे उत्तर: भागो sudo lshw

थोड़ा कम जवाब: sudo lshw -c cpu

आउटपुट:

 *-cpu                   
       description: CPU
       product: AMD Turion(tm) X2 Dual-Core Mobile RM-75
       vendor: Advanced Micro Devices [AMD]
       physical id: 4
       bus info: cpu@0
       version: Turion X2 Mobile RM-75
       slot: Socket M2/S1G1
       size: 550MHz
       capacity: 4GHz
       width: 64 bits
       clock: 200MHz
       capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit hw_pstate lbrv svm_lock nrip_save vmmcall cpufr

इससे भी छोटा जवाब: sudo lshw -c cpu | grep width

आउटपुट: width: 64 bits


2

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


1
यह हमेशा सही नहीं है, थो।
ब्रिअम

2
@Braiam: यदि आप समझा सकते हैं तो बहुत अच्छा होगा।
जॉब

5
@Jobin: uname चल गिरी, नहीं सीपीयू के बारे में प्रिंट जानकारी। उदाहरण के लिए आप 64-बिट CPU पर 32-बिट कर्नेल चला सकते हैं।
क्रिस्टियन सियुपिटु

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