¿Por qué el intercambio de Linux es tan lento?

¿Por qué el intercambio de Linux es tan lento?

Soy desarrollador de software y, de vez en cuando, accidentalmente uso toda la RAM disponible con uno de mis programas. El sistema operativo cambiará útilmente todo lo demás que pueda estar usando en ese momento (es decir, navegador web, IDE de desarrollo, reproductor de audio, etc.). Después de que logro eliminar mi programa que funciona mal, otro software que se ejecuta en mi máquina queda casi inutilizable durante un par de minutos, y no se restablecerá por sí solo sin que yo use el software (y espere largos segundos después de cada clic). . Puedo simplemente sudo swapoff -aforzar que todas las páginas de memoria vuelvan a la RAM, pero eso lleva sorprendentemente mucho tiempo. Puedo monitorear el uso del intercambio usando el freecomando. El intercambio se vacía a aproximadamente 1-2 MB/seg. Al ejecutarlo freecada dos segundos se muestra solo una diferencia de un solo dígito y todo el proceso puede tardar un par de minutos.

Mi sistema es bastante nuevo y acabo de probar el disco duro que almacena la partición de intercambio: cpipela lectura de archivos de 7 GB tiene un promedio de alrededor de 150-160 MB/seg. ¿Por qué el intercambio no regresa al ariete con una velocidad similar?

¿Hay algo que pueda hacer para hacerlo más rápido?

$ 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

información relacionada