Запуск 64-розрядного Linux з 750 Мб оперативної пам’яті: варто?


13

У мене VPS-сервер Debian, і провайдер встановив 64-розрядний Debian 5. Чи потрібно просити 32-бітну установку, враховуючи, що у мене є лише 750 Мб оперативної пам’яті, і я чув, що змінні займають більше оперативної пам’яті в 64-бітних системах?


2
Насправді залежить від того, чим ти будеш бігати. Спробуйте деякі ваші навантаження і перевірте, чи буде достатньо оперативної пам’яті.
Ренан

Непрацюючі: Postgres, Apache і Tomcat.
Jhonnytunes

1
Примітка. Якщо пізніше ви вирішите оновити більше оперативної пам’яті, 32-розрядна може стати проблематичною (є PAE для зведення полюсів понад ліміт 4 ГБ, але у них є власні накладні витрати).
Пісквор вийшов з будівлі

Обидва хости VPS я використовував встановлені спеціальні ядра для своїх гіпервізорів, тому, швидше за все, вам доведеться дотримуватися їх версій ОС - якщо вони не пропонують 32-розрядні, я сумніваюся, ви можете просто встановити свій власний.
Rup

Відповіді:


16

Коротка відповідь :

Змінні не займають подвійного простору в 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

Я міг би зробити більш обширне тестування так, але я думаю, що це досить добре демонструє, що різниця в розмірах між ними є незначною.


1
Це сильно перебільшено. Деякі програми займають майже вдвічі більше пам’яті в 64-бітному режимі, це залежить від того, якими даними вони маніпулюють. Я помітив, що Firefox та Chrome займають навіть більше ніж удвічі більше пам’яті (я ніколи не досліджував, чому: розмір коду?). Для Apache додаткове споживання пам'яті, ймовірно, буде невеликим (але я не вимірював).
Жил "ТАК - перестань бути злим"

@giles навряд чи. Я щойно запустив 32-бітний і 64-бітний Firefox. 32-розрядна використовує 133,340 кб після запуску. 64-бітний використовує 133,412 кб після запуску.
Патрік

Можливо, нещодавно покращився, я думаю, що я востаннє перевіряв Firefox 4. Я вимірював, використовуючи інакше непрацюючу систему (працює майже лише 64-бітні програми, які повинні сприяти 64-бітовому виконуваному файлу, оскільки деякі його спільні бібліотеки вже завантажені) і порівнявши кількість вільної пам'яті після завантаження декількох вкладок (деякі JS, не Flash): я виявив, що (free_memory_with_ff_64 - free_memory_without_ff)> 2 * (free_memory_with_ff_32 - free_memory_without_ff).
Жил "ТАК - перестань бути злим"

4
@Gilles Я думаю, в тесті була якась вада. Навіть якщо Firefox зберігає кожен останній трохи даних у вигляді цілого числа (без рядків, які б не змінювали розмір), і кожне ціле число змінювалося з 32-бітного на 64-розрядне, розмір максимум би подвоївся. Немає пояснення для цього більш ніж удвічі.
Патрік

2
"Числа можуть бути більшими, але це не означає, що вони будуть". - але всі покажчики тепер точно будуть 64-розрядні, де раніше було 32.
Rup

5

Я вибираю 32-розрядні 64-бітні установки для систем із меншим 4-розрядною частотою.

64-бітні НЕ використовують більше пам’яті, в силу характеру вказівників це коливається приблизно від 10 до 50 мегабайт додатково для встановлення ванільної ламп.

У системі з обмеженою кількістю оперативної пам'яті, наприклад, 256 мг, це може бути великий шматок.

Технічно, для PAE те ж саме стосується до 64 гіг, проте адресний простір для додатків все ще обмежений 4 гг у будь-якому випадку. Тому з будь-чим, що перевищує 4 гг., 64-розрядні рекомендується використовувати підвищення продуктивності, не в останню чергу пов'язані з накладними витратами PAE.

Коротше кажучи: <4gig = 32bit | > 4gig = 64bit.


3

Якщо провайдер встановив 64-розрядний Debian 5, рекомендую вам залишитися з цією версією.

Різниця між 64-бітною та 32-бітною не лише у диспетчері пам'яті.


2

За винятком кількох застосунків для скорочення чисел, які працюють швидше, єдиною перевагою 64-бітної системи є те, що ви можете звернутися до більш ніж 4 Гб пам'яті. Оскільки частина адресного простору зарезервована для ядра, процес отримує лише близько 2 ГБ або 3 ГБ адресного простору (або більше або менше, залежно від конфігурації ядра). У випадку використання бази даних та веб-сервера ви не плануєте багато обмінюватися, і ви не збираєтеся робити велику кількість хрускотів. Отже, маючи лише 750 Мб оперативної пам’яті, ви не побачите жодної користі від використання 64-бітної системи.

Розмір коду приблизно однаковий між кодом i386 (32-бітний) та amd64 (64-розрядний). Пам'ять даних, що використовується 64-бітною програмою, дещо більша; наскільки більший залежить від програми. Я би сподівався побачити помітну, але не велику різницю для вашого випадку використання.

Зважаючи на те, що використання 64 біт є невеликою вартістю і ніякої вигоди, я рекомендую використовувати 32-бітну систему, якщо це не так вже й багато проблем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.