next up previous contents index
Дал╕: Буферний кеш Вгору: Керування пам'яттю Назад: Сп╕льне використання простору своп╕н╜у

   
Вид╕лення своп простору

Дехто радить мати своп пам'ять як м╕н╕мум вдв╕ч╕ б╕льшою в╕д ф╕зично╖ пам'ят╕ системи, але це застар╕ла порада112. Ось к╕лька рекомендац╕й щодо того, як в╕рно визначити об'╓м в╕ртуально╖ пам'ят╕:

1.

Визнач╕ться ╕з загальним об'╓мом пам'ят╕, яка Вам потр╕бна. Це найб╕льший об'╓м пам'ят╕, який Вам можливо знадобиться коли-небудь. Тобто, це сума вс╕х об'╓м╕в вс╕х програм, якими Ви хочете користуватися одночасно. Можна д╕знатися про це, запустивши вс╕ програми, якими Ви захочете одночасно користуватися.

Наприклад, якщо Ви хочете працювати в X, Вам потр╕бно вид╕лити п╕д це б╕ля 8 МБайт, gcc сам вимага╓ к╕лькох ме╜абайт (деяк╕ файли вимагають надзвичайно великого об'╓му - до десятк╕в ма╜абайт, але звичайно близько чотирьох ма╓ бути досить), ╕ так дал╕. Ядро займе б╕ля ме╜абайта, командн╕ оболонки 113 та деяк╕ невелик╕ програмки-ут╕л╕тки можливо потребують к╕лька сотень к╕лобайт (скаж╕мо ме╜абайт вс╕ разом). Нема╓ н╕яко╖ потреби вираховувати дуже точн╕ величини, досить приблизн╕ округлення - це саме те що потр╕бно в цьому випадку. Але при цьому краще б бути трошки песим╕стом.

Пам'ятайте, що якщо системою будуть користуватися к╕лька людей одночасно, вони вс╕ будуть користуватися пам'яттю. Однак, якщо дво╓ користувач╕в користуються одн╕╓ю ╕ т╕╓ю ж програмою одночасно, загальне використання пам'ят╕ при цьому не вдв╕ч╕ б╕льше, оск╕льки деяк╕ стор╕нки пам'ят╕ використовуються сп╕льно - вс╕ сп╕льн╕ б╕бл╕отеки та вс╕ програми в пам'ят╕ ╕снують т╕льки в одному екземпляр╕.

free  та ps  дадуть Вам уяву про потреби пам'ят╕.

2.

Додайте дещо на всяк випадок. Обрахований об'╓м може бути не достатньо точним, через те, що: Ви забули деяк╕ програми, як╕ тепер Вам просто необх╕дно додати до попереднього списку. Тому непогано б мати деяку в╕льну пам'ять про всяк випадок. Парочка-друга ме╜абайт ма╓ бути досить. (Звичайно ж, краще мати б╕льше, н╕ж менше, але пам'ятайте, що невикористана в╕ртувальна пам'ять - просто загублена, тому нема╓ сенсу створювати надто великий запас. Див╕ться дал╕ про додання в╕ртуально╖ пам'ят╕ в процес╕ роботи. Кр╕м того, оск╕льки завжди при╓мн╕ше мати справу з круглими числами, можна округлити обраховане число до найближчого ц╕лого ме╜абайту.

3.

Обрахувавши сво╖ потреби в пам'ят╕ Ви будете знати, ск╕льки пам'ят╕ потр╕бно всього. Щоб д╕знатися потр╕бний розм╕р своп-прост╕ру, просто в╕дн╕м╕ть в╕д цього числа об'╓м Вашо╖ оперативно╖ пам'ят╕. (В деяких верс╕ях Юн╕кса, Вам потр╕бно вид╕лити прост╕р п╕д ф╕зичну пам'ять також, тобто об'╓м пам'ят╕, обрахований на другому кроц╕, ╕ буде тим, що потр╕бно вид╕лити п╕д своп. Тобто, Вам не потр╕бно н╕чого в╕дн╕мати.

4.

Якщо обчислена таким чином своп-пам'ять ╓ занадто великою (б╕льше, н╕ж у к╕лька раз╕в б╕льша за ф╕зичну пам'ять), скор╕ше всього Вам варто вкласти грош╕ в додаткову ф╕зичну пам'ять, ╕накше швидк╕сть роботи системи буде незадов╕льною.

Хоча б яку небудь своп-пам'ять варто мати в будь-якому випадку, нав╕ть якщо Ваш╕ обрахунки показують, що Вам вона не потр╕бна. Л╕накс користу╓ться в╕ртульною пам'яттю досить агресивно, щоб мати якомога б╕льше ф╕зично╖ пам'ят╕ в╕льною. Л╕накс викида╓ на диск т╕ стор╕нки пам'ят╕, як╕ не використовуються на даний момент, щоб зв╕льнити пам'ять п╕д майбутн╕й своп╕н╜, нав╕ть, якщо н╕чого його не потребу╓ на даний момент. Таким чином майбутн╕й своп╕н╜ може бути зроблений швидше - не потр╕бно чекати на те, що стор╕нки будуть скинен╕ на диск - це вже було зроблено тод╕, коли диск не був н╕чим не зайнятий.

Своп-прост╕р можна под╕лити м╕ж к╕лькома дисками. В деяких випадках це може п╕двищити швидк╕сть роботи, залежно в╕д швидкост╕ роботи диск╕в та того, як до диск╕в зд╕йсню╓ться доступ. Можливо Вам варто трохи поекспериметувати, але пам'ятайте при цьому, що в╕рно експериментувати досить важко. Не варто дов╕ряти будь-кому, хто запевнятиме Вас, що та чи ╕нша схема ма╓ надзвичайну перевагу над ╕ншою такою ж.



Dmytro Kovalev
1999-06-10