Когда я использую много оперативной памяти (90-100%), ноутбук обычно начинает использовать SWAP, поэтому, если я смотрю в htop
во время этого интенсивного использования, я вижу, что он использует 200 МБ SWAP. Но когда я перестаю использовать ноутбук (компьютер бездействует и работает), SWAP все еще используется, он не очищается, как ОЗУ.
Почему это так?
Linux старается использовать вашу оперативную память максимально эффективно. Нет смысла возвращать вещи из свопа, если они не нужны (хотя, когда они нужны, вам придется немного подождать). Более эффективно использовать эту оперативную память для чего-то полезного, например, для кэширования файлов, которые вы используете на жестком диске.
Пространство подкачки не будет перемещать выгруженные страницы обратно в физическую память до тех пор, пока процессы, использующие эту память, не получат к ней доступ снова. Поэтому, особенно если вы позволяете компьютеру бездействовать, вы, скорее всего, никогда не увидите, что весь своп очищен. Существует два способа очистки свопа:
Номер 2 практически невозможен, а номер один не нужен. Итак, поскольку то, что было выгружено, даже не пытается использовать то, что хранится в этой памяти, я не стал бы беспокоиться о некотором использовании подкачки - это совершенно нормально и не повлияет на вашу производительность, так как своп не активно «используется» .
Пространство подкачки не нужно очищать, пока это пространство снова не понадобится. В это время пространство подкачки будет освобождено для удовлетворения новых требований подкачки в соответствии с заранее определенными критериями, такими как, когда в последний раз использовался и был назначен приоритет.