Бывает случается такое что вы  наблюдаете неприятную картину на своем сервере когда приложения начинают выбираться из ОЗУ в SWAP и система начинает тормозить, такое чаще всего бывает если в системе софт настроен не корректно или ресурсов сервера в плане памяти становится недостаточно например из за ддос атак или других причин которые вызывают повышенную нагрузку.

Еще хочу обратить внимание часто сталкиваюсь с тем что люди попусту неправильно конфигурируют программы на своих серверах которые жрут озу больше разумного.

Бесплатный совет:

Сервера нужно так настраивать что бы небыло проблем если какой либо сервис будет подвергнут атаке или перегружен, а на деле у людей выходит так что они просто копируют чьи то супер конфиги или тупо ставят завышенные параметры в конфигурационных файлах…

наверно думают что приложение от того быстрее будет работать  XD

И так причины в крации рассмотрели, так что же такое SWAP память, мы знаем что эта область памяти используется в случае исчерпания ресурса ОЗУ.

Подкачка страниц swap — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти перемещаются из ОЗУ к примеру в раздел на жёсткий диск, тем самым освобождая ОЗУ для загрузки других фрагментов памяти.

Самый дельный вариант по очистки swap (своп)

Отключаем swop вообще прямо в работающей системе

А после включаем обратно

и не каких перезагрузок не надо(

 

  9 комментариев в “Как очистить swap без перезагрузки системы”

  1. Можно сразу и одной командой # swapoff -a && swapon -a

     
  2. И сюда свидомиты добрались, напасть какая-то с ними))

     
  3. Тоже использую эти команды. Но разве нельзя как то сделать все это одной командой?

     
  4. && — не «и», а последовательное выполнение команд. В случае с && система дожидается успешного завершения первой команды и выполняет следующую.
    Если использовать «;» — система будет давать команды параллельно, не дожидаясь завершения предыдущей команды.
    В дополнение могу добавить, на всякий случай, таймаут: swapoff -a && sleep 3 && swapon -a
    Ну и с данными командами надо быть осторожным, т.к. в данными командами swap просто очищается, а не переносится в ОЗУ, т.е. в случае наличия данных системных процессов система может стать недоступна.

     
    • && — это таки И
      При аварийном останове первой команды остальная часть выражения просто не выполнится
      ; — последовательное исполнение команд, независимо от результата предыдущей
      Параллельный запуск можно сделать через &, и это тоже И, просто неблокирующее

       
  5. Вообще то, с этими командами не надо так особо увлекатся, тем более, что в последних релизах(частности в Ubuntu >= 16.04) система кэшируется при запуске, и по ходу загружаемости освобождается и кэш под нужды сисемы, т.е. дело не доходит до свопа. Можно, конечно, специально нагибать систему так, что бы своп «проснуся», но это уже по моему тестовой режим. Тем не менее, правильное послндовательность команд по очистке кэша ОЗУ и пространство своп раздела следущее:

    Проверка свободной и занятой памяти в системе:
    ~$ free -h
    После этого, если надо очистить, переход на root, оязательно.
    И потом выполнить:
    ~# echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a

     
  6. «;» — система будет давать команды параллельно. ОМГ, параллельно? Последовательное выполнение, вне зависимости от того, с каким результатом закончилась предыдущая команда.

     

 Оставить комментарий

(обязательно)

(обязательно)

   
Copyright © 2012. Linuxguru.ru