LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 04-19-2014, 02:59 PM   #1
stf92
Senior Member
 
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442

Rep: Reputation: 76
Is mine a 64-bit machine?


Hi: How can I know if the CPU is 64 bits? Well, that is the question. Some info, from /proc/cpuinfo:

Code:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Celeron(R) CPU 2.26GHz
stepping        : 9
 
Old 04-19-2014, 03:06 PM   #2
rokytnji
LQ Veteran
 
Registered: Mar 2008
Location: Waaaaay out West Texas
Distribution: antiX 23, MX 23
Posts: 7,064
Blog Entries: 21

Rep: Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470Reputation: 3470
Try
Code:
lscpu
instead
 
Old 04-19-2014, 03:06 PM   #3
rknichols
Senior Member
 
Registered: Aug 2009
Distribution: Rocky Linux
Posts: 4,770

Rep: Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210
Look for flag "lm" (long mode) in /proc/cpuinfo.
Code:
grep " lm " /proc/cpuinfo
 
Old 04-19-2014, 04:10 PM   #4
haertig
Senior Member
 
Registered: Nov 2004
Distribution: Debian, Ubuntu, LinuxMint, Slackware, SysrescueCD, Raspbian, Arch
Posts: 2,331

Rep: Reputation: 357Reputation: 357Reputation: 357Reputation: 357
Code:
grep "address sizes" /proc/cpuinfo
If it returns something like this:
Code:
address sizes	: 48 bits physical, 48 bits virtual
address sizes	: 48 bits physical, 48 bits virtual
address sizes	: 48 bits physical, 48 bits virtual
address sizes	: 48 bits physical, 48 bits virtual
address sizes	: 48 bits physical, 48 bits virtual
address sizes	: 48 bits physical, 48 bits virtual
... then it is 64-bit. The thing to look for is "48 bits virtual", don't worry about the "physical". And don't worry that you're seeing 48 bits listed and not 64. A 64-bit CPU can address a 48 bit virtual address space.
 
Old 04-19-2014, 04:16 PM   #5
cwizardone
LQ Veteran
 
Registered: Feb 2007
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,041

Rep: Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219
How about, uname -a
 
Old 04-19-2014, 04:48 PM   #6
lleb
Senior Member
 
Registered: Dec 2005
Location: Florida
Distribution: CentOS/Fedora/Pop!_OS
Posts: 2,983

Rep: Reputation: 551Reputation: 551Reputation: 551Reputation: 551Reputation: 551Reputation: 551
Quote:
Originally Posted by cwizardone View Post
How about, uname -a
that will give you the kernel info, not the CPU info.
 
Old 04-19-2014, 05:30 PM   #7
stf92
Senior Member
 
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442

Original Poster
Rep: Reputation: 76
/proc/cpuinfo in my box does not give address sizes for this machine and, hence, likely for any other one. But I know the CPU is Intel Celeron D, bearing 'SL8HH' on the microprocessor top. And this page,

http://www.cpu-world.com/CPUs/Celeron_D/index.html

under 'Show all' 'Hide all' says:

Bus width: 32-bit

Whether this tells the CPU is 32 bits I don't know. One thing is the electrical bus width and another one the register width, a processor being called 64-bit (resp. 32-bit) depending on the register bit, I think. For example, in 64 bits, the AX,BX,CX,DX,SP,BP,SI,DI registers are 64-bit registers.

Furthermore, I had in my hands the Pentium I electrical specifications and by them I came to know its data bus consists of 64 lines, that is, it has a 64-bit wide data bus.
 
Old 04-19-2014, 05:32 PM   #8
cwizardone
LQ Veteran
 
Registered: Feb 2007
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,041

Rep: Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219Reputation: 7219
Quote:
Originally Posted by lleb View Post
that will give you the kernel info, not the CPU info.
It will also give you the CPU information, e.g.,

Quote:
bash-4.2$ uname -a
Linux darkstar 3.10.30 #2 SMP Fri Feb 14 19:46:22 CST 2014 x86_64 Intel(R)......
 
Old 04-19-2014, 05:46 PM   #9
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
Post 2 gave an easy answer if you happen to have the lscpu program installed.

Post 3 gave a really robust answer (not easy for it to fail or be wrong). But I guess you didn't quite understand it or ignored it.

Post #4, I'm not so sure of. On a 64-bit kernel it acts as described. But I'm not sure with a 32-bit kernel if it would distinguish a 32-bit from 64-bit CPU.

Post #5, really just tells you whether the kernel is 64-bit not whether the CPU is 64-bit.

Quote:
Originally Posted by cwizardone View Post
It will also give you the CPU information, e.g.,
It doesn't help anyone for you to repeat your mistake after corrected by someone who knows better.

If you have a 64-bit kernel (as you showed) then of course you have a 64-bit CPU. But we are assuming the OP has a 32-bit kernel and doesn't know whether the CPU is 64-bit.

uname running under a 32-bit kernel cannot tell you whether you have a 64-bit CPU. What you think is CPU info within uname -a is not really what you think.


Quote:
Originally Posted by stf92 View Post
/proc/cpuinfo in my box does not give address sizes for this machine and, hence, likely for any other one.
Try one of the other methods suggested, especially looking for the lm on the flags line in /proc/cpuinfo. lm stands for "long mode". It tells you the CPU is able to run a 64-bit kernel and it is information that is available even if you happen to be running a 32-bit kernel on that CPU.

Quote:
Originally Posted by stf92 View Post
One thing is the electrical bus width and another one the register width, a processor being called 64-bit (resp. 32-bit) depending on the register bit, I think. For example, in 64 bits, the AX,BX,CX,DX,SP,BP,SI,DI registers are 64-bit registers.
An x86 CPU is called 64-bit if those registers (the ones that can be used for virtual addresses) are 64-bit.

An x86 CPU has a lot of different buses and their sizes vary by model and none of that is responsible for the official bit-size of the processor.

The bit size measures the virtual address size, which is 32-bits when running a 32-bit kernel and is 64-bits (though only 48 independent bits) when running a 64-bit kernel.

A 32-bit CPU cannot run a 64-bit kernel. A 64-bit CPU can run either a 32-bit kernel or a 64-bit kernel.

Last edited by johnsfine; 04-19-2014 at 05:54 PM.
 
1 members found this post helpful.
Old 04-19-2014, 06:18 PM   #10
stf92
Senior Member
 
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442

Original Poster
Rep: Reputation: 76
@johnsfine:

Firstly, I do not need to be lectured. I think it is you who does not care reading the posts, namely post #7. I gave very specific information, which can resumed in this: the CPU sSpec is SL8HH.

This page gives a definite answer to the thread's question: http://ark.intel.com/products/27105/...Hz-533-MHz-FSB

given that SL8HH corresponds to processor number 315. There it says:
Quote:
Instruction set: 32-bit
That is, I am here being informed by Intel itself. I repeat. Don't come to me with sermons. LQ is not an oracle nor does it intend to be one (as far as I know).

[It seems you read that post after all, while I was writing mine]

Last edited by stf92; 04-19-2014 at 06:24 PM.
 
Old 04-19-2014, 06:32 PM   #11
rknichols
Senior Member
 
Registered: Aug 2009
Distribution: Rocky Linux
Posts: 4,770

Rep: Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210Reputation: 2210
deleted

Last edited by rknichols; 04-19-2014 at 06:37 PM. Reason: No point in saying what I said
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
running 32 bit C code .exe file using more memory to run on 64 bit machine? gajananh999 General 9 08-07-2012 08:16 AM
[SOLVED] building shared libary in 32 bit mode on 64 bit machine using -m32 option gaurav.rustagi Linux - Software 3 01-24-2012 09:03 AM
[SOLVED] building shared libary in 32 bit mode on 64 bit machine using -m32 option gaurav.rustagi Linux - Newbie 1 01-24-2012 07:54 AM
segmantation fault on a 64 bit machine caused by binary compiled on a 32 bit machine ninofattore Linux - Newbie 1 10-13-2011 01:48 PM
[SOLVED] Red Hat Enterprise Desktop 5.3 on 64 bit machine need 32-bit library file hhs1982 Linux - Newbie 4 06-29-2010 11:55 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 05:39 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration