Alta carga en el servidor OS X

1

Estoy ejecutando OS X Server (5.2 en 10.12.2) en una Mac Mini a finales de 2014 con 8GB de RAM y 2.6GHz i5. La carga es siempre alrededor de 3.5 - 6 incluso sin ninguna aplicación en ejecución. Incluso en la parte superior como root, no puedo ver ningún proceso que use mucho tiempo de CPU.

El servidor ejecuta algunos servicios en nuestra oficina de 10 personas.

  • Uso compartido de archivos para 1 host NFS
  • Calendario y Contactos
  • Profile Manager con VPP y DEP (MDM) para 10 teléfonos y macs
  • VPN para los administradores (así que tal vez una vez a la semana un inicio de sesión)
  • DNS para la red local con 1 zona
  • Directorio abierto para MDM y otro NAS de respaldo

Time Machine está haciendo una copia de seguridad del servidor, pero aparte de eso no hay ningún software o servicio en ejecución.

Estoy bastante seguro de que comenzó con la última actualización de Sierra y OS X Server o al menos nunca lo vi antes.

system.log parece normal con algunos mensajes de lanzamiento de quicklook cada 5 minutos, pero nada inusual aparte de eso.

Todos los demás registros se ven normales sin que se repita continuamente el mensaje de error o algo así.

iostat se ve normal:

iostat
           disk0               disk2       cpu    load average
KB/t   tps  MB/s     KB/t  tps  MB/s  us sy id   1m   5m   15m
24.68   16  0.39     5.99    0  0.00   1  1 97  3.18 3.98 4.20

y por último pero no menos importante la línea superior desde arriba

Processes: 423 total, 2 running, 421 sleeping, 1223 threads                                                                                                                                                                                                        17:30:02
Load Avg: 4.23, 4.08, 4.16  CPU usage: 0.24% user, 1.21% sys, 98.53% idle  SharedLibs: 256M resident, 46M data, 60M linkedit. MemRegions: 43391 total, 3896M resident, 175M private, 585M shared. PhysMem: 7872M used (1886M wired), 318M unused.
VM: 1090G vsize, 621M framework vsize, 91454(0) swapins, 116522(0) swapouts. Networks: packets: 32147266/24G in, 47494932/42G out. Disks: 1354379/36G read, 1681454/35G written.

¿Alguna idea de dónde mirar o qué sucede?

Editar: para aclarar, no hay procesos en ejecución que expliquen los promedios de carga alta. Y en mi experiencia, algo como esto podría provenir de memoria corrupta o disco duro.

uptime
19:35  up 2 days,  6:19, 3 users, load averages: 5.17 4.96 4.54 

¿Hay algo más que mirar que los archivos de registro?

Todos mis servidores SMP basados ​​en Linux funcionan con cargas de 0.xx y tengo un poco de miedo de que haya un problema mayor en alguna parte.

Meiko Watu
fuente
Asegúrese de correr topy iostatcon intervalos de sueño de 30 o 60 segundos. Cuando se actualizan demasiado rápido, eso provoca valores de carga artificialmente altos.
bmike

Respuestas:

1

Esa carga me parece bastante normal para el servidor. El 98.53% de CPU inactiva parece bastante excelente para una carga de servidor ligera. No tiene sentido la comparación numérica directa del promedio de carga de macOS del kernel de Mach con Linux, AIX, BSD u otro UNIX ya que la arquitectura subyacente es diferente aquí.

Lo que se traduce al sistema UNIX tradicional es contar los subprocesos activos y observar la utilización general de la CPU. Con más de mil subprocesos que se ejecutan activamente (tal vez un tercio están lo suficientemente inactivos como para ser marcados como "inactivos"), no trataría de ajustar o cambiar nada si lo viera en cualquiera de mis cientos de servidores Mac y OS X de producción. .

Si realmente tiene curiosidad, correría top -u -s 60y dejaría que el sistema llegara a neutral (en iostatel promedio de 15 m que muestra es más alto que el promedio de 1 m, lo que significa que el uso de la CPU tiene una tendencia más baja; cuando los tres valores son casi iguales, eso es un bueno neutral a medida). Además, ejecute sysctl hw.logicalcpupara que pueda normalizar el valor que ve en los núcleos disponibles. Incluso cuando su carga es mayor que la CPU disponible, puede que no sea un problema si sus restricciones son para IO, red u otro lugar que no sea la CPU.

¿Cuáles son los 5 principales procesos de uso de CPU cuando tiene una actualización lenta top? Esos serán los que causen la mayor carga en su situación con toda probabilidad.

bmike
fuente
Gracias por su respuesta, pero el 98,53% inactivo es la carga actual de la CPU. Estoy hablando del promedio de carga. que es demasiado alto con 4.96 en el último minuto, etc. en.wikipedia.org/wiki/Load_(computing) . El sistema está funcionando durante 2 días con una carga tan alta, lo comprobé ayer por la noche y la carga era de aproximadamente 3 y ahora es aún mayor, con el sistema solo atiende a 2 personas en la oficina. Todas las "5 tareas principales" están utilizando 0.1 o 0.0 CPU. Eso es lo que me pregunto
Meiko Watu
1
El promedio de carga de @MeikoWatu puede ser engañoso, especialmente en CPU multinúcleo (es decir, cualquier computadora moderna). Puede tener una mejor idea de cómo nos cargó la CPU en la utilidad Monitor de actividad, abriendo la ventana de uso de la CPU (menú Ventana> Uso de la CPU o Comando-2). Esto mostrará una visualización continua de cuán activo frente a inactivo es cada uno de los núcleos de su CPU.
Gordon Davisson el
Gracias @GordonDavisson, pero en mis casi 20 años de experiencia con servidores Linux de alta carga promedio, los procesos que no consumen CPU siempre conducen a algo malo, como discos duros defectuosos, mala memoria u otras cosas realmente malas. Sospecho bastante de eso, ya que todos los demás servidores (Linux) aquí se ejecutan con una carga promedio de 0.xx hasta un máximo de 1.2x. Pensé que podría haber alguien aquí con problemas similares. Lo siento debería haber pedido más detallado.
Meiko Watu
Tenga en cuenta que, en el kernel de macOS, el promedio de carga no se divide por CPU lógica, por lo que si tiene 8 núcleos, divida sus valores entre 8. Ver sysctl hw.logicalcpuesto es una advertencia simple: fue bueno observarlo cuando lo vio aumentar . Pero luego mire a su alrededor y asegúrese de que no está intercambiando o vinculado a la CPU y luego restablezca sus expectativas a "normal" en ese hardware / sistema operativo su promedio de carga. @MeikoWatu
bmike
1
ahh gracias @bmike que tiene mucho sentido ahora! Lo siento, ¡no sabía que el promedio de carga no se dividió en osx!
Meiko Watu