iMac (finales de 2015) usando intercambio cuando todavía queda mucha RAM

El nuevo iMac de mi esposa se está comportando de manera extraña. A pesar de ser una máquina bastante poderosa, es bastante lenta y lenta. Lo investigué y parece que su memoria de intercambio se está agotando, aunque queda mucha RAM:

captura de pantalla de la salida htop

Sin embargo, mi Mac Pro se ve así:

captura de pantalla de la salida htop

Esto sucede constantemente, lo que hace que la máquina tenga un rendimiento significativamente inferior. ¿Hay algo mal con el sistema, tal vez?

Respuestas (2)

Todo esto es anecdótico, probado con un tamaño de muestra de 2, por lo que apenas cuenta como experimento...

Reinicie la Mac, ha estado activa durante 12 días.

Eso estaría bien para una máquina con mucha RAM, pero afectará más a una máquina con poca RAM.
Diría que la solución simple sería duplicar la memoria RAM.
Dos de las máquinas aquí están siempre encendidas, la que tiene solo 10 GB de RAM solía ralentizarse después de solo unos días [ahora tiene 26 GB y ya no], la que tiene 64 GB realmente nunca se ralentiza.

Creo que la figura de intercambio usada solo se reinicia al reiniciar, por cierto. No estoy seguro de que sea necesariamente un indicador de la actividad actual [pero ciertamente estoy abierto a la corrección de eso]

No sé qué programa usó para generar la salida en la captura de pantalla, pero suponiendo que genere las cifras normales, como por ejemplo, Activity Monitor o top, la razón del uso de intercambio aparentemente erróneo es simplemente una vez.

Imagina que un proceso en tu Mac asigna 12 GB de RAM. El sistema no tiene 12 GB de RAM libres, por lo que mueve algo para intercambiar y le da al proceso sus 12 GB de RAM.

Un poco más tarde, el proceso libera los 12 GB de RAM (es decir, los desasigna). El sistema ahora tiene mucha RAM libre, pero todavía usa mucho espacio de intercambio.

Se podría argumentar que el sistema debería mover todo, desde el intercambio a la RAM, pero hacerlo es lento y "caro" en términos de recursos del sistema. El sistema no puede saber si primero necesitaría las cosas que están en el intercambio, o si prefiere tener RAM libre para otra cosa. Por lo tanto, generalmente opta por mantener las cosas en intercambio y solo moverlas a la RAM según sea necesario.

La solución para su problema es monitorear continuamente durante un período de tiempo (por ejemplo, desde el arranque) para determinar qué proceso está utilizando realmente una gran cantidad de RAM durante un período de tiempo limitado.