Да, на некоторых чаще (ноутбук), на некоторых иногда (рабочий стол с новыми компонентами), на некоторых никогда (серверное оборудование или качественный рабочий стол с немного более старыми компонентами).
Загрузите ядро deb с http://kernel.ubuntu.com/~kernel-ppa/mainline/, с которым Вы любите, устанавливаете его dpkg -i kernel_name.deb
и перезагрузка. Если это не лучше, установите некоторую другую версию и перезагрузку снова. Если никакие новые шоу ядра, более стабильные затем значение по умолчанию - затем, Вы знаете, что ядро не является проблемой, перезагрузкой к ядру по умолчанию, и удалите все новые ядра, которые Вы попробовали. Тем путем у Вас все еще есть своя установка Ubuntu по умолчанию без большого количества пота (за исключением нескольких загрузок и перезагрузок).
И да, почти весь мой ПК Linux возрос на 24/7, таким образом, я знаю - каждое системное замораживание раздражает меня.:) Полные замораживания чрезвычайно редки, чаще всего (если что-то замораживается), замораживания GNOME, но я могу проверить с помощью ping-запросов и ssh к ПК, так обычно всего X перезапусков сессии достаточно.
Существует несколько градаций, так как на 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)
Как указывает Ричард, 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).
Установите пакет 'lshw'.
# lshw
...
description: Computer
product: Raspberry Pi 3 Model B Rev 1.2
width: 32 bits
...
Нет, это 64-битный компьютер. Это Allwinner H8, ведьма - двойной ARM-7. 8 ядер, 64 бита, powervr, sgx 544, удвоенная скорость (700 МГц).
Так что нет, он может быть 64-битным. Просто ОС может быть 32.
Попробуйте следующее.
// -*- 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*
.
Похоже, что большинство способов увидеть количество битов — это каким-то образом узнать, что 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