13

Я планирую арендовать услугу VPS со следующей базовой спецификацией:

  • 512 МБ ОЗУ
  • 1 процессор
  • 20 ГБ HDD (4 ГБ это подкачка)
  • Ubuntu 10.10 сервер

Я могу выбрать между 32-битной или 64-битной установкой сервера Ubuntu в качестве операционной системы.

Мой вопрос: будет ли лучше выбрать 32-битную операционную систему, так как у меня будет только 512 МБ ОЗУ, а не 64-битная операционная система и дополнительные расходы?

редактировать:

Я установил Ubuntu сервер 10.10 32-разрядный и 64-разрядный на VirtualBox. После минималистичной установки с использованием только ssh-сервера 32-разрядная установка потребляет 63 МБ ОЗУ при первой загрузке, а 64-разрядная - 85 МБ ОЗУ.

После установки и запуска демона tor 32-разрядный использует 99 МБ ОЗУ при первой загрузке, а 64-разрядный - 128 МБ.

3 ответа3

13

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

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

Моя интуиция предлагает перейти на 64-битный вариант, если только вы не полагаетесь на 32-битный пакет, у которого нет 64-битной версии или кода, чтобы вы могли скомпилировать свой собственный.

Я бы предложил попробовать оба варианта, если у вас есть время: установить что-то вроде VirtualBox на домашнюю машину, если у вас есть 64-разрядная, и создать две виртуальные машины объемом 512 МБ (одну с полностью 32-разрядной установкой и одну с полностью 64-разрядной). бит один) со смесью программного обеспечения, которое вы планируете использовать. Это даст вам лучшее представление о любых различиях, которые вы заметите, чем практические правила и догадки.

В качестве примечания: 4Gb - это большой обмен для 512Mb машины, виртуальной или другой. Если у вас столько же страниц на диске, сколько у вас в ОЗУ, то вы, вероятно, увидите значительное снижение производительности из-за перестановки подкачки (страницы постоянно меняются между ОЗУ и диском), если вы попадаете в ситуацию, когда у вас есть 8 раз столько страниц памяти на диске, сколько у вас в оперативной памяти, я ожидаю, что виртуальная машина уже давно остановится. Часть этого пространства будет гораздо лучше использоваться в качестве хранилища файлов, если у вас есть возможность.

4

Он не потребляет вдвое больше оперативной памяти. Будет справедливо сказать (однажды), где ты это услышал?

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

1

Рекомендуется использовать 32 бит для оперативной памяти менее 2 ГБ. Например, информация отсюда:

64-битные системы ... обычно требуют ~ 1,7 х ОЗУ для тех же процессов по сравнению с 32-битными системами.

также 32 бит рекомендуется в этом ответе

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .