Tag Info

Hot answers tagged

29

You can use the file command to check out what format the executable file has. eg: $ file /bin/bash /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped


24

When you fail to execute a file that depends on a “loader”, the error you get may refer to the loader rather than the file you're executing. The loader of a dynamically-linked native executable is the part of the system that's responsible for loading dynamic libraries. It's something like /lib/ld.so or /lib/ld-linux.so.2, and should be an executable file. ...


21

Because AMD was the first one to release 64-bit x86 (x86-64) CPUs. the AMD64 architecture was positioned by AMD from the beginning as an evolutionary way to add 64-bit computing capabilities to the existing x86 architecture, as opposed to Intel's approach of creating an entirely new 64-bit architecture with IA-64. The first AMD64-based processor, ...


18

Native support Since Ubuntu 11.04 and Debian wheezy (7.0), Debian and Ubuntu have multiarch support: you can mix x86_32 (i386) and x86_64 (amd64) packages on the same system in a straightforward way. This is known as multiarch support See warl0ck's answer for more details. In older releases, Debian and Ubuntu ship with a number of 32-bit libraries on ...


15

Execute: grep flags /proc/cpuinfo Find 'lm' flag. If it's present, it means your CPU is 64bit and it supports 64bit OS. 'lm' stands for long mode. Alternatively, execute: grep flags /proc/cpuinfo | grep " lm " Note the spaces in " lm ". If it gives any output at all, your CPU is 64bit. Update: You can use the following in terminal too: lshw -C ...


15

lscpu is telling you that your architecture is i686 (an Intel 32-bit CPU), and that your CPU supports both 32-bit and 64-bit operating modes. You won't be able to install x64 built applications since they're built specifically for x64 architectures. Your particular CPU can handle either the i386 or i686 built packages. There are a number of ways to verify ...


13

The short answer: Variables do not take double the space in 64-bit vs 32-bit software. The potential memory gain from switching to a 32-bit OS will not be worth the effort. The long answer: Numbers can be larger yes, but that doesn't mean they will be. Also this applies to numbers, not strings, and strings are (generally) what consume the most amount of ...


12

From Wikipedia: “In 2004, the initial 32-bit x86 instruction set of the Pentium 4 microprocessors was extended by the 64-bit x86-64 set.” Your /proc/cpuinfo output shows flags: … lm …. The flag lm stands for “long mode“ which means 64-Bit extension. Thus, you have indeed a 64-bit processor.


12

The work required to make the kernel 64-bit was done a looooong time ago using DEC Alpha systems. Programs, however, are a different matter. The general consensus that I've seen so far seems to be: Separate /lib and /lib64 directories for systems that have mixed binaries Compile as 64-bit; if compilation fails, recompile as 32-bit until the source can be ...


12

Since Ubuntu 11.04 (natty) and Debian 7.0 (wheezy) introduced multiarch support, 32-bit and 64-bit libraries can coexist on one system. To install a 32-bit library libXX, first add the necessary 32bit architecture to your system: For Ubuntu: sudo dpkg --foreign-architecture i386 And for Debian: sudo dpkg --add-architecture i386 Then install the 32bit ...


12

Type grep lm /proc/cpuinfo (lm stands for long mode) Or just try booting with a 64-bit OS: if you do not have 64-bit support, it will say so and not boot. lm: Long Mode (x86-64: amd64, also known as Intel 64, i.e. 64-bit capable)


11

AMD intially implemented x86-64, before Intel. For this reason, most distros (and other OSs such as OpenBSD) did a first release when it was still AMD only, or renaming to x86-64 wasn't considered worth the effort. I think one of the another contributing factors to this naming confusion was a conflict between Intel and AMD over naming. Intel had an identity ...


11

32-bit x86 CPUs (since the Pentuim Pro) support up to 64 GiB RAM (using PAE). (The "CONFIG_HIGHMEM64G" kernel option needs to be set to actually use it). Each application can only see 4 GiB at a time (and some of that 4GiB must be used for other things, the exact amount depending on the "Memory split" kernel setting) 64-bit operating systems have some other ...


10

First, if your BIOS/UEFI does not detect correctly your RAM, then your OS won't do any better. There's no need to go any further if your BIOS display incorrect information about your setup. => You probably have at least an hardware problem. EDIT: From your dmesg | grep memory, it seems that you have in fact an hardware problem, located in your embedded ...


9

I think the easiest way is by: lscpu|grep "CPU op-mode"


9

Most open-source software has been working in 64-bit for quite a while. For proprietary software, many 64-bit applications are already available, but sometimes they don't work as well as they do in 32-bit. Flash, proprietary codecs etc... should work. Maybe if you have any hardware which requires proprietary drivers - and even then, most of those drivers ...


9

Set multilib_policy=best in your yum.conf, it defaults to 'all' so it installs both i386 and x86_64 packages. When you set it to 'best' it will only install i386 if there is no x86_64 version. From the CentOS 5 yum.conf man page: multilib_policy - Can be set to ’all’ or ’best’. All means install all possible arches for any package you want to install. ...


9

The 64bit kernel can be installed on Debian 32bit. You can see that the amd64 kernel is available for 32bit Debian on it's package page. This can be used as an alternative to using a PAE enabled kernel to support more than 4G of total RAM. Note that 32bit binaries still can not access more than roughly 3G of RAM per process.


8

Windows and *ix used different data models for the transition. This UNIX.org page is a bit old, but it still provides a good overview of the trade-offs (note that long long was later added to C99, and was required to be at least 64-bit). You can also see a Wikipedia article on the same topic. As advocated at the end of the UNIX.org article, most UNIX-like ...


8

Debian and Ubuntu are moving to a new multiarch implementation (spec). Among other things, this involves moving arch-specific libraries into /usr/lib/<triplet>, dropping the limitations of lib32 and lib64 (where will the new x32 ABI go? where do qemulated binaries live? etc.) as well as extending the package manager to handle mixed-architecture ...


8

If you want to limit yourself to ELF detection, you can read the ELF header of /proc/$PID/exe yourself. It's quite trivial: if the 5th byte in the file is 1, it's a 32-bit binary. If it's 2, it's 64-bit. For added sanity checking: If the first 5 bytes are 0x7f, "ELF", 1: it's a 32 bit ELF binary. If the first 5 bytes are 0x7f, "ELF", 2: it's a 64 bit ELF ...


7

I assume that you're wondering about amd64 vs i386, the 64-bit and 32-bit architectures on PCs (there's also a choice of word size on Sparc64). According to the official platform description: The only major shortcoming at this time is that the kernel debugger ddb is somewhat poor. Another mentioned limitation is that if your processor lacks the NX bit ...


7

If your laptop has more than 3.5GB of RAM installed, you will want to install a 64 bit edition in order to take advantage of the full amount of RAM. General use of x64 operating systems is becoming more and more widespread. I run a x64 bit version of Linux on my desktop and have no issues. If you install a x64 bit version, however, there are some caveats: ...


7

All processors that support the x64 instruction set (also known as x86_64 or amd64) also support the x86 instruction set (also known as i386 or i686, which are strictly speaking specific versions of x86). The same goes for ARM A64 (the new 64-bit instruction set appearing in ARMv8) and A32 (the name for the “classic” 32-bit instruction set), for SPARC64 and ...


6

Practically no. Note though that 64 and 32 bit application don't share libraries, so running one instance of 32 bit application may cause loading of many shared libraries "again".


6

With regard to eclipse not being able to find adb, etc, this because without the 32-bit shared libraries needed to run them on the system, they are not executable. With regard to 32-bit libraries, the situation is fairly simple: you just need to install the appropriate 32-bit libs. On the 64-bit fedora 17 install I have here, the primary 64-bit libraries ...


6

All your ram is accessible even with a 32bit kernel. The main difference is probably that any application cannot address more than 3gb of memory. I don't know if you really use such applications (usually databases, or graphics applications), otherwise you may ignore the problem. Please note that 64bits applications requires more memory (because registers and ...


6

The -march flag permits the compiler to use instructions that are not supported by other CPUs. There are a few instructions that are legal to use with -march=athlon64 that your i7 does not support. These are the 3DNow! and Enhanced 3DNow! instructions that weren't included in MMX or integer SSE. If the code uses instructions like PFPNACC it will fault on ...


5

In most distributions there is a PAE version of the Kernel. This kind of Kernel will let you address up to 64GB RAM with a 32-bit distribution. You will find problems with some applications not available in 64 bits, like flash. And with other applications you will have to install x64 and i386 libraries duplicating the amount of necessary space. Another ...


5

Search /var/log/dmesg for memory map (grep for 'e820') and count how many memory is reported there as usable. This is what BIOS tells to loaded OS for memory. (This is correct only for old-styled boot. I don't know how the memory is reported if EFI-styled boot is used, but I guess there is similar report.) Also, reporting 16GB by BIOS while 32GB is ...



Only top voted, non community-wiki answers of a minimum length are eligible