0 votos

¿Cómo puedo ver si mi Macbook M1 tiene o no limitaciones de memoria?

Mi Macbook M1 experimenta a veces graves problemas de rendimiento, pero me cuesta encontrar datos concretos que demuestren cuál es el problema. htop muestra mucha memoria y cpu libre, sin embargo parece como si la máquina estuviera fallando mucho (tartamudeo, programas que se congelan durante varios segundos sin responder, etc.) bajo carga. ¿Dónde puedo mirar para saber cuál es el problema?

Soy desarrollador y uso mucho Docker, IntelliJ y Node (tarea de vigilancia de webpack create-react-app en ejecución, consumiendo un 10-30% de cpu constantemente). Estos normalmente pueden consumir muchos recursos, pero cuando miro htop Veo que sólo se consumen unos 3GB de los 8GB de RAM. Que debe indican que no me estoy quedando sin memoria, ¿verdad?

Aun así, parece que me están engañando con estas estadísticas: mi ordenador de sobremesa del trabajo tiene 64 GB de RAM y una CPU i9 (sobre el papel más débil que la M1), pero no tiene estos problemas en condiciones similares (mismo proyecto, mismos programas en ejecución, etc.) Para mí, esto indica que la memoria es el problema, pero quiero ver algunos datos que lo respalden. ¿Dónde puedo buscar?

El hecho de que se produzcan atascos de varios segundos y de que cambiar entre IntelliJ y Terminal pueda llevar unos segundos me da la impresión de que estamos hablando de que la paginación de la memoria al disco es un factor. htop muestra entre 6 y 8 GB que se intercambian al disco. Los sistemas operativos modernos guardan muchas cosas en la caché, así que esto no es tan sorprendente, pero me pregunto por qué no estoy usando la mayor parte de mi memoria RAM, si realmente es así.

He mencionado IntelliJ, pero esto también afecta al uso de Chrome y iTerm. Salir de Docker (y de los procesos asociados) parece aligerar un poco la carga percibida y la cantidad de memoria intercambiada suele bajar en 1 GB más o menos, lo que de nuevo parece apuntar a la memoria.

memory load in the red


Hardware: Macbook 2020 con Apple M1, 256GB, 8GB de RAM.

2voto

Tetsujin Puntos 23061

Supongo que la diferencia será la memoria RAM, que hace que se intercambie mucho. Veo lo mismo en un iMac M1 de 16GB, pero no en un Mac Pro de 64GB de 10 años más.

enter image description here

enter image description here

Ambos Macs tienen alrededor de un mes de tiempo de actividad desde el último reinicio. Obviamente, Photoshop está ocupando una buena parte en cada uno de ellos, pero tal y como está actualmente, no causa problemas de intercambio. El iMac, sin embargo, tiene una gran tarea que no se está ejecutando en este momento. Cuando eso también pesa, empieza a empantanarse. Incluso al cambiar a Safari puedes ver que necesita unos 5 segundos para activar completamente la página actual.
De hecho, me sorprende ligeramente que el Mac Pro de la parte inferior muestre algún intercambio. Rara vez lo hace.
Personalmente, no creo que 16 GB sean suficientes hoy en día.
Por cierto, hace tiempo que renuncié a tratar de igualar estos números con htop y similares. Tiendo a confiar en la memoria utilizada, el intercambio y el gráfico de la izquierda. Pronto se puede decir cuando está luchando usando sólo esos tres.

1voto

ashish jaiman Puntos 339

He pensado en añadir algo de información al investigar yo mismo estos números, sólo para añadir algo de información. Aunque he encontrado algunos bonitas herramientas con números ( vmmap ) en otro hilo la conclusión básica para este tema es lo mismo que Tetsuin:

Hace tiempo que he renunciado a tratar de igualar estos números con htop y similares.

Inspeccionando los números de memoria en uso, swap y otros antes y después de cargar algunos programas de gran tamaño (4GB sólo a Docker) apenas mostraron ninguna diferencia. Sin embargo, el gráfico subió un escalón, y es probablemente la mejor apuesta: si ves que la barra tiene toques de rojo en ella, la presión de la memoria es severa y el intercambio hará una gran diferencia en el rendimiento percibido.

Esta es la memoria después de matar un montón de programas, a continuación, iniciar Node (el primer golpe en amarillo), a continuación, iniciar IntelliJ (el segundo golpe, esta vez la memoria restringida a 1500MB). Memory pressure in green after killing programs

El rendimiento es estupendo (no hay swapping que cause tartamudeo y congelaciones), así que intentar evitar activamente el swapping parece una buena apuesta :p Obviamente, Docker parece una bestia demasiado grande para ejecutarse en esta máquina, consumiendo 4GB más o menos (según el Monitor de Actividad) y limitar la memoria heap de IntelliJ también parece ayudar: IntelliJ heap settings

Estaba configurado para usar hasta 5500 MB y obviamente causaba problemas. 1500 MB parece un compromiso feliz en esta máquina.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X