Я разработчик программного обеспечения, и время от времени я буду случайно использовать всю доступную оперативную память с одной из моих программ. Операционная система выложит все, что я могу использовать в данный момент (например, веб-браузер, среду разработки, аудиоплеер и т.д.). После того, как мне удастся уничтожить мою некорректно работающую программу, другое программное обеспечение, работающее на моем компьютере, станет практически непригодным для использования в течение пары минут, и оно не сможет переключиться обратно само по себе, если я на самом деле не использую программное обеспечение (и не буду ждать долгие секунды после каждого щелчка), Я могу просто sudo swapoff -a чтобы принудительно вернуть все страницы памяти в оперативную память, но это занимает удивительно много времени. Я могу контролировать использование свопа, используя команду free . Своп опустел около 1-2MB/ сек -running 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