LINUX.ORG.RU
ФорумAdmin

swapoff не срабатывает

 


0

1

Заказал как-то давно сервер, поставил, настроил ну и забыл про него - там тестовые виртуалки крутились практически на автопилоте. Когда размечал диски, забыл про своп, но подумал, что 64 гигабайт оперативки хватит, и на всякий случай сделал своп-файл на два гига. Это всё прекрасно работало несколько лет, пока вдруг не начало подтормаживать. Оказалось, две трети памяти отъели дисковые кэши (интенсивный импорт дампов бд), их я сбросил, но забитый своп остался. Делаю:

root@polygon ~ # free -m
             total       used       free     shared    buffers     cached
Mem:         64259      27682      36577       4226         68       7105
-/+ buffers/cache:      20507      43752
Swap:         2047       2047          0
root@polygon ~ # swapoff -v -a
swapoff /swapfile
root@polygon ~ # free -m
             total       used       free     shared    buffers     cached
Mem:         64259      24914      39345       4225         89       7300
-/+ buffers/cache:      17524      46734
Swap:         2047       2047          0
Никакого эффекта. Это так и должно быть? В dmesg только сообщения от oom-killer, отстреливающего процессы явы. vmstat никакого обмена со свопом не показывает.

★★★

По теме вопроса ничем не помогу. Зато могу предложить ksmtuned для экономии памяти гипервизора.

Deleted
()
Ответ на: комментарий от Deleted

Там вообще LXC-контейнеры. Надо будет подтюнить cache_pressure, но вообще странно, конечно. На локальной машине swapoff отрабатывает, но на ней своп не занят:

[support ~]# free 
              total        used        free      shared  buff/cache   available
Mem:           3870        1560         856         378        1453        1785
Swap:          4095           0        4095
[support ~]# swapoff -a
[support ~]# free 
              total        used        free      shared  buff/cache   available
Mem:           3870        1557         859         378        1453        1788
Swap:             0           0           0

lizard ★★★
() автор топика

может зсвоп или чё-нибудь подобное? тот забивается и не возвращает.

anonymous
()

В том виде, который есть своп в линуксе, он не нужен начиная где-то 4Гб суммарно доступной памяти. Кроме экстремальных случаев, когда нужно чтоб успел сработать оом, например. И не важно что у тебя 60 гигов свободной памяти после очередного и занято всего лишь 2 гига свопа. Ядру это не важно, оно будет методично постранично (4кб) перепахивать память почти равномерно случайном порядке. А если еще прибавить время позиционирования головок hdd, то максимальная скорость освобождения свопа будет около пол мегабайта в секунду. Твои 2 гига свопа перекочуют обратно в память только через полчаса-час. SSD чуть улучшит ситуацию, но не сильно.
Это шатными средствами. А так есть хак в виде https://unix.stackexchange.com/a/325790

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