Каковы различия между 32-разрядным и 64-разрядным, и что я должен выбрать?
В чем разница между 32-битной и 64-битной Ubuntu? Я слышал, что 64-битная платформа работает лучше и может обнаружить более 4 ГБ ОЗУ. Кроме того, хотя некоторые приложения еще не портированы на 64-разрядную версию, ia32-libs
позволяет 64-битной машине запустить их.
Если это так, то почему бы не продвигать 64-разрядные над 32-разрядными?
17 ответов
Я полагаю, что основной вопрос при выборе между 32 и 64 битами заключается не в том, "поддерживает ли мой процессор 64 бита - если так, то я должен использовать 64, потому что это вдвое лучше", а "Сколько памяти у меня есть?",
64-разрядные программы используют примерно на 50% больше памяти, чем их 32-разрядные аналоги. Результаты этого:
меньшее количество кода / данных может поместиться в кэш-память процессора -> больше кеш-памяти -> ваш сверхбыстрый процессор больше ждет, пока контроллер памяти извлечет данные из ОЗУ. Процессор также должен читать больше данных, потому что он более раздутый.
Linux использует нераспределенную оперативную память для кэширования дисков. Меньше свободной памяти -> меньше места для дискового кэша -> более медленный доступ к диску
Как только у вас заканчивается ОЗУ, и система начинает обмениваться - доступ к диску в тысячи раз медленнее, чем ОЗУ, поэтому любые потенциальные преимущества 64-битного кода (см. Ниже) выходят за рамки.
С другой стороны, в 64-битном режиме процессор имеет больше регистров, поэтому ему не требуется доступ к памяти, что часто также делает некоторые вычисления (64-битные числа и т. Д.) Более эффективными. В общем, код, который не ограничен в памяти, работает немного быстрее в 64-битном режиме.
Итак, если ваша система имеет, скажем, 2 ГБ ОЗУ или меньше, я бы определенно выбрал 32 бита. Более 4GiB - преимущества 64 бит становятся все более заметными. Вокруг 4GiB это "серая зона" - вам нужно сделать выбор самостоятельно.
Вот скриншоты (довольно старой) ванильной Ubuntu, работающей в VirtualBox с 1 ГБ ОЗУ:
32 бита: использует 388 МБ ОЗУ сразу после загрузки, дополнительные приложения не запускаются (из скриншота 397780 КБ, что составляет 388 МБ)
64 бита: использует 491 МБ ОЗУ (на снимке экрана: 503452 КБ = 491 МБ)
Кроме того, в моем тестировании веб-приложение, написанное на Python, использовало до 60% больше памяти на 64-разрядной машине, в результате чего набор тестов выполнялся за 380 секунд на 32-разрядной машине, но занимал 523 секунды на 64-разрядной машине. бит один (оба с 1 ГБ ОЗУ). Если бы машины не были ограничены RAM, результаты, вероятно, были бы другими (как показывают тесты phoronix).
Вот несколько более тщательных и недавних тестов: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
По сути, это все равно, что отдать 30% оперативной памяти в обмен на возможное увеличение скорости процессора на 10%.
Если вы не хотите изучать технические детали, выберите рекомендуемую 32-разрядную версию.
64-разрядный обычно быстрее, даже если объективно трудно заметить. Это в меньшей степени связано с шириной 64-битных данных, но с наличием 16 по 8 общих регистров ЦП во всем наборе команд. Таким образом, недостаток траты большей памяти на управление и увеличение указателей в основном нивелируется.
Практическая проблема: не у всех есть AMD64-совместимый процессор. Продвижение 64-битной версии по сравнению со стандартной версией i686 приведет к еще большему разочарованию пользователей. Поэтому в течение следующих нескольких лет будет проще представить 32-битную версию среднестатистическому пользователю. Это точно не проблема для всех, кто знает, поскольку 64-битная версия легко доступна. И мы, пользователи amd64, не имеем никаких недостатков в этой ситуации, за исключением начальной загрузки. Все пакеты доступны в обеих архитектурах.
При таких обстоятельствах страница загрузки Ubuntu выглядит нормально для меня. Там написано "32 бита (рекомендуется)", но "рекомендуется" означает "меньше проблем, если вы не знаете всех технических деталей вашего компьютера". Для страницы загрузки издания нетбука нет даже выбора, потому что некоторые процессоры 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 Источник: Microsoft
Как указано здесь, в Phoronix: "После прояснения ситуации с несколькими арками в Ubuntu большинство приложений и плагинов теперь работают нормально на 64-битных (таких как Adobe Flash и Java), а 64-битные обычно намного быстрее 32-битных. -bit, действительно нет особой причины не переходить на версию x86_64."
Хотя обсуждается, будет ли 64-битной версией по умолчанию вместо 32-битной, я думаю, что у вас есть некоторое повышение производительности с первой. Смотрите эти тесты.
И слово вашей "низкой" оперативной памяти от Phoronix: "Некоторые разработчики Ubuntu были чрезмерно обеспокоены тем, что 32-разрядные нетбуки еще существуют и для систем, которые имеют только 2 ГБ ОЗУ, где использование программного обеспечения x86_64 может привести к запуску нехватка памяти и, следовательно, увеличение использования SWAP. Однако для большинства пользователей они намного лучше в 64-битном мире ".
Может быть, вы можете установить его и посмотреть, часто ли система использует своп.
Я изучал это для Ubuntu Precise LTS некоторое время назад. Вот некоторые результаты анализа, который я провел:
В принципе, если у вас 4 ГБ или меньше - это нормально, для более чем 4 ГБ рассмотрите возможность использования i386-pae или amd64. 64-разрядные системы потребляют больше памяти (например, указатели имеют размер 64-разрядных), но вы можете увидеть выигрыш в производительности на 64-разрядных системах из-за оптимизаций, использующих 64-разрядные копии или использующих дополнительные регистры ЦП, которые доступны в 64-разрядном режиме.
Для меня самым важным был тот факт, что вы не можете использовать файловую систему ZFS на 32-битной ОС, потому что она там просто нестабильна из-за ограничений vmalloc 32-битной ОС (независимо от PAE или nonPAE). Это была причина для меня переустановить на 64-битную, и я никогда не оглядывался назад. Даже у NVIDIA есть несколько строк о vmalloc на страницах "поиска и устранения неисправностей", заканчивающихся поощрением пользователей к переходу на 64-битные ядра.
Существует ограничение адреса 1 ГБ в 32-битном режиме, поэтому, даже если он может использовать до 4 ГБ, только 1 ГБ называется так называемым "низким", а остальное - "большим объемом памяти", что не является таким общим. И 1ГБ - действительно небольшое число, в настоящее время.. Попробуйте #free -l
Как указывалось в предыдущих статьях, 64-разрядный по сравнению с 32-разрядным относится к размеру данных, которые могут быть перемещены компьютером за одну операцию. Это относится к размеру регистров на процессоре и ширине шин (регистр просто хранит данные для работы с процессором, они были крошечными в потребительском оборудовании и росли с момента появления домашних вычислений). Шины соединяют разные части материнской платы, они являются магистралью, по которой передаются данные).
Проблема заключается в том, что у большинства операционных систем возникали некоторые реальные проблемы при переходе на 64-битные операции при плохой поддержке драйверов и приложений. Часто приложения на самом деле имели худшую производительность в ранних версиях. Принимая во внимание, что у большинства людей нет реальных оснований прыгать в глубокий конец, мощные возможности Linux, похоже, предпринимают шаги немного медленнее, чем кашляющие другие операционные системы, медленные, но устойчивые.
Для удобства пользователей официальный сайт Ubuntu предлагает 32-битные версии из-за более гибкой настройки.
Я считаю здесь также означает согласованность данных.
Существует очень много точек для любого за и против. На мой взгляд, отличная производительность 64-битной ОС на 64-битном процессоре Intel Architecture напрямую связана с использованием 64-битного программного обеспечения и драйверов, что может дать вам шанс превзойти обычную 32-битную производительность.
Обратите внимание, что использование 32-разрядного программного обеспечения в 64-разрядной ОС иногда может привести к снижению производительности и даже к перегреву в самых разных случаях.
Тем не менее, ваши подписанные компоненты и эта ссылка:
Технология Intel® Extended Memory 64: 64-разрядные настольные компьютеры
... лучший опыт возможен с 4Gb+ памяти.
Я считаю, что это будет хорошим и не очень дорогим решением для вас.
И да, использование обеих систем параллельно способно дать вам более четкое понимание вашей конфигурации и универсальности в значениях.
В принципе, я бы сказал, использовать 64-битную версию, если вам это нужно.
Если вы в основном просматриваете веб-страницы, смотрите YouTube, тусуетесь на Facebook, смотрите фильмы и т. Д., Тогда 32-битная версия лучше, потому что вам не нужно хорошее оборудование для этих целей.
Если вы играете в игры в Steam, WINE и т. Д., Запускаете множество программ, редактируете мультимедиа, и тогда 64-битная версия - лучший выбор.
поэтому случайное использование 32-битной ОС, расширенное использование 64-битной версии.
Честно говоря, я не заметил никакой разницы, за исключением небольшого сокращения времени, необходимого для компиляции программ и кодирования видео. Кроме этого, он чувствует себя так же для меня. Я заметил, что с точки зрения производительности действительно важен видео драйвер. Я думаю, что 32-битные драйверы видео лучше поддерживаются. Я недавно установил последнюю версию драйвера nVidia 260 в 32-битную систему, и это сильно изменило ситуацию. Я сейчас использую 32 бита.
Как и squallbayu, я надеялся, что 64-битная версия будет работать лучше, так как я только что купил весной 17-го года 17-дюймовую MacBook Pro Intel i-7 с 8-гигабайтным ОЗУ и 500-гигабайтной последней операционной системой Lion OS. К сожалению, после установки сначала 64, а затем 32 32-битная версия была более стабильной и гладкой. Я не связывал ничего со скоростью (минимальная разница). Поскольку я не эксперт, я действительно думаю, что преимущества 64-битной системы не будут заметны, пока разработчики программного обеспечения не научатся как использовать свою силу..
Разница между 32-битной и 64-битной не изменилась, так как этот вопрос был поставлен.
Я бы предложил использовать 64-битную версию.
Я не знаю программного обеспечения, которое нельзя использовать в 64-битной системе, и если вы хотите использовать 4 ГБ (или более) ОЗУ, вам нужно использовать 64-битную версию Ubuntu.
Помимо различий, о которых прекрасно заявили другие участники сообщества, если вы беспокоитесь об оперативной памяти, вы всегда можете установить zRAM.
Информация Википедии о ZRAM:
zRam - экспериментальный (промежуточный) модуль ядра Linux. Ранее он назывался "compcache". zRam повышает производительность, избегая подкачки на диске и вместо этого использует сжатое блочное устройство в ОЗУ, в котором подкачка происходит до тех пор, пока не потребуется использовать пространство подкачки на жестком диске. Поскольку использование оперативной памяти быстрее, чем использование дисков, zRam позволяет Linux более активно использовать оперативную память при необходимости подкачки / подкачки, особенно на старых компьютерах с меньшим объемом установленной оперативной памяти.
Несмотря на то, что стоимость аппаратного обеспечения ОЗУ относительно невелика, эта функция по-прежнему дает преимущества для нетбуков и других ноутбуков с низким энергопотреблением, для виртуализации и для встраиваемых устройств, особенно тех, которые используют флэш-память с ограниченным сроком службы, зависящим от использования при записи. и, таким образом, быстро изнашиваются при использовании в качестве сменного устройства.
Я использую Ub64 в чипе AMD64, я чувствую разницу в скорости. Это не большой импульс, но вы можете чувствовать. Почему бы вам не попробовать по 10 секунд для каждого и не сравнить себя в своей собственной системе (в чем суть вопроса)? Я уверен, что вы не потеряете свое время, так как в наши дни установка очень быстрая. (ткс убунту!-)
Проблемы с Java/Flash тоже имеют "хорошие" обходные пути в сети...
32-битные и 64-битные относятся к размеру (или ширине) фрагмента памяти или, точнее, памяти, записываемой в ЦП компьютера - это определяет, сколько данных процессор может обработать за одну операцию. 32-битные и 64-битные относятся к размеру (или ширине) фрагмента памяти или, точнее, памяти, записываемой в ЦП компьютера - это определяет, сколько данных процессор может обработать за одну операцию. Да, это означает, что 64-разрядная версия будет работать быстрее, поскольку она может обрабатывать больше данных за один раз.
Лично на моем рабочем столе я использую 64-разрядную версию, поскольку она поддерживает более 4 ГБ ОЗУ. Вы также получаете повышение скорости. Я знаю, что вы также можете оптимизировать 32-разрядную версию, чтобы можно было обнаружить 4 ГБ оперативной памяти или больше. Что касается вашего второго вопроса, 32 bit - это имя i386, потому что именно Intel разработала 32-битную инструкцию / технологию, а AMD следует. Затем AMD разрабатывает 64-разрядную версию, а затем Intel догоняет или принимает эту технологию. Вот почему 64 бит это Amd64.
Помимо возможности увеличения объема памяти и возможных улучшений скорости, вы должны загрузить и установить 64-разрядную версию для вашего нового компьютера с поддержкой UEFI, который поставляется с Windows 8 или более новой версией Windows.
Пока поддерживается 32-битная поддержка систем UEFI, в настоящее время нет доступных стандартных 32-битных образов, которые загружаются в режиме UEFI.