Cuando las demandas de un programa en ejecución hacen que solicite recursos excesivos de su servidor, es posible que experimente un bajo rendimiento e inestabilidad del sistema.
Tiempo de actividad
Verifique la carga en su servidor usando el uptime
comando.
$ uptime
15:16:45 up 41 days, 2:35, 2 users, load average: 0.01, 3.01, 2.70
El ejemplo muestra el resultado de uptime
. Cuando se ejecutó el comando a las 15:16:45, el servidor había estado activo durante 41 days 2 hours and 35 minutes
,había dos usuarios conectados y los promedios de carga eran 0.01
, 3.01
y 2.70
.
El promedio de carga es el trabajo que está haciendo el sistema. Los tres números muestran los promedios de carga para el último minuto, 5 minutos y 15 minutos respectivamente. Un promedio de carga de 1
refleja la carga de trabajo completa de un solo procesador en el sistema. Un montón de 2
en un sistema con dos CPU significa que esas CPU estaban funcionando al máximo. En un sistema con cuatro CPU, ese 2
refleja una carga de trabajo que utiliza aproximadamente la mitad de la potencia de procesamiento disponible.
En circunstancias normales, desea que el promedio de carga sea el 70 % del uso total de la CPU o menos. Puede verificar la cantidad de CPU disponibles para su instancia ejecutando el siguiente comando:
$ grep processor /proc/cpuinfo | wc -l
Si los promedios de carga muestran que la carga está aumentando y es mayor que la cantidad de CPU, debe investigar la causa. Una carga superior a la cantidad de CPU significa que el sistema está poniendo en cola las solicitudes del procesador, lo que reduce el rendimiento.
arriba
El top
El comando muestra información en tiempo real sobre el uso de recursos del servidor. Las primeras líneas proporcionan un resumen de la utilización de recursos en su sistema. Puede ordenar la lista de procesos por CPU (P
) o uso de memoria (M
), que le permite ver rápidamente las mayores demandas de los recursos de su servidor.
gratis
El free
El comando muestra información sobre el uso de la memoria del servidor. Las primeras líneas proporcionan un resumen del uso de la memoria en su sistema.
El gratis La columna muestra la cantidad de memoria libre, que generalmente es mínima porque la memoria no utilizada es un recurso desperdiciado. Los disponibles visualización de columnas muestra cuánta memoria está disponible para asignar a procesos existentes o nuevos.
vmstat
La cantidad de memoria del sistema es uno de los factores restrictivos más comunes. El intercambio es un área del disco duro donde los datos se mueven para liberar memoria física (RAM) para que la use un proceso (no todos los servidores tienen espacio de intercambio configurado). Si su sistema consume la mayor parte de su área de intercambio, eso podría significar que el servidor está tratando de hacer más de lo que permite su memoria disponible, no es que tenga poca memoria.
Si ha configurado el espacio de intercambio y sospecha que su servidor se está quedando sin memoria estándar, puede usar vmstat
para mostrar cuánto intercambio está ocurriendo.
El siguiente ejemplo muestra las estadísticas de memoria virtual de un sistema 10 veces en intervalos de 5 segundos.
$ vmstat 5 10
procs -----------memory------------- ---swap---- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 3 138096 3904 140 584 14829 33632 16684 33633 1353 11562 64 9 16 11 0
7 4 156592 3800 132 492 53570 48618 54264 48622 2762 8148 20 5 50 24 0
2 7 258552 3040 128 668 37910 39822 39766 39826 2763 10861 43 8 23 26 0
7 4 261608 4312 116 776 41696 30854 42171 30855 2771 8631 26 6 33 35 0
3 4 259316 3824 112 576 44616 32316 44697 32320 2746 7087 15 4 52 28 0
0 5 257000 3376 116 880 25895 19847 26622 19848 1673 2877 1 2 68 29 0
4 4 263240 3384 124 1424 30018 21066 30497 21070 1732 4559 9 3 64 24 0
2 14 264656 5740 120 1812 27685 19030 28029 19031 2194 5345 11 3 51 35 0
6 3 338044 3764 132 1568 20087 31066 20470 31070 1798 9847 46 6 33 14 0
2 4 325904 4048 108 1172 13251 7190 13812 7190 1193 8838 38 5 24 32 0
En el ejemplo, el gratis La columna muestra que la cantidad de memoria libre es de solo alrededor de 4 MB.
El si y así Las columnas muestran la cantidad de datos transferidos entre el intercambio del sistema y su memoria. En este ejemplo, puede ver que se están moviendo muchos datos. entonces muestra la cantidad de datos que se mueven al intercambio para liberar memoria. si muestra la cantidad de datos que se extraen del intercambio de vuelta a la memoria. Esto sucede cuando un proceso necesita los datos para ejecutarse.
Cuando un servidor está constantemente entrando y saliendo de la memoria, eso indica que la carga en él es demasiado grande para los recursos disponibles. Utilice la top
comando para identificar los procesos que están consumiendo la mayoría de los recursos.
Resumen
Si top
y vmstat
indica que el servidor está utilizando todos sus recursos, necesita optimizar su configuración actual. Por ejemplo, puede ejecutar algunos trabajos de procesamiento fuera de las horas pico, eliminar cualquier proceso no requerido y reconfigurar otros procesos para que usen menos recursos. También puede considerar aumentar el tamaño de su servidor para que coincida mejor con sus requisitos.
Si su aplicación se ejecuta y se ve saludable, verifique que esté escuchando conexiones de red. Vea si el servicio está escuchando en el socket correcto usando netstat
dominio. Consulte Comprobación de los puertos de escucha con netstat para obtener más información.