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

Використання своп╕н╜у

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

$ swapon /extra-swap
$

Розд╕ли ╕ файли для своп╕н╜у будуть п╕дключатися автоматично при старт╕ системи, якщо вони вказан╕ в файл╕ /etc/fstab .

/dev/hda8 none swap sw 0 0
/swapfile none swap sw 0 0

Стартовий скрипт викона╓ команду swapon -a, яка почне своп╕н╜ на вс╕х файлах ╕ розд╕лах своп╕н╜у, вказаних в /etc/fstab . Отже, командою swapon  потр╕бно користуватися т╕льки тод╕, коли виника╓ потреба в додатковому простор╕ для своп╕н╜у.

Просл╕дкувати за використанням своп-простору можна за допомогою команди free . Вона скаже ск╕льки всього використову╓ться своп-пам'ят╕.

$ free
total used free shared buffers
Mem: 15152 14896 256 12404 2528
-/+ buffers: 12368 2784
Swap: 32452 6684 25768
$
Перший рядок (Mem:) показу╓ ск╕льки ╓ ф╕зично╖ пам'ят╕. Стовпчик ``всього''108 не в╕добража╓ пам'ять, яка використову╓ться ядром, яка завжди приблизно дор╕вню╓ мегабайту. Стовпчик використано╖ пам'ят╕109 показу╓ к╕льк╕сть пам'ят╕, що використову╓ться (другий рядок не раху╓ буфер╕в). ╤ стовчик в╕льно╖ пам'ят╕ показу╓ пам'ять, що не використову╓ться зовс╕м. Стовпчик ``shared'' вказу╓ об'╓м пам'ят╕, що сп╕льно використову╓ться к╕лькома процесами - чим б╕льше, тим краще. Стовпчик буфер╕в демонстру╓ розм╕р дискових буфер╕в на даний момент. Останн╕й рядок (Swap:) показу╓ всю ту ж ╕нформац╕ю в╕дносно своп-простору. Якщо в цьому рядку стоять суц╕льн╕ нул╕ - своп╕н╜ не приведено в д╕ю.

Ту ж саму ╕нформац╕ю можна отримати командою top  або подивившись файл /proc/meminfo  в файлов╕й систем╕ proc. Поки що неможливо отримати ╕нформац╕ю про конкретне використання то╖ чи ╕ншо╖ д╕лянки своп-простору. Припинити використання своп-простору можна командою swapoff . Найчаст╕ше нема╓ потреби цього робити за виключенням тимчасових своп файл╕в. Вс╕ стор╕нки, що м╕стяться в даний час на дан╕й д╕лянц╕ своп простору спочатку будуть перенесен╕ в пам'ять. Якщо ф╕зично╖ пам'ят╕ не вистача╓ для цього, то система скине ц╕ стор╕нки на якусь ╕ншу д╕лянку свопу. Якщо ж в╕ртуально╖ пам'ят╕ не досить для того, щоб втримати вс╕ стор╕нки в пам'ят╕ система безк╕нечно перекидати стор╕нки пам'ят╕ туди-сюди, з диску в пам'ять ╕ з пам'ят╕ знову на диск. 110 Через довгий пер╕од часу вона повинна в╕д╕йти, але на протяз╕ цього часу в╕д системи не добитися н╕якого толку. Перш, н╕ж забирати у системи своп впевн╕ться, що систем╕ досить пам'ят╕, щоб вижити (за допомогою команди free ).

Весь прост╕р своп╕н╜у, приведений в д╕ю командою swapon -a, так само можна деактив╕зувати одн╕╓ю командою swapoff -a. Вона шука╓ в файл╕ /etc/fstab , що потр╕бно деактив╕зувати. Весь своп-прост╕р, що було приведено в д╕ю вручну продовжуватиме працювати111.

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



Dmytro Kovalev
1999-06-10