составляет мой ARM Linux 32 или 64 бита?

  1. Да, на некоторых чаще (ноутбук), на некоторых иногда (рабочий стол с новыми компонентами), на некоторых никогда (серверное оборудование или качественный рабочий стол с немного более старыми компонентами).

  2. Загрузите ядро deb с http://kernel.ubuntu.com/~kernel-ppa/mainline/, с которым Вы любите, устанавливаете его dpkg -i kernel_name.deb и перезагрузка. Если это не лучше, установите некоторую другую версию и перезагрузку снова. Если никакие новые шоу ядра, более стабильные затем значение по умолчанию - затем, Вы знаете, что ядро не является проблемой, перезагрузкой к ядру по умолчанию, и удалите все новые ядра, которые Вы попробовали. Тем путем у Вас все еще есть своя установка Ubuntu по умолчанию без большого количества пота (за исключением нескольких загрузок и перезагрузок).

  3. И да, почти весь мой ПК Linux возрос на 24/7, таким образом, я знаю - каждое системное замораживание раздражает меня.:) Полные замораживания чрезвычайно редки, чаще всего (если что-то замораживается), замораживания GNOME, но я могу проверить с помощью ping-запросов и ssh к ПК, так обычно всего X перезапусков сессии достаточно.

66
11.06.2014, 02:03
6 ответов

Существует несколько градаций, так как на 64-битном процессоре можно запускать 32-битную или смешанную операционную систему. Смотрите 64-битное ядро, но все 32-битные исполняемые процессы ELF, как это? для подробного обсуждения (написано для x86, но большинство из них относится и к arm).

Модель процессора можно найти в /proc/cpuinfo. Например:

$ cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 10 (v7l)

ARMv7 (и ниже) - 32-битный. ARMv8 вводит 64-битный набор инструкций.

Если вы хотите посмотреть, поддерживает ли ваша система 64-битные двоичные файлы, то проверьте архитектуру ядра:

$ uname -m
armv7l

На 64-битном процессоре вы увидите строку, начинающуюся с armv8 (или выше), если сам процесс uname является 32-битным процессом, или aarch64, если это 64-битный процесс. (See also https://stackoverflow.com/questions/45125516/possible-values-for-uname-m)

79
27.01.2020, 19:31

Как указывает Ричард, armv7 варианты все 32-битные, поэтому нет избыточной этикетки armv7-32 и т.д.

На linux-системе вы можете легко, хотя и не совсем определенно, проверить, изучив общий исполняемый файл:

> which bash
/bin/bash
> file /bin/bash
/bin/bash: ELF 32-bit LSB executable, ARM, version 1 (SYSV) ...

Я говорю "не определенно", потому что на 64-битной системе можно запускать 32-битные исполняемые файлы.

В /proc или /sys нет ничего глупого; выходные данные из /proc/cpuinfo могут дать некоторые существенные подсказки. Если по каким-то причинам вам нужна автоматическая проверка, то создание таблицы, сопоставленной с полем "имя модели", кажется одним из потенциально звуковых методов (другие поля, в том числе "модель", "семейство процессоров" и т.д. выглядят необязательно -- они вообще не отображаются для меня на процессоре Broadcom 2708 ARMv6).

24
27.01.2020, 19:31

Установите пакет 'lshw'.

# lshw
...
    description: Computer
    product: Raspberry Pi 3 Model B Rev 1.2
    width: 32 bits
...
11
27.01.2020, 19:31

Нет, это 64-битный компьютер. Это Allwinner H8, ведьма - двойной ARM-7. 8 ядер, 64 бита, powervr, sgx 544, удвоенная скорость (700 МГц).

Так что нет, он может быть 64-битным. Просто ОС может быть 32.

-5
27.01.2020, 19:31

Попробуйте следующее.

// -*- compile-command: "gcc -Wall -o sizeof sizeof.c && ./sizeof" -*-

#include <stdio.h>
#include <limits.h>

#define size(t) { t x; printf("%s:\t%3lu bit\n", #t, CHAR_BIT * sizeof x); }

int main (int argc, char *argv[])
{
  size(char);
  size(short);
  size(int);
  size(long);
  size(void*);
  return 0;
}

Размер адреса: void*.

1
27.01.2020, 19:31

Похоже, что большинство способов увидеть количество битов — это каким-то образом узнать, что arm7 = 32 бита, и хотя это может быть правдой, но как насчет

pi@rpi9:~ $ getconf LONG_BIT
32

И если вы хотите найти модель процессора, я обычно использую архитектуру

root@rpi4:~# tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi Model B Rev 2
armv6l

pi@rpi9:~ $ tr '\0' '\n' </proc/device-tree/model;arch
Raspberry Pi 3 Model B Rev 1.2
armv7l
11
27.01.2020, 19:31

Теги

Похожие вопросы