Вопрос В чем разница между 32-битным и 64-битным, и какой из них выбрать?


В чем разница между 32-битным и 64-битным Ubuntu? Я слышал, что 64-битная платформа работает лучше и может обнаруживать более 4 ГБ ОЗУ. Кроме того, хотя некоторые приложения еще не портированы на 64-битные, ia32-libs позволяет запустить 64-разрядную машину.

Если да, почему бы не продвигать 64-битную версию более 32-битных?


136
2017-10-14 03:39


происхождения


Связанный: Как проверить, есть ли у меня 32-разрядная или 64-разрядная ОС? - Lucio
Связанный: Что случилось с пакетом ia32-libs? - LiveWireBT
Ubuntu 32-разрядная, 32-разрядная PAE, 64-битные тесты ядра - phuclv


ответы:


Я считаю, что основной вопрос при выборе между 32 и 64 битами - это не «Поддерживает ли мой процессор 64 бита», если тогда я должен использовать 64, потому что это вдвойне хорошо », но «Сколько у меня памяти?»,

64-разрядные программы используют примерно на 50% больше памяти, чем их 32-разрядные аналоги. Результатом этого являются:

  • меньше кода / данных могут вписываться в кеши процессоров -> больше промахов в кеше -> ваш сверхбыстрый процессор ждет больше для контроллера памяти для извлечения данных из ОЗУ. Процессор также должен читать Больше потому что он более раздутый.

  • Linux использует нераспределенное ОЗУ для кэширования дисков. Меньшая свободная память -> меньше места для кеш-дисков -> медленный доступ к диску

  • Как только вы выйдете из ОЗУ и система начнет заменять - доступ к диску в тысячи раз медленнее, чем оперативная память, поэтому любые потенциальные преимущества 64-битного кода (см. Ниже) вылетают из окна.

С другой стороны, в 64-битном режиме процессор имеет больше регистров, поэтому ему не нужно часто обращаться к памяти, а также некоторые вычисления (64-разрядные номера и т. Д.) Являются более эффективными. Как правило, код, который не ограничен памятью, работает немного быстрее в 64-битном режиме.

Итак, если ваша система имеет, скажем, 2 Гбайт ОЗУ или меньше, я бы определенно выбрал 32 бита. Более 4GiB - преимущества 64 бит становятся все более заметными. Около 4GiB - это «серая зона» - вам нужно сделать выбор самостоятельно.

Вот скриншоты (довольно старого) ванильного Ubuntu, работающего в VirtualBox с 1GiB RAM:

32 бит: использует 388 Мбайт ОЗУ сразу после загрузки, никаких дополнительных приложений не работает (из снимка экрана, 397780KiB, что составляет 388MiB)

32 bit Ubuntu

64 бит: использует 491 Мбайт ОЗУ (со скриншота, 503452KiB = 491MiB)

64 bit Ubuntu

Кроме того, в моем тестировании веб-приложение, написанное на Python, использовало на 64-битной машине на 60% больше памяти, что привело к тому, что тестовый набор, запущенный в течение 380 секунд на 32-битной машине, но занимающий 523 секунды на 64- бит один (оба с 1 ГБ ОЗУ). Если бы машины не были ограничены RAM, результаты, вероятно, были бы разными (как показывают тесты phoronix).

Вот несколько более тщательных и недавних тестов: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

mem free mem used swap used

В принципе, это как отказ от 30% вашей оперативной памяти в обмен на возможное усиление от 10% скорости процессора.


143
2017-10-22 07:59



Так 32-бит, 388M; 64-бит, 498M или около 110M больше, и это 30% от 2G ?? - irrational John
Я согласен с цифрами, но не согласен с этим. На 30% меньше оперативной памяти для 10% улучшенной производительности делает ее сделкой века! Более того, намного дешевле вставлять дополнительную память, чем заменять процессор. - Oli♦
Да, я не согласен с этим, но я бы поставил его сильнее и пошел немного дальше, только предлагая 32-битный, когда он не поддерживается процессором, или нет возможности обновлять ОЗУ (он древний или вы собираетесь его выбросить) , Люди с современным компьютером с <= 2GB должны потратить 20-30 долларов на ebay и иметь 4 ГБ. Стоит такое повышение на 10%. - Oli♦
@nealmcb: вы ограничены ~ 3 Гбайт ОЗУ на один процесс в 32-битном режиме, даже с PAE и всем остальным. Таким образом, это не поможет вам с Firefox (хотя это может помочь с Chrome, потому что он использует отдельный процесс для каждой вкладки). - Sergey
Это все еще верно в 2015 году? Я хочу установить Ubuntu 14.04 на планшет Atom, который имеет 1 ГБ памяти и медленный процессор (64-разрядный), поэтому после прочтения этого я сильно склоняюсь к 32-битным. Считается ли что-нибудь стоящим после публикации этого ответа? Особенно с точки зрения использования памяти в 64-битной памяти по сравнению с 32-разрядными, поскольку память будет самым большим узким местом в этой системе. - Andreas Hartmann


Если вы не хотите изучать технические детали, выберите рекомендуемую 32-разрядную версию.

64-бит обычно быстрее, даже если объективно трудно заметить. Это меньше связано с шириной 64-битной информации, но с наличием 16-ти 8-х общих регистров процессора во всем наборе команд. Недостаток тратить больше памяти на управление и более крупные указатели тем самым в основном выравнивается.

Практическая проблема: не у всех есть процессор, совместимый с AMD64. Продвижение 64-битной версии стандартного i686 приведет к большему разочарованию пользователей. Поэтому в течение ближайших нескольких лет он сбивает с толку представить 32-битную версию среднему пользователю. Это не проблема для всех, кто знает, так как 64-разрядная версия легко доступна. И мы, пользователи amd64, не имеем никакого недостатка в этой ситуации, за исключением начальной загрузки. Все пакеты доступны в обеих архитектурах.

В сложившихся обстоятельствах страница загрузки Ubuntu выглядит хорошо для меня. Он говорит «32 бит (рекомендуется)», но «рекомендуемый» переводит на «меньше проблем, если вы не знаете всех технических деталей вашего компьютера». Для страницы загрузки нетбуков нет даже выбора, потому что некоторые процессоры Intel Atom 32-битные только в 2010 году!
Поэтому в заключение, я думаю, что устранение проблем совместимости по-прежнему необходимо. Тем не менее, я согласен с тем, что по строкам должна быть, по крайней мере, блестящая сноска, что -64 быстрее, чем -32, и рекомендуется использовать IF (НО ТОЛЬКО ЕСЛИ), которую поддерживает целевая система.


22
2017-10-14 08:30



Ii будет интересным, когда будут поддерживаться новые двоичные файлы x32 и ABI, сколько 64-битных приложений переключится на этот ABI en.wikipedia.org/wiki/X32_ABI использовать меньше ресурсов и памяти и полностью использовать процессор. - Emanuele
Если рекомендуется 32-бит, то почему Wubi предпочитает 64-битный? - Dan Dascalescu
Теперь можно рекомендовать 64-битную версию n.b ... - Wilf
Примечание для читателей: этот ответ был написан более 4 лет назад. Я бы не рекомендовал устанавливать 32-битные данные в настоящее время, и я не думаю, что Ubuntu порекомендовал бы его больше. - thomasrutter
Теперь вопрос будет решаться чуть менее чем через год, с 64-битные сборки, вероятно, станут стандартом после Ubuntu 16.04.. - mario


Термины 32-разрядные и 64-разрядные относятся к способу обработки процессором компьютера   Информация. 64-разрядная версия обрабатывает большое количество оперативной памяти больше   чем 32-разрядная система. 1

  • Для запуска 64-разрядной ОС вам нужна поддержка от 64-битного процессора.
    • Для запуска 64-битного приложения вам нужна поддержка как из 64-разрядной ОС и 64-битный процессор.

Общее правило заключается в том, что 32-разрядная (ОС и приложение) будет работать на 64-разрядной, но 64-разрядная (ОС и приложение) не будет работать на 32-разрядной:

  • 32-разрядная ОС будет работать на 32-разрядном или 64-битном процессоре без каких-либо проблема.
  • 32-разрядное приложение будет работать на 32-разрядной или 64-разрядной ОС без каких-либо проблема.
  • Но 64-битное приложение будет работать только на 64-битной ОС и 64-битной ОС будет работать только на 64-битном процессоре.

Для установки 64-разрядной ОС необходим 64-разрядный процессор. Обратитесь к производителю вашего ПК, чтобы узнать, совместима ли ваша система с 64-разрядной версией.

32-разрядные системы имеют ограничение на оперативную память 4 ГБ, что означает, что они не могут адресовать более 4 ГБ ОЗУ, даже если в системе установлено больше (не все из них будут использоваться). Обходные пути доступны, но их трудно сделать для обычного пользователя.

Заметка: Ubuntu 12.10, и новее будет автоматически поддерживать PAE. До 12.10 у вас есть возможность выбрать поддержку PAE в зависимости от вашего процессора. PAE расширяет максимальную ОЗУ на 32-битной до 64 ГБ, может быть найдено больше информации Вот.

64-разрядные версии имеют дополнительные преимущества, включая увеличенную пропускную способность, аппаратное обеспечение DEP (предотвращение выполнения данных) и лучшую защиту ядра.

Большинство 32-разрядных приложений будут продолжать работать в 64-битных системах, но некоторые приложения вообще не работают или будут работать медленнее.

Для получения дополнительной информации вы можете посмотреть 32-битный и 64-разрядный 

1Источник: Microsoft


18
2018-06-28 05:45



@Alvar CPU должен поддерживать PAE. В общем случае рекомендуется использовать 64-битную систему, если у вас есть память объемом 4 Гб или больше, и / или хотите получить полную выгоду от архитектуры 64-битной архитектуры. - Mitch♦
Я понимаю, но, как я сказал, Процессор должен поддерживать PAE для его работы, Например, Atom не поддерживает PAE. - Mitch♦
Просто добавил это как примечание в ответе. - Mitch♦
добавлено объяснение того, что PAE с источником. Надеюсь, вы довольны этим. - Alvar


Как указано Вотв Phoronix: «С удаленной многоуровневой ситуацией Ubuntu большинство приложений и плагинов теперь отлично работают на 64-битных (например, Adobe Flash и Java) и 64-битных, которые обычно намного быстрее, чем 32-разрядные, не является большой причиной не переходить на версию x86_64 ».

Хотя это обсуждается если 64bit будет указываться как значение по умолчанию вместо 32 бит, я думаю, что у вас есть некоторое усиление производительности с первым. Видеть эти критерии,

И слово вашей «низкой» памяти RAM из Phoronix: «Разработчики Ubuntu чрезмерно обеспокоены тем, что 32-разрядные нетбуки все еще существуют, и для систем, которые имеют только 2 ГБ оперативной памяти, где использование программного обеспечения x86_64 может привести к низкому уровню памяти и, следовательно, к увеличению использования SWAP. далекое большинство пользователей, они намного лучше в 64-битном мире ».

Возможно, вы можете установить его и посмотреть, часто ли система использует своп.


10
2018-04-23 00:03





Я просмотрел это для Ubuntu Precise LTS некоторое время назад. Вот некоторые результаты некоторого анализа, который я провел:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/low-memory-systems/readme.txt

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt

В принципе, если у вас 4 ГБ или меньше, все в порядке, более 4 ГБ считают использование i386-pae или amd64. 64-разрядные системы потребляют больше памяти (например, указатели имеют размер 64 бит), но вы можете увидеть выигрыш в производительности на 64-битных системах из-за оптимизаций, которые используют 64-битные копии или используют дополнительные регистры процессора, доступные в режиме 64 бит.


3
2017-07-27 17:55





Для меня наиболее важным был тот факт, что вы не можете использовать файловую систему ZFS на 32-битной ОС, потому что она просто неустойчива из-за ограничений vmalloc 32-бит os (независимо от PAE или nonPAE). Это было повод для меня переустановить до 64 бит, и я никогда не оглядывался назад. Даже у NVIDIA несколько строк о vmalloc на страницах «устранения неполадок», заканчивая тем, что пользователи могут переключиться на 64-битные ядра.

В 32-битном режиме есть ограничение на 1 ГБ, поэтому даже если он может использовать до 4 ГБ, только 1 ГБ называется так называемым «низким», а остальное - «большой памятью», что не является общим. И 1 ГБ действительно небольшое количество, в настоящее время .. Попробуйте #free -l


3
2018-05-04 05:37





Как отмечалось в предыдущих плакатах, 64-битная версия 32-разрядная относится к размеру данных, которые могут быть перемещены в одной операции компьютером. Это относится к размеру регистров на процессоре и ширине шин (регистр - это всего лишь данные для ЦП для работы, они были крошечными в потребительском оборудовании и росли с самого начала домашних вычислений. Автобусы соединяют разные части материнской платы вместе, это шоссе, по которому текут данные).

Проблема в том, что большинство ОС имеют некоторые реальные проблемы при переходе на 64-битные операции, при плохой поддержке драйверов и приложений. Часто приложения фактически имели хуже производительность в ранних версиях. Учитывая, что для большинства людей нет реальной причины вникать в глубокий конец, силы Linux, похоже, будут двигаться немного медленнее, чем кашель _other_ ОС, медленно, но устойчиво.


2
2017-10-14 03:54





Для обычного пользователя официальный сайт Ubuntu предлагает 32-битные версии из-за более гибкой настройки.
Я считаю, что это также означает согласованность данных.

Существует очень много точек для любого за и против, Мое представление - отличная производительность 64-разрядной ОС на 64-битном процессоре Intel Architecture, напрямую связанная с использованием 64-битного программного обеспечения и драйверов, что может дать вам шанс обыграть 32-битную производительность.

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

Однако ваши подписанные компоненты и эта ссылка:
Технология Intel Extended Memory 64: 64-разрядные настольные компьютеры
... лучший опыт с 4Gb + памяти.

Я считаю, что это будет хорошим и не очень дорогим решением для вас.

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


2
2018-04-23 00:37