Должен ли я выбрать 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 в этом году.


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.