Должен ли я выбрать 32 или 64 бит для Linux?

18

У меня есть рабочая станция Linux, которая в настоящее время имеет 4 ГБ оперативной памяти и планирует в ближайшее время перейти на 8 ГБ. ЦП является Core2Quad Q9550.

Должен ли я установить 32- или 64-битный вариант Linux?

Роберт Мунтяну
источник

Ответы:

18

Вы должны установить 64-разрядную версию Linux. Несмотря на то, что для 32-разрядного ядра существуют способы адресации более 4 ГБ, приложения будут по-прежнему иметь ограничение в 3 ГБ.

Д. Вроблевский
источник
Спасибо за ответ. Вы говорите о PAE? Это работает правильно на практике?
Роберт Мунтяну
1
В настоящее время я использую PAE для доступа к 4 ГБ без проблем.
Марк
1
Я боюсь PAE. Это как проснуться в 16-битном мире.
Кирилл Васильевич Лядвинский
@ jia3ep: какие-либо конкретные причины, чтобы избежать PAE?
Роберт Мунтяну
1
Действительно, единственная причина не использовать PAE - снижение производительности на ~ 0,1%, которое настолько незначительно, что вы даже не заметите этого.
Zifre
5

Вы можете запустить 64-битное ядро ​​и 32-битный дистрибутив, который предоставит вам полный доступ к 4 ГБ или более оперативной памяти без потери производительности PAE. Это то, что я делаю на своей машине. Debian имеет linux-image-amd64, доступный для i386. К сожалению, Ubuntu этого не делает, вам придется скомпилировать собственное ядро, и я не знаю, есть ли в других дистрибутивах пакеты.

Тем не менее, для новых установок я бы рекомендовал 64-битную, так как производительность выше, если вы можете жить с хаки для 32-битных бинарных файлов, таких как Skype и некоторые плагины для браузера. В настоящее время дистрибутивы RPM поддерживают это нормально, в то время как Debian и Ubuntu этого не делают, но сейчас работают над поддержкой нескольких архитектур , причем первый релиз ожидается для Ubuntu 9.10 в этом году.

TRS-80
источник
1
Снижение производительности PAE происходит из-за дополнительного уровня в поиске таблицы страниц. Однако, хотя системы PAE используют трехуровневую систему таблиц страниц, системы x86-64, работающие в длинном режиме, используют четыре уровня. Если это единственное наказание за использование PAE, разве 64-разрядная версия не всегда будет иметь худшую производительность в этом отношении? Конечно, 64 бит предлагает некоторые другие функции, которые могут восполнить компромисс, но вы, кажется, рекомендуете против PAE из-за дополнительного поиска таблицы страниц.
ChrisInEdmonton
Я должен признать, что я не тестировал его, и Википедия говорит: «На процессорах x86-64 PAE обязателен в собственном длинном режиме». Инго сравнил его с groups.google.com/group/linux.kernel/browse_thread/thread/… и 64-битная версия хуже, чем PAE, хуже 32-битной из-за таблиц страниц в худшем тесте производительности форка. Производительность драйверов будет лучше, если аппаратное обеспечение будет поддерживать 64-битные, так как отказов буфера не нужно будет использовать, о чем я и думал.
TRS-80
4

Вот один обзор от LinuxForums.

Я бы колебался, если вы много работали с нишей или разрабатывали инструменты, написанные на полностью скомпилированных языках. Многие из проектов, которые меня интересуют, например, LDC , только начинают поддерживать 64-битные. Лично я сдерживаюсь, но я также держу больше оперативной памяти, так что это не проблема для меня.

Нихил Челлия
источник
1
+1 для проверки того, что все необходимое программное обеспечение поддерживается на 64-битной.
Mark
4

32-разрядный может использовать только менее 4 ГБ для одного процесса , но он может использовать больше для всей системы. В Linux не так много несерверных приложений, которым понадобится столько оперативной памяти, сколько я могу себе представить.

Вам просто нужно установить ядро ​​PAE (расширение физического адреса):

sudo sudo apt-get install linux-headers-server linux-image-server 

и затем перезагрузите компьютер. Беги сверху или свободнее и тебе надо больше барана. Я рекомендую 32-разрядную версию для настольных компьютеров.

Кайл Брандт
источник
3
> Я рекомендую 32-битную версию для настольных компьютеров. Почему? Раньше не было ни 64-битного (Sun) Java-плагина, ни 64-битного (Adobe) флеш-плагина, но не решены ли сейчас эти два случая?
asjo
4

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

Вы не сможете использовать более 4 ГБ памяти, используя 32-разрядное ядро, не перепрыгивая через некоторые циклы, такие как PAE, которых, по-моему, лучше избегать.

Тимо Гойш
источник
3

Я запускаю 64bit 9.04 для домашнего компьютера. Я довольно много работаю с этой машиной, и единственная проблема, связанная с 64-битной архитектурой, с которой я сталкиваюсь, - это проблемы со стабильностью в 64-битной версии Adobe Flash.

Колин Пикард
источник
2

Перейти на 64-разрядный. 32-разрядный может получить доступ только к 3,5 ГБ ОЗУ, и большинство проблем совместимости были устранены. Чтобы сделать это еще проще, используйте популярный дистрибутив, такой как Ubuntu .

Лукас Джонс
источник
Мой 32-битный Ubuntu может использовать только 2,9 Гб. 3.5Gb это мечта :)
Кирилл Васильевич Лядвинский
1
Мой 32-битный Ubuntu может использовать все 12 ГБ ОЗУ, хотя каждый процесс ограничен. Это не тот случай, когда 32-битные ОС могут получить доступ только к 3,5 ГБ ОЗУ. Вам просто нужно использовать PAE, Расширения физических адресов.
ChrisInEdmonton
1

Чтобы использовать все 8 ГБ естественно, вы должны установить 64-битную версию.

Кирилл Васильевич Лядвинский
источник