Як я повинен вирішити, який розмір зробити свій замін на новій машині Linux (Debian) з 2-4 ГБ оперативної пам’яті? Мені справді потрібен обмінний простір?
Як я повинен вирішити, який розмір зробити свій замін на новій машині Linux (Debian) з 2-4 ГБ оперативної пам’яті? Мені справді потрібен обмінний простір?
Відповіді:
Існує маса способів зрозуміти, скільки обмінів використовується в машині. Загальні пропозиції використовують формули, засновані на оперативній пам’яті, такі як 2 х оперативної пам’яті, 1,5 х ОЗУ, 1 х ОЗУ, .75 х ОЗУ і .5 х ОЗУ. Формули багато разів змінюються залежно від обсягу оперативної пам’яті (тому в коробці з 1 ГБ оперативної пам’яті може використовуватися 2 х своп оперативної пам’яті (2 ГБ), тоді як у коробці з 16 ГБ оперативної пам’яті може використовуватися .5 х оперативної пам’яті оперативної пам’яті (8 ГБ)).
Інша річ, яку слід врахувати, - для чого використовуватиметься цей ящик. Якщо у вас буде велика кількість одночасно запущених процесів, які працюють на коробці, але значна кількість з них буде простоювати протягом певного періоду часу, то додавати додатковий своп має сенс. Якщо ви будете виконувати невелику кількість критичних процесів, то додавання додаткового свопу має сенс (це може здатися контрінтуїтивним, але я поясню за хвилину). Якщо ви використовуєте коробку як робочий стіл, то додавати додатковий своп має сенс.
Що стосується того, чи слід включати своп, так, слід. Ви завжди повинні включати місця для заміни, якщо ви дійсно не знаєте, що робите, і у вас справді є вагомі причини для цього.
Дивіться, спосіб роботи ядра Linux, swap використовується не тільки тоді, коли ви вичерпали всю фізичну пам'ять. Ядро Linux буде приймати додатки, які не є активними (сплячими), і через певний проміжок часу перемістить додаток для заміни з реальної пам'яті. Результат полягає в тому, що коли вам знадобиться цей додаток, буде миттєва затримка (як правило, лише на секунду-дві), поки пам'ять програми зчитується з підкачки на оперативну пам'ять. І це, як правило, гарна річ.
Це дозволяє переводити неактивні програми на режим «сну», надаючи активним програмам доступ до додаткової оперативної пам’яті. Крім того, Linux використовуватиме будь-яку доступну (нерозподілену) оперативну пам’ять на машині в якості кеш-диска, роблячи більшість (повільних) активностей диска швидшими та чуйнішими. Заміна неактивних процесів дає вам більше кеш-диска та робить вашу машину загальною швидше.
І нарешті, давайте зізнаємося, дисковий простір коштує дешево. Дійсно дешево. Насправді немає жодної вагомої причини взагалі не промацати (відносно) невеликий шматок місця для заміни. Якби я працював з 2 ГБ - 4 ГБ оперативної пам’яті в машині, я, певно, встановив би свій обмінний простір, принаймні, рівний ОЗУ. Якби це було менше 2 Гб оперативної пам’яті, я б все одно ходив з принаймні 2 ГБ оперативної пам’яті.
ОНОВЛЕННЯ: Як згадується чудовий коментар (і я його забув включити), якщо ви працюєте з ноутбуком або робочим столом, які, можливо, захочете перевести в режим «сплячого режиму» (Призупинити на диск), то вам завжди хочеться хоча б стільки ж поміняйте, як у вас є пам'ять. Простір підкачки буде використаний для зберігання вмісту оперативної пам’яті в комп’ютері під час «сплячого режиму».
Red Hat рекомендує наступну формулу для серверів з великою кількістю оперативної пам’яті:
if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB
Якщо у вашій системі є 1 ГБ оперативної пам’яті, ваш обмін буде 2 ГБ, для 16 ГБ - 18 ГБ.
Пізня відповідь, і я думаю, що це було в значній мірі висвітлено у вибраній відповіді, але у відповіді, наданій @ssapkota тут (є копія / вставка нижче), є якась гарна та легкозасвоювана інформація .
Ось дуже гарна рекомендація від RedHat: Рекомендований простір для заміни системи
Уривок з того ж посилання:
За минулі роки рекомендована кількість простору підкачки лінійно збільшувалась із кількістю оперативної пам’яті в системі. Але оскільки об'єм пам'яті в сучасних системах збільшився до сотень гігабайт, зараз визнано, що обсяг простору обміну, який потрібна системі, є функцією завантаження пам'яті, що працює на цій системі. Однак, враховуючи, що місце підкачки зазвичай позначається під час встановлення, і що заздалегідь може бути важко визначити робоче навантаження пам'яті системи , радимо визначити систему своп за допомогою наступної таблиці.
Поточна таблиця (станом на грудень 2012 року):
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
--------------------------- ---------------------------- ---------------------------
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
Оригінальна таблиця:
Amount of RAM in the System Recommended Amount of Swap Space
4GB of RAM or less a minimum of 2GB of swap space
4GB to 16GB of RAM a minimum of 4GB of swap space
16GB to 64GB of RAM a minimum of 8GB of swap space
64GB to 256GB of RAM a minimum of 16GB of swap space
256GB to 512GB of RAM a minimum of 32GB of swap space
Це дуже залежить від того, що ти з цим робиш. При відповідному навантаженні вам насправді не потрібне місце для заміни, незалежно від того, чи є у вас 16MB або 16384MB оперативної пам’яті; насправді більшість вбудованих пристроїв Linux працює без будь-якого (на що б вони мінялися?)
Враховуючи ціни на оперативну пам’ять, ви, мабуть, не збираєтесь використовувати swap для активних обчислень. Отже, що залишилося?
(2) і (3) сильно залежать від завантаженості. На своїх робочих столах я можу легко використовувати 4 Гб + увімкнено (2), не залишаючи vims, xterms тощо тощо на інших робочих столах.
На більшості серверів, на яких я працюю, майже нічого не поміняється, і 1–2 ГБ свопу (незалежно від кількості оперативної пам’яті) здається нормальним.
madvise
, але це не вийде з ладу ... ця помилка говорить про те, що пам’ять втрачається під час збирання сміття. Додавання swap, звичайно, перешкоджає цьому, але так би і додавання оперативної пам'яті. Може бути, це пов'язано з 32-розрядною з PAE?
Xms
і Xmx
не встановлені однакові значення, це може вас погано вкусити: спричинило основні проблеми для нас протягом двох + тижнів, поки ми нарешті не відстежили це
Ну, це залежить від того, які сервіси та програми ви плануєте запустити. Ви можете спостерігати за тим, як ви використовуєте пам'ять, використовуючи free -m і відповідно налаштовуйте свій swap-розділ.
Ось цікава дискусія з цього приводу. Особисто (і після прочитання цієї дискусії) я все-таки залишив близько 1 Гб для заміни.
Я не можу говорити безпосередньо з Debian, але я знаю, що коли ви встаєте вище 2 ГБ оперативної пам’яті, початкове рівняння 2xRAM змінюється, як правило, до 1xRAM. Я думаю, що коли ви натиснете 16 Гб оперативної пам’яті, пропозиція знову знизиться до .75xRAM.
Звичайно, я вважаю це справжнім для Solaris, і це фактично показник, який використовується для установок Oracle, тому YMMV залежно від програм, які ви будете там працювати.
Простір для заміни може слугувати "набиванням", коли в іншому випадку у вас негайно залишиться пам'ять.
Коли процес споживає всю наявну оперативну пам'ять, а потім деяка машина працюватиме дуже повільно, але ви, як правило, зможете відновитись. Також буде простіше зрозуміти, який процес викликає проблему.
Протягом багатьох років я дотримувався правила, згідно з яким на машинах Windows ви маєте стільки, скільки маєте оперативна пам’ять ... У Novell ми б налаштовували своп вище, якби було більше принтерів ... Для Linux для мене правило та практика - 1 Гб поміняти кожну оперативну пам’ять 2 Гб. І ви розміщуєте його на передній частині диска, щоб отримати доступ до нього швидше.
якщо це сервер LAMP, діє правило 1/2.
Пробіг буде залежати від програми та використання графічного інтерфейсу.
Я створюю 1 Гб своп і купую більше оперативної пам’яті, другий її використовую. Вам не потрібні заміни на сучасних комп’ютерах, оперативна пам’ять така дешева.
Для чого ви використовуєте систему? Особисто я не використовую жодного свопу. Якщо що-небудь використовувати маркер 512 Мб або щось таке, щоб все можна було поставити на диск, якщо він є резидентом, але неактивний протягом тривалих періодів.
Я просто використовую невеликий токен своп (зазвичай 256 Мб, але я навіть зробив 64 МБ), оскільки для налаштування системи з нульовим свопом потрібна спеціальна конфігурація.
Місце на диску дешево, але slooooooooow. Як тільки система починає змінюватися, продуктивність дорівнює нулю. І оперативна пам’ять вже не така дорога.
Повірте, придбайте трохи повільніший процесор і купіть більше оперативної пам’яті. 2,8 ГГц замість 3,0 ГГц заощадить вам достатньо грошей, щоб придбати ще 2 Гб оперативної пам’яті.