Promedio de carga alta, CPU baja


10

Mi servidor se ha ralentizado y no sé por qué.

Imprimir desde arriba:

top - 14:32:50 up 639 days,  6:30,  1 user,  load average: 67.93, 70.63, 79.85
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.9% us,  0.5% sy,  0.0% ni, 94.5% id,  1.0% wa,  0.0% hi,  0.0% si
Mem:   1034784k total,  1021256k used,    13528k free,     4360k buffers
Swap:  1023960k total,   635752k used,   388208k free,    36632k cached

vmstat 10 6

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0 110 795604  12328   3980  46676    0    0     0     0    0     0  4  1 95  1
 0 97 788848  12052   3960  46256 2985   33  3323    33  429     0  2  1  0 97
 0 119 782660  13992   4096  45740 2780   14  2995   360  435     0  2  1  1 96
 0 121 775924  15600   3724  42796 3084    0  3443   136  440     0  2  1  0 98
 0 113 769392  13576   3476  41968 3002    0  3458     7  426     0  2  1  0 97
 0 113 762284  12440   3332  34884 3151    0  3553    61  427     0  2  1  0 97

doitprod2: / var / log # grep -c procesador / proc / cpuinfo

2

iostat 2

 tps   Blk_czyt/s   Blk_zapis/s  Blk_czyt   Blk_zapis
sda             166,00      7128,00        52,00      14256        104

Ok, después de matar e iniciar algunos procesos ahora está bien. Gracias por su ayuda de todos modos.


¿Puedes incluir la salida de vmstat 10 6? (tardará 60 segundos en ejecutarse) y tambiéngrep -c processor /proc/cpuinfo
James C

Las respuestas / comentarios en serverfault.com/q/482832/58957 enumeran más razones y explicaciones para estos síntomas.
Nickolay

Respuestas:


9

Probablemente esté teniendo procesos en UNINTERRUPTIBLE_SLEEPestado, normalmente están en ese estado porque están esperando algo del hardware como leer desde un disco. Esos procesos están durmiendo efectivamente (tiene 244 procesos durmientes) pero ingresan al cálculo del promedio de carga. Verifique el IO de su servidor vmstaty vea si tiene muchos Destados en topo pspara confirmar.

EDITAR: Ver su vmstatsalida confirma aún más el problema de E / S. Su bcolumna debajo procsmuestra un promedio de 100 procesos en suspensión ininterrumpida. Su bicolumna (bloques leídos desde un dispositivo de bloque) es muy alta, así como la sicolumna (memoria leída de intercambio / disco). Finalmente, debajo del cpuencabezado, la wacolumna muestra que su CPU gasta más del 90% esperando a que se complete IO.

Debe verificar por qué tiene esos problemas con IO. Puede ser la falta de capacidad del servidor, los procesos que se ejecutan de forma salvaje y otras razones, pero definitivamente es IO.


1
Puede comenzar a buscar al responsable utilizando iotop( apt-get install iotop). Además, en la clasificación superior normal por uso de memoria presionando O (eso es una o mayúscula), luego n, luego ingrese. Los principales usuarios de memoria pueden ser responsables de todo el intercambio.
Eduardo Ivanec

2

Verifique el 1.0% de wa que tiene en la parte superior si se eleva. Como ha accedido al archivo de intercambio, es posible que los procesos esperen E / S

Verifique cat /proc/sys/fs/file-nrsi el primer número está cerca del tercero (archivos abiertos vs total de archivos abiertos).

¿Estás en un VPS?


/ proc / sys / fs / file-nr 3600 0 102712
Kamilos

Probablemente arrojaría algo de luz si pudiera compartir el tipo de software que está ejecutando en el servidor. (por ejemplo, apache, tomcat, glassfish, etc.). Pero seguramente, más ram (doble o más) le daría a su máquina un buen impulso.
pataroulis

1

El iowait (listado en la última columna como "wa") que se muestra en la salida de vmstat es muy alto. Y hay mucha paginación (páginas de datos que se mueven entre la memoria física y el intercambio basado en disco).

Esta máquina se beneficiaría de más ram físico.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.