LINUX.ORG.RU

Очистить swap

 


0

2

Здравствуйте, подскажите пожалуйста, имеется сервер c CentOS 7, заметил что при достаточном кол-ве свободной памяти полностью забит swap:

[@]# free -m
              total        used        free      shared  buff/cache   available
Mem:          64321        3898         793        1080       59628       58899
Swap:          1021        1021           0

На сколько корректным будет выполнение swapoff -a и swapon -a в данной ситуации? Или есть какие-то другие пути очистки без осуществления перезагрузки?

Зачем его очищать, болезный?

anonymous
()
Ответ на: комментарий от r0ck3r
[@]# swapon -s
Filename				Type		Size	Used	Priority
/dev/sda2                              	partition	523260	523260	-1
/dev/sdb2                              	partition	523260	523260	-2
iAlexandre
() автор топика

Видимо, у тебя запущено много программ, которые ничего не делают. Вот их и сбросило в своп. Это нормально.

При этом, у тебя почти 60 буфера/кеша. Видимо, чтобы довести кеш до максимума всё лишнее и было сброшено в своп.

Дай угадаю: файлопомойка и единственные активные демоны - smbd и nmbd ? :)

slamd64 ★★★★★
()

есть какие-то другие пути очистки без осуществления перезагрузки?

Перезапуск приложения, страницы памяти которого были вытеснены в своп, например. Или освобождение памяти этим приложением без его перезапуска (например, завершение выполнения задачи).

slowpony ★★★★★
()
Ответ на: комментарий от slamd64

Да вроде как все при деле :) Нет, не файлопомойка, обычный сервер с ispmanager и парой сайтов самых типовых новостников, порталов-форумов с невысокой посещаемостью. :)

iAlexandre
() автор топика
Ответ на: комментарий от r0ck3r

«всегда занимают всю свободную память»

Если есть чем занимать. Сразу при включении, собственно, закешируются только те программы, которые запускались во время загрузки. Ну точнее там OS File Cache.

slamd64 ★★★★★
()
Ответ на: комментарий от r0ck3r

буфер/кэш, вроде, всегда занимают всю свободную память. Разве нет?

Так до того, как страница оказалась в свопе, она была в памяти.

redgremlin ★★★★★
()
Ответ на: комментарий от slamd64

Видимо, у тебя запущено много программ, которые ничего не делают. Вот их и сбросило в своп. Это нормально.

Бывает ещё, что ты единоразово запускаешь какой-то очень жадный до памяти процесс и он вытесняет всё остальное. Потом процесс завершился, память освободил, но ты ещё несколько минут ловишь тормоза потому что всё остальное засвопилось.

vurdalak ★★★★★
()
Ответ на: комментарий от r0ck3r

Разве это нормальное поведение, что файловый кэш вытеснил программы?

Не программы, а некоторые их страницы. Тем более, что даже официальная документация по ядру упоминает некие ненужные страницы:

A significant number of the pages referenced by a process early in its life may only be used for initialisation and then never used again. It is better to swap out those pages and create more disk buffers than leave them resident and unused.

redgremlin ★★★★★
()
Ответ на: комментарий от iAlexandre

т.е. не трогать swap? По типу: «линукс лучше вас знает,что свапить»?

В подавляющем числе случаев это именно так.

redgremlin ★★★★★
()

Если тебя это так напрягает, то можешь параметр sysctl vm.swappiness понизить (хотя от этого своп сам не очистится).

tiandrey ★★★★★
()

А в tmpfs ничего не лежит тяжелого?

TuxR ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.