Я недавно установил Virtual Box, и был озадачен, почему он не предлагает 64-битные версии любой ОС.

Поэтому я посмотрел, что у меня установлено, и нашел три разные команды, чтобы попытаться выяснить, что происходит.

uname -a

раскрывает:

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

Похоже, я установил 64-битную версию Kubuntu

Вторая команда, которую я нашел, смотрит на флаги:

grep flags /proc/cpuinfo

Который выводит следующую строку 8 раз:

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

Не слишком уверен, почему это выводится 8 раз, но это так. Странно, что у него есть lahf_lm но не lm

Лучшая команда, которую я нашел, была getconf WORD_BIT которая выводила 32 так же ясно, как день.

Теперь я в замешательстве - я определенно установил 64-битную версию Kubuntu (14.04) и примерно раз в месяц запускаю дистрибутивы, но, похоже, ОС работает в 32-битном режиме.

Почему это так и как мне это решить? Нужно ли будет переустанавливать Kubuntu?

1 ответ1

1

Это действительно легко. Вы успешно выполнили getconf , так что давайте посмотрим на это. Запустите следующую команду:

file $(which getconf)

Это выведет что-то вроде этого:

/usr/bin/getconf: исполняемый 64-разрядный LSB ELF, x86-64, версия 1 (SYSV), динамически связанный, интерпретатор /usr/lib/ld-linux-x86-64.so.2, для GNU /Linux 2.6 .32, BuildID [sha1] = e9b5e04a7d7c7552abb2e260d9c17c8ffb4ce2a3, раздетый

... что ясно указывает на то, что вы используете 64-битную систему. В противном случае вы не сможете запускать 64-битные программы.

Вывод uname также ясно показывает, что это ядро x86_64 .

getconf просто неверен (точнее, не имеет смысла). /proc/cpuinfo также может быть неправильным, то, что там написано, зависит от простого парсера в ядре.

Он содержит информацию обо всех процессорах в системе, поэтому у вас будет 4 блока на 4-ядерном процессоре. Времена 2, если Hyper-Threading активен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .