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

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

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

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

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

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

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

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

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

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

Вот скриншоты (довольно старой) ванильной Ubuntu, работающей в VirtualBox с 1 ГБ оперативной памяти:

32 бит: использует 388 Мб оперативной памяти сразу после загрузки, никаких дополнительных приложений не запущено (на скриншоте 397780 КБ, что составляет 388 МБ)

32 bit Ubuntu

64-разрядная версия: использует 491 Мб оперативной памяти (из скриншота, 503452 КБ = 491 МБ)

64 bit Ubuntu

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

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

mem freemem usedswap used

По сути, это все равно, что отказаться от 30% вашей оперативной памяти в обмен на возможная выгода 10% скорости процессора.

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

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

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

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

Термины 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Источник: Корпорация Майкрософт

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

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

И слово о вашей "низкой" оперативной памяти из Фороникс: "Разработчики [S] ome Ubuntu были чрезмерно обеспокоены тем, что 32-разрядные нетбуки все еще существуют, и для систем, имеющих только 2 ГБ оперативной памяти, где использование программного обеспечения x86_64 может привести к нехватке памяти и, следовательно, увеличению использования подкачки. Однако для подавляющего большинства пользователей им гораздо лучше в 64-разрядном мире".

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

Некоторое время назад я изучал это для 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-разрядном режиме.

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

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

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

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

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

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

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

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

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

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

В принципе, я бы сказал, используйте 64-разрядную версию, если вам это нужно.

Если вы в основном просматриваете веб-страницы, смотрите YouTube, зависаете на facebook, смотрите фильмы и т.д., То 32-разрядная версия лучше, потому что для этого вам не нужно никакого хорошего оборудования.

Если вы играете в игры в Steam, WINE и т.д., запускаете множество программ, редактируете мультимедиа и тому подобное, то 64-разрядная версия - лучший выбор.

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

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

По теме: Как мне проверить, установлена ли у меня 32-разрядная или 64-разрядная ОС?

По теме: Что случилось с пакетом ia32-libs?

Ubuntu 32-bit, 32-bit PAE, 64-bit Kernel Benchmarks