- UNIX-like
- CentOS
- CentOS 5,6: Витік пам'яті в файловий кеш (Cached) або як звільнити cached memory
![Centos 5, 6 витік пам'яті в файловий кеш (cached) або як звільнити cached memory (пам'яті) Centos 5, 6 витік пам'яті в файловий кеш (cached) або як звільнити cached memory](https://images-on-off.com/images/150/centos56utechkapamyativfayloviykeshcache-2876b476.jpg)
Ядро Linux розроблено для використання пам'яті максимально ефективним чином, тому на працюючому робочому столі або сервері майже вся пам'ять яка не використовується відводиться під дисковий кеш (cached), а при нестачі оперативної пам'яті (RAM) для додатків вона буде взята назад з cached. Приклад значень утиліти top:
![Centos 5, 6 витік пам'яті в файловий кеш (cached) або як звільнити cached memory (звільнити) Centos 5, 6 витік пам'яті в файловий кеш (cached) або як звільнити cached memory](https://images-on-off.com/images/150/centos56utechkapamyativfayloviykeshcache-36c0af23.png)
Бачимо що з Swap. c ached оперативка (RAM) перейшла в Mem. free. Дані про розподіл оперативної пам'яті можна отримати командою free -m:
Якщо не вдається звільнити закешовану оперативну пам'ять (RAM) з повідомленням "Permission denied", то це може говорити про те, що або ці маніпуляції заборонені шаблоном системи віртуалізації або ж щось з системою в цілому, а скоріше винен шаблоном системи віртуалізації за яким створювалася VPS. якщо команда виконується на VPS:
Так наприклад при наявності веб-панелі управління VPS. зміна імені хоста всередині системи vi / etc / sysconfig / network не дасть бажаного результату і після перезавантаження іменя хоста залишиться старим - зміну імені хоста в даному випадку слід виконувати в веб-панелі управління VPS!
Наведений тут спосіб очищення (звільнення) закешовану оперативної пам'яті (RAM) можна застосувати не тільки до CentOS 5,6, а й до багатьох інших ОС на базі ядра Linux.
Слід пам'ятати. що виділення вільної пам'яті під файловий кеш є нормальною поведінкою ядра Linux!
Чому дані все одно йдуть в Swap якщо пам'яті вистачає?
Дані все одно йдуть в Swap навіть якщо оперативної пам'яті вистачає але. зауважте, йдуть в Swap не відразу, а через якийсь час, наприклад це можуть бути дані якогось демона виконується раз в декілька днів за розкладом.
Якщо Swap переповниться сервер впаде?
Зазвичай Swap переповнити складно! Застарілі, мало затребувані дані будуть видалені, а на їх місце будуть записані нові. Звичайно всьому є межа - в рідкісних випадках падіння сервера, причиною може послужити аномально велику кількість додатків безперервно обробні аномально велику кількість даних - в такому випадку сервер звичайно "ляже".
Чи можна очистити Swap
Так, Swap можна очистити виконавши з під супер користувача команду swapoff -a. при цьому припиняється використання всіх файлів підкачки. Після виконання команди вміст Swap завантажується назад в оперативну пам'ять, а розділ підкачки відключається.
Відверто кажучи не скажу, що відбудеться якщо оперативної пам'яті не вистачить але, найімовірніше відключення Swap буде не можливо з видачею повідомлення "Неможливо виділити пам'ять".
Після відключення Swap і завантаження вмісту Swap в оперативну пам'ять, знову включити Swap можна командою swapon -a. Іноді це може допомогти повернути чуйність системи без перезавантажень.
Посилання по темі:
Рекомендований контент
Адмін БагоІскатель затятий борець за безглючная роботу будь-яких механізмів і організмів у всьому всесвіті і тому перебуває у вічному пошуку усіляких багів, а той хто шукає як відомо завжди знаходить. Коли щось або когось вилікувати не в змозі, то зі словами "Я в пеклі, а ви все чорти" йде в запій вийшовши з якого знову береться лікувати невиліковне.