У мене VPS-сервер Debian, і провайдер встановив 64-розрядний Debian 5. Чи потрібно просити 32-бітну установку, враховуючи, що у мене є лише 750 Мб оперативної пам’яті, і я чув, що змінні займають більше оперативної пам’яті в 64-бітних системах?
У мене VPS-сервер Debian, і провайдер встановив 64-розрядний Debian 5. Чи потрібно просити 32-бітну установку, враховуючи, що у мене є лише 750 Мб оперативної пам’яті, і я чув, що змінні займають більше оперативної пам’яті в 64-бітних системах?
Відповіді:
Коротка відповідь :
Змінні не займають подвійного простору в 64-бітному проти 32-бітного програмного забезпечення. Потенційний приріст пам'яті від переходу на 32-бітну ОС не буде вартим зусиль.
Довга відповідь :
Числа можуть бути більшими, але це не означає, що вони будуть. Також це стосується чисел, а не рядків, а рядків (як правило) є тим, що споживає найбільшу кількість пам'яті в програмі.
Крім того, багато додатків чітко визначають розмір числа, з яким вони хочуть працювати, оскільки мови, такі як C, int
можуть бути будь-якого розміру, включаючи менший, ніж 32-розрядний. І ще більше, на моєму 64-бітному Linux-машині, в С int
є 32-розрядним. Тому вам доведеться явно просити long long
отримати 64-бітове число.
Таким чином, додатки не збираються використовувати більше пам'яті лише тому, що вони були складені для 64-розрядних.
EDIT :
У відповідь на твердження Жилла, що 64-розрядний Firefox використовує вдвічі більше пам’яті, я пішов і провів порівняння між 32-розрядною та 64-бітною Firefox у своїй системі.
Я перевірив, запустивши 5 вкладок, відкритих на http://acid3.acidtests.org/, і провів тест 3 рази (один раз у 32-розрядному, один раз у 64-бітному, а потім повторити два рази). Я вибрав цей сайт, тому що він інтенсивний JavaScript і використовує статичний контент (кожне візуалізація сторінки надаватиме однакові дані).
На завершальному циклі:
32-розрядні: 173,244kb rss / 918,348kb virt
64-розрядний: 184,588kb rss / 966,624kb virt
Я міг би зробити більш обширне тестування так, але я думаю, що це досить добре демонструє, що різниця в розмірах між ними є незначною.
Я вибираю 32-розрядні 64-бітні установки для систем із меншим 4-розрядною частотою.
64-бітні НЕ використовують більше пам’яті, в силу характеру вказівників це коливається приблизно від 10 до 50 мегабайт додатково для встановлення ванільної ламп.
У системі з обмеженою кількістю оперативної пам'яті, наприклад, 256 мг, це може бути великий шматок.
Технічно, для PAE те ж саме стосується до 64 гіг, проте адресний простір для додатків все ще обмежений 4 гг у будь-якому випадку. Тому з будь-чим, що перевищує 4 гг., 64-розрядні рекомендується використовувати підвищення продуктивності, не в останню чергу пов'язані з накладними витратами PAE.
Коротше кажучи: <4gig = 32bit | > 4gig = 64bit.
Якщо провайдер встановив 64-розрядний Debian 5, рекомендую вам залишитися з цією версією.
Різниця між 64-бітною та 32-бітною не лише у диспетчері пам'яті.
За винятком кількох застосунків для скорочення чисел, які працюють швидше, єдиною перевагою 64-бітної системи є те, що ви можете звернутися до більш ніж 4 Гб пам'яті. Оскільки частина адресного простору зарезервована для ядра, процес отримує лише близько 2 ГБ або 3 ГБ адресного простору (або більше або менше, залежно від конфігурації ядра). У випадку використання бази даних та веб-сервера ви не плануєте багато обмінюватися, і ви не збираєтеся робити велику кількість хрускотів. Отже, маючи лише 750 Мб оперативної пам’яті, ви не побачите жодної користі від використання 64-бітної системи.
Розмір коду приблизно однаковий між кодом i386 (32-бітний) та amd64 (64-розрядний). Пам'ять даних, що використовується 64-бітною програмою, дещо більша; наскільки більший залежить від програми. Я би сподівався побачити помітну, але не велику різницю для вашого випадку використання.
Зважаючи на те, що використання 64 біт є невеликою вартістю і ніякої вигоди, я рекомендую використовувати 32-бітну систему, якщо це не так вже й багато проблем.