Почему Linux linux swap такой медленный?

227
j_kubik

Я разработчик программного обеспечения, и время от времени я буду случайно использовать всю доступную оперативную память с одной из моих программ. Операционная система выложит все, что я могу использовать в данный момент (например, веб-браузер, среду разработки, аудиоплеер и т. Д.). После того, как мне удастся уничтожить мою некорректно работающую программу, другое программное обеспечение, работающее на моем компьютере, станет практически непригодным для использования в течение пары минут, и оно не сможет переключиться обратно само по себе, если я на самом деле не использую программное обеспечение (и не буду ждать долгие секунды после каждого щелчка), Я могу просто sudo swapoff -aзаставить все страницы памяти вернуться в ОЗУ, но это занимает удивительно много времени. Я могу контролировать использование свопа с помощью freeкоманды. Своп освобождается со скоростью около 1-2 МБ / с.free каждая пара секунд показывает разницу только в одну цифру, и весь процесс может занять пару минут.

Моя система довольно новая, и я только что протестировал жесткий диск, на котором хранится раздел подкачки cpipe- чтение файла 7 ГБ в среднем составляет около 150-160 МБ / с. Почему своп не перемещается обратно к барану с такой же скоростью?

Что я могу сделать, чтобы сделать это быстрее?

$ uname -r 4.15.0-29-generic  $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial 
0
Сделайте `sudo atop 1` в следующий раз, когда это произойдет. У меня были подобные проблемы, и оказалось, что несколько демонов становятся гиперактивными при переключении со свопа на реальную память. barrycarter 5 лет назад 0

0 ответов на вопрос