Виртуализация: 64-битная или 32-битная?

Я собираюсь установить Ubuntu 10.04 Server на виртуальной машине и хочу запустить на нем MySQL и Lighttpd.

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

Я использую Virtualbox.

4 ответа

Решение

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

Есть ряд преимуществ для работы в 64-битной среде. Самым большим, как вы говорите, является возможность обращения к большим объемам памяти. Хотя ваше 32-битное ядро ​​может работать с более чем 4 ГБ ОЗУ, отдельные процессы по-прежнему будут ограничены 4 ГБ. Это влияет не только на "реального оперативного диска", но и на все его виртуальное адресное пространство... что представляет собой особую проблему, если приложения планируют широко использовать виртуальную память с помощью mmap() или других методов. HTTP-кэш- лак является ярким примером этого. Обсуждается здесь и в других местах.

В этой статье AMD (предупреждение: PDF) обсуждаются 64-битные-32-битные детали.

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

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

Одним из соображений является требования к оперативной памяти виртуальной машины. Вы обнаружите, что MySQL и Lighttpd используют больше памяти в 64-битной Ubuntu по сравнению с 32-битной Ubuntu.

Поэтому мне нравится использовать 32-битные установки на небольших виртуальных машинах с небольшим объемом оперативной памяти, например, 512 или меньше. Эти конфигурации нижнего уровня часто встречаются у многих VPS-провайдеров, таких как linode или slicehost.

Единственные тесты, которые я видел, чтобы показать реальное преимущество для 64-битного кода, были для mysql (и db в целом), это работало на Sun Ultra 5 (в RISC, 32-битный почти всегда быстрее немного), если производительность имеет значение, это может привести к реальной разнице.

Еще один момент, VMware говорит о том, чтобы настроить ВМ на использование одного ЦП, если вам не нужна большая производительность, поскольку она обычно быстрее (есть издержки от нескольких виртуальных процессоров).

Другие вопросы по тегам