Я нахожусь на Ubuntu, и я сделал эту команду:
$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux
Означает ли это, что я на 32-битном или 64-битном процессоре?
Причина, по которой я пытаюсь это выяснить, заключается в том, что я получаю ошибки, которые выглядели так:
cannot execute binary file
и из Google, я думал, что это проблема процессора. Любые идеи?
architecture
Genadinik
источник
источник
Ответы:
Это означает, что вы работаете с 32-битным ядром, что означает, что вы можете запускать только 32-битные приложения без использования эмулятора или виртуализации.
Если вы хотите узнать, является ли ваш процессор 64-битным, ищите
lm
флаги, перечисленные в/proc/cpuinfo
.источник
lscpu
можно использовать и более дружелюбно.Вы можете использовать
lscpu
.Дальнейшее объяснение области архитектуры:
источник
Вы также можете проверить архитектуру двоичного файла, который вы пытаетесь запустить, используя файл:
file filetocheck
. Он будет упоминать либо 32-разрядный, либо 64-разрядный.источник
Основная идея:
x86_64 - 64-битный процессор, а i386 - 32-битный.
С lscpu
Длинный ответ:
lscpu
Краткий ответ
lscpu | awk '/CPU op-mode/ {print}
Выход :
CPU op-mode(s): 32-bit, 64-bit
С лшв
Длинный ответ: беги
sudo lshw
Чуть короче ответ:
sudo lshw -c cpu
Выход:
Еще более короткий ответ:
sudo lshw -c cpu | grep width
Выход:
width: 64 bits
источник
uname -p
дать архитектуру процессора. Если это даетx86_64
, это означает, что процессор 64 бит.источник