How do I check if I have a 32-bit or a 64-bit OS?
I downloaded and installed Ubuntu from the official site. However, I don’t know if I installed the 32-bit or 64-bit version. In Windows 7 I could right click My Computer and it listed which version it was. Is there an easy way to check in Ubuntu?
Installation architecture and kernel architecture are two different things. For example I implemented debian multiarch support via dpkg —add-architecture amd64 and installed some amd64 packages in my 32 bit Ubuntu 16.04. Now I run 32 bit installation with 64 bit kernel without problem. So while dpkg —print-architecture prints i386 , uname -m prints x86_64 . Refer to wiki.debian.org/Multiarch/HOWTO (it’s a tricky process)
16 Answers 16
I know at least 2 ways. Open a terminal( Ctrl + Alt + T ) and type:
- uname -a Result for 32-bit Ubuntu:
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux
Linux discworld 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
/sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=54cc7ae53727d3ab67d7ff5d66620c0c589d62f9, stripped
Method 2, which consists of «sniffing» the (binary) content of a widely available executable, is quite indirect and awkward. While it works for most setups, the mere presence of a 64bit executable should not be a reliable way of detecting the running OS architecture. Specially when you consider multiarch , ia32_libs and, specially in your init example, upstart
You are probably right, but Method 1 displayed me a i686 neither of 32 or 64 output was displayed for me
it is 32 bit, I have used the second method, but the first did’t show me anything that looked like i386 🙂 but your answer helped. thanks a lot
# file /sbin/init — /sbin/init: symbolic link to upstart’` — # file /sbin/upstart — /sbin/upstart: ELF 64-bit LSB shared object, x86-64.
Ubuntu 12.04+ with Unity
- Hit Command(mac) or Window key.
- Type Details , and select «Details» icon
- Read «OS type» field
- 64 bit OS will read «64-bit»
Alternative to get the above screen:
I know the terminal responses are good but I guess this is the GUI answer. 🙂
Ubuntu 11.04 with Unity
- Hit Command(mac) or Window key.
- Type System info , and select System Info icon
- Read «OS type» field
- 64 bit OS will read «64-bit»
+1: The GUI way is preferred over terminal commands for a user that is used to Windows and specifically asked for an easy way.
Also, another (GUI) way to get to the same screen: System Menu (top right corner, near the clock) -> System Settings -> Details
With an easy way most definitely in mind: please, anyone running older Ubuntus, provide your GUI equivalent! Especially for Lucid Lynx (as the LTS is supported till 2015 and hence might well be running on people’s hand-me-down laptops.)
@J-P: For older Ubuntus, such as Lucid Lynx, the easiest GUI way I know of is Gnome’s System Monitor. Its System tab shows the architecture.
The GUI window is lovely, but imagine if you will for a minute if your running the server edition without the GUI installed?
A very easy and short way is:
Open the Terminal, write the following and press Enter .
The resulting number (in my case 64) is the answer.
On my 32 bit system, this gives the correct answer as well. Of all the command listed in various answers, the output of this one is the most straightforward.
@Michael Damn, so I was. I don’t know how I managed that, and having upgraded those two machines to 64 bit in the past month, it’s pretty much moot now 😉 Thanks, anyway!
for 32-bit (or possibly i586 or i386), and:
uname -mpi gives all of the things mentioned in uname -a , even though they are usually all the same.
Open terminal and try the arch command. If its output is x86_64 then it’s 64 bit. If it says i686, i386, etc. then it’s 32 bit.
However, the best way to determine the architecture is to run the arch command and google the output.
On my computer (Ubuntu 9.04), the arch command doesn’t seem to exist. So I’d say uname -m is more reliable.
@JonathanSternberg: it was added a few months later, developed by the same authors of uname and included in the same coreutils package. So from Ubuntu 10.04 onwards both commands are available.
dpkg —print-architecture command will display whether you have installed a 32 bit or 64 bit Ubuntu OS.
On 64 bit systems
$ dpkg --print-architecture amd64
On 32 bit systems
$ dpkg --print-architecture i386
The script is basically this:
#!/bin/bash ARCH=$(uname -m) if [ "$ARCH" = "i686" ]; then zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit" fi if [ "$ARCH" = "x86_64" ]; then zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit" fi
This will need to be in a executable text file, and zenity will need to be installed.
Go to the System Settings and under the System section, hit Details. You will get every detail including your OS, your processor as well as the fact whether the system is running a 64-bit or a 32-bit version.
That seems wonderful. But I don’t know how to «Go to the System Settings». (BTW) I’m using 12.4 MATE.
Open the Ubuntu Software Center and search for lib32 . If that turns up any results, you are on a 64-bit install (the results are compatibility libraries for running 32-bit applications on a 64-bit install).
Not exactly a better answer, but at least it doesn’t require a terminal. 😉
I found an even easier one: open Help -> About Mozilla Firefox and you will see it right there. 😉
At the bottom it displays the «user agent string», e.g. on my 64-bit system:
Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12
Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12
x86_64 is 64-bit, i686 is 32-bit
(But this is still not the answer that should be there 😉 )
Pure GUI, sure, but quite a fragile one. packages whose names (or descriptions) contain lib32 is surely not a reliable way of detecting architecture.
The power button (top-most, extreme right) has an «About this Computer» option. 🙂
You should take in mind that you may have a 64 bit CPU while you install a 32 bit kernel. I.e. If your CPU is 64 it doesn’t mean that your OS is 64, it depends on what you’ve installed.
-m, --machine print the machine hardware name -p, --processor print the processor type or "unknown" -i, --hardware-platform print the hardware platform or "unknown"
so to get the hardware platform use uname -m or uname -p or uname -i while to get the kernel type it’s better to getconf LONG_BIT command.
Not actually relevant to the question: He has a 64 bit CPU and wants to know which OS got installed.
As far as I can remember, it is possible to install x86_64 kernel on a 32-bit system. As a few wrote here, you should look what libraries you have/what packages you have installed on your system. So the safest way to see is to check if you have /lib64 and if it is a symlink to /lib .
Another possible way is to check what packages you have downloaded in /var/cache/apt/archive . If they contain _amd64.deb, it is a 64-bit system, that is, if you have installed packages and have not cleared your cache.
All of that can be done from Konqueror/Dolphin by just pointing and clicking or:
Have a look at your Software Sources in Synaptic or Software Centre. If you haven’t deleted your original source eg cdrom, it will (?) indicate the architecture. It’s a GUI but it won’t say ’32bit’ nor ’64bit’.
For debian derived systems.
$ dpkg-architecture -q DEB_BUILD_ARCH amd64
$ dpkg-architecture -q DEB_BUILD_ARCH i386
To get reliable information about the OS, i.e. if the software installed and running on the OS is 32-bit or 64-bit, only two ways are recommended (using the command line). These are:
I am not sure what you call an OS being 32 bits.
To be specific, my kernel and desktop distribution is a 64 bits Debian/Sid, but I routinely use schroot to run a deboostrap -ed 32 bits Debian inside a chroot -ed environment (for testing purposes).
Do you feel that my 32 bits environment should be called 32 bits (I believe so) or 64 bits (after all, it does run inside a 64 bits kernel). In that environment uname -m says i686 and all libraries and executables and processes are 32 bits.
For practical purposes uname -m should be enough. The file command can tell you if an ELF executable is a 32 bits or a 64 bits one.
See the Linux specific personality(2) syscall (and also the uname(2) one).
And the hardware information about your processor is visible with e.g.
its output is the same in my desktop 64 bits system and in my 32 bits schroot-ed environment.
Is your Ubuntu a 32-bit or a 64-bit OS?
As a Linux user, knowing whether you’re running a 32-bit or 64-bit version of Ubuntu on your machine might be useful at times. The topic of how to determine the flavor of your operating system (OS) as well as the architecture of the underlying CPU emerges.
This tutorial will provide you with answers to the following questions:
- Is it a 32-bit or 64-bit version of Ubuntu that I’m using?
- Do I use a 32-bit Ubuntu on a 32-bit CPU?
- Is it true that I’m using a 32-bit Ubuntu on a 64-bit CPU?
Let’s start by defining 32-bit and 64-bit in the context of a CPU. In the early 1990s, processors were designed with 32-bit specifications, which meant the data bus could transport 32 bits at a time. The capacity of the data bus has grown with advancements in hardware technology, and it can currently transport 64 bits at a time; these are known as 64-bit processors. These powerful processors are capable of double the processing power of their predecessors.
32-bit CPUs can only run 32-bit operating systems, but 64-bit architecture can run both 32-bit and 64-bit operating systems. It’s preferable to utilize the 64-bit version of the OS to get the most out of the upgraded hardware technologies (64-bit CPU) (64-bit Ubuntu OS in our case).
How to check the if you are using 32-bit or 64-bit Ubuntu?
Ubuntu provides you with two ways to check the flavor of your operating system:
Note: We are running this tutorial on Ubuntu 18.
Using Graphical Interface
In order to test if you are running a 32-bit or a 64-bit Ubuntu operating system:
Open your system settings through the following two ways:
Click the down arrow drop-down located at the top right of your screen. The following window will open:
Now click the settings button located at the down left corner of the window.
Open the Settings application from the Ubuntu application menu as follows:
The following Settings window will open, displaying various system settings in tabbed form. The default tab open would be that of Wi-Fi.
Click the Details tab from the left panel.
The following Details tab will open in the Settings window with the About details displayed in the right panel as follows:
Here you will be able to see your system details including the OS type. This field tells you if you are using a 32-bit or 64-bit Operating System.
Note: Please note that this window will not provide any information about the underlying architecture of your CPU. In order to view that, you will need to use the command line(the Terminal)
Using Command Line
You can also test the flavor of your Ubuntu OS through the command line-the Terminal.
- Open the Terminal.
- Use the following command to fetch CPU details from the files sysfs and /proc/cpuinfo:
This command will display the following output:
The following entries are important for you to check the type of OS and the architecture of CPU:
Architecture: This entry tells you about the architecture of your CPU; x86_32 means you have a 32-bit processor and x86_64 bit signifies that you have a 64-bit processor. In the above output you can see that it is a 64 bit CPU.
You can also use the following command to only display the architecture of your CPU:
CPU op-mode(s): This entry tells you about the flavor of Ubuntu you are running on your system; 32-bit means you are running a 32-bit Linux OS, 32-bit, 64-bit signifies that you are running a 64-bit OS. In the above output you can see ‘32-bit, 64-bit” op-modes because the CPU architecture of 64-bit can run both of these flavors.
You are now able to know exactly what Ubuntu flavor and CPU architecture you are on!
Summary
Knowing whether you’re running a 32-bit or 64-bit version of Ubuntu on your machine might be useful at times. This tutorial explains how to determine the flavor of your operating system (OS) as well as the architecture of the underlying CPU’s underlying CPU.