0

I've recently installed Virtual Box, and was confused as to why it doesn't offer any 64bit versions of any OS.

So I looked into what I've got installed, and found three different commands to try to find out what was going on.

uname -a

Reveals:

Linux kubuntuBox 3.13.0-74-generic #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

So it looks like I've installed a 64bit version of Kubuntu

The second command I found looks at the flags:

grep flags /proc/cpuinfo

Which outputs the following line 8 times:

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid

Not too sure why it is output 8 times, but it is. Strange that it has lahf_lm but not lm

The best command I found was getconf WORD_BIT which output 32 as clear as day.

Now I'm confused - I definitely installed the 64bit version of Kubuntu (14.04) and have roughly once a month run dist-ugrades, but the OS seems to be running in 32 bit mode.

Why is this, and how do I resolve this? Will I need to re-install Kubuntu?

1 Answer 1

1

It’s easy, really. You successfully executed getconf, so let’s look at that. Run the following command:

file $(which getconf)

It’ll output something like this:

/usr/bin/getconf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=e9b5e04a7d7c7552abb2e260d9c17c8ffb4ce2a3, stripped

...which clearly indicates you’re running a 64-bit system. Otherwise you wouldn’t be able to run 64-bit programs, after all.

The uname output also clearly shows it’s a x86_64 kernel.

getconf is simply wrong (or rather, not meaningful). /proc/cpuinfo can also be wrong, what’s written there depends on a simple parser in the kernel.

It contains information an all processors in the system, so you’ll have 4 blocks on a 4-core CPU. Times 2 if Hyper-Threading is active.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .