Я планирую арендовать услугу 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 МБ.
Ответы:
64-разрядное устройство не потребляет вдвое больше памяти для одной и той же задачи. Некоторый код будет в два раза больше (как в оперативной памяти, так и на диске), а некоторые структуры данных будут также больше из-за более крупных указателей и по соображениям эффективности (т. Е. Структуры дополняются для выравнивания с 64-разрядными границами, а не с 32-разрядными). ), но большинство объемных данных, таких как те, которые хранятся в ОЗУ в базе данных, не будут занимать заметно больше места.
Использование 64-битной сборки может дать вам немного дополнительной производительности для задач, интенсивно использующих ЦП / память, поскольку код сможет использовать дополнительные (и более крупные) регистры, доступные в ЦП, вместо того, чтобы ограничиваться меньшим количеством меньших, доступных в 32-битный режим, и он может быть более эффективным с точки зрения гипервизора, поскольку ему не потребуется столько переключений контекста, которые включают в себя переход в длинный и длинный (64-битный) режим.
Моя интуиция предлагает перейти на 64-битный вариант, если только вы не полагаетесь на 32-битный пакет, у которого нет 64-битной версии или кода, чтобы вы могли скомпилировать свой собственный.
Я бы предложил попробовать оба варианта, если у вас есть время: установить что-то вроде VirtualBox на домашнюю машину, если у вас есть 64-разрядная, и создать две 512 МБ виртуальных машин (одну с полностью 32-разрядной установкой и одну с полностью 64-разрядной). бит один) со смесью программного обеспечения, которое вы планируете использовать. Это даст вам лучшее представление о любых различиях, которые вы заметите, чем практические правила и догадки.
В качестве примечания: 4Gb - это большой объем подкачки для машины 512 Мб, виртуальной или другой. Если у вас столько же страниц на диске, сколько у вас в ОЗУ, вы, вероятно, увидите значительное падение производительности из-за перестановки подкачки (страницы постоянно меняются между ОЗУ и диском), если вы попадаете в ситуацию, когда у вас 8 раз столько страниц памяти на диске, сколько у вас в оперативной памяти, я ожидаю, что виртуальная машина уже давно остановится. Часть этого пространства будет гораздо лучше использоваться в качестве хранилища файлов, если у вас есть возможность.
источник
Он не потребляет вдвое больше оперативной памяти. Будет справедливо сказать (однажды), где ты это услышал?
Поскольку вы не используете какие-либо нечетные / старые драйверы, вы не привязаны к 32-битному. Самое большое (но все еще крошечное) преимущество 64-битных систем - это большие регистры ЦП, так что давайте с этим. Кроме того, 64-битный процессор, скорее всего, будет новее и лучше, но я не уверен, что 32-битные отстают.
источник
Рекомендуется использовать 32 бит для оперативной памяти менее 2 ГБ. Например, информация отсюда :
также 32 бит рекомендуется в этом ответе
источник