
Tengo un sistema de 32 núcleos, 64 subprocesos y 128 GB de RAM con SSD interno.
Estoy ejecutando 64 trabajos de simulación/minería de datos en paralelo, cada uno de los cuales carga 1 GB del disco y se ejecuta durante aproximadamente 5 a 10 minutos.
Quiero saber si tengo un cuello de botella en la CPU, el disco o la RAM. Tengo el resultado de atop/htop/iotop aquí, pero no sé cómo interpretarlo correctamente. ¿Puede por favor darme una sugerencia sobre dónde estoy teniendo cuellos de botella?
No creo que tenga un cuello de botella por el disco (esta es mi lectura amateur de iotop), pero no sé cómo leer atop/htop y determinar si tengo un cuello de botella por la RAM (por ejemplo, por la cantidad de canales para el ancho de banda). , latencia) o por CPU.
encima de la salida:https://i.stack.imgur.com/5fv35.jpg
salida superior:https://i.stack.imgur.com/kmLgC.jpg
salida de iotop:https://i.stack.imgur.com/o6Ezk.jpg
NB: Cruz publicada enhttps://www.reddit.com/r/linuxquestions/comments/eo4s71/interpreting_atophtopiotop_output/
Respuesta1
El uso de RAM es de ~73%, casi no se utiliza espacio de intercambio y todos los núcleos parecen estar al máximo. Así que el tamaño y la velocidad de la RAM están bien, y el cuello de botella es sin duda la CPU.
Según su descripción de la tarea, la velocidad del disco no es necesariamente un cuello de botella, ya que no se utiliza constantemente como lo hacen la CPU y la RAM. iotop
muestra una velocidad de disco de 14 MB/s, pero dado que tienes un SSD, debería ser mucho más rápido que eso, especialmente al leer. Supongo que la captura de pantalla no se tomó durante el uso máximo del disco; de lo contrario, es posible que desees investigar eso.