¿Cómo puedo supervisar el uso de mis recursos de Lightsail desde la línea de comandos?
Mi sitio web o aplicación alojada en Amazon Lightsail no funciona o funciona muy despacio. Quiero supervisar el uso de mis recursos de Lightsail desde la línea de comandos para poder solucionar estos problemas.
Descripción corta
Hay varios factores, incluida la alta utilización de los recursos, que afectan a los servicios que se ejecutan en las instancias de Lightsail. Utilice herramientas comunes para supervisar recursos como la CPU, la memoria, la E/S de disco y el uso de la red en las instancias de Lightsail. Puede hacerlo en tiempo real desde la línea de comandos. Las herramientas permiten una vista granular de los procesos que utilizan más CPU, memoria, E/S de disco o red.
Los siguientes son los recursos que puede usar para analizar y supervisar los recursos de su instancia de Lightsail desde la línea de comandos:
- La herramienta atop
- La herramienta htop
- Los comandos iostat, vmstat y mpstat
Resolución
La herramienta atop
La herramienta atop informa de la actividad de todos los procesos, incluso si esos procesos finalizaron durante el intervalo especificado. Esta herramienta registra toda la información relevante del sistema de forma continua. Debido a este registro continuo, si los problemas vuelven a ocurrir, tiene datos históricos que analizar. La herramienta atop está incluida en los repositorios oficiales de la mayoría de las distribuciones de Linux. Instale la herramienta atop ejecutando los siguientes comandos:
Sistemas basados en Red Hat
$ sudo yum install atop
Sistemas basados en Debian
$ sudo apt install atop
La herramienta atop registra toda la actividad en intervalos de 600 segundos de forma predeterminada. Para cambiar la configuración de la herramienta atop para que las actividades se registren en intervalos de 60 segundos, ejecute el siguiente comando:
Sistemas basados en Red Hat
$sudo sed 's/600/60/' /etc/atop/atop.daily -i
Sistemas basados en Debian
$ sudo sed 's/600/60/' /etc/default/atop -i
Tras ejecutar el comando, atop registra todas las actividades en intervalos de 60 segundos. Los datos se almacenan en archivos de registro en /var/log/atop. Estos archivos se denominan en el siguiente formato «atop_ccaammdd». Por ejemplo, «atop_20230902» es la grabación del 2 de septiembre de 2023.
Para acceder al archivo de registro, ejecute el comando atop -r atologfilepath. El comando y el archivo de registro aparecen en el siguiente ejemplo:
atop -r /var/log/atop/atop_20210902 ATOP - ip-172-20-139-91 2021/09/02 17:03:44 ---------------- 3h33m7s elapsed PRC | sys 6.51s | user 7.85s | #proc 103 | #tslpi 81 | #tslpu 0 | #zombie 0 | #exit 0 | CPU | sys 0% | user 3% | irq 0% | idle 197% | wait 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu000 w 0% | ipc notavail | curscal ?% | cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu001 w 0% | ipc notavail | curscal ?% |
En este ejemplo de salida, la primera instantánea grabada fue el 2021/09/02 a las 17:03:44. Para pasar a la siguiente instantánea, pulse la tecla «t» del teclado. Para volver a la instantánea anterior, pulse la tecla «T» («t» mayúscula).
Las siguientes son las opciones de uso común con las que puede iniciar atop:
Ordenar por memoria
$ atop -m
Ordenar por detalles del disco
$ atop -d
Ordenar por detalles de red
$ atop -n
La herramienta htop
La herramienta htop es una aplicación de supervisión de procesos interactiva y en tiempo real para Linux que muestra su uso por CPU o núcleo. Esta herramienta también proporciona un gráfico de texto del uso de la memoria y del intercambio.
Para instalar htop, ejecute los siguientes comandos:
Sistemas basados en Red Hat
$ sudo yum install htop
Sistemas basados en Debian y Ubuntu
$ sudo apt install htop
Use el siguiente comando para ejecutar htop en su sistema:
$ htop
La herramienta htop enumera todos los procesos que se están ejecutando actualmente en el sistema e incluye información sobre la cantidad de CPU y memoria que utiliza cada proceso. También se incluye el comando utilizado para iniciar el proceso.
Las siguientes son las definiciones de cada columna de la salida:
- PID: Un número de identificación del proceso.
- BUSER: El propietario del proceso.
- PR: La prioridad del proceso. Cuanto menor sea el número, mayor será la prioridad.
- NI: La buena relación calidad-precio del proceso, que afecta a su prioridad.
- VIRT: Cuánta memoria virtual utiliza el proceso.
- RES: Cuánta RAM física utiliza el proceso, medida en kilobytes.
- SHR: Cuánta memoria compartida utiliza el proceso.
- **S:**El estado actual del proceso.
- CPU: El porcentaje del tiempo de procesador utilizado por el proceso.
- MEM: El porcentaje de RAM física utilizada por el proceso.
- TIME+: Cuánto tiempo de procesador usó el proceso.
- COMMAND: El nombre del comando que inició el proceso.
Los comandos iostat, vmstat y mpstat
Los comandos iostat, vmstat y mpstat forman parte del paquete sysstat. Use los siguientes comandos para instalar este conjunto de herramientas en su instancia de Lightsail:
Sistemas basados en Red Hat, como Amazon Linux, CentOS o RHEL
$ sudo yum install sysstat
Debian y Ubuntu
$ sudo apt-get install sysstat
Use los siguientes comandos para iniciar y habilitar sysstat para la recopilación continua de datos:
$ sudo systemctl start sysstat
$ sudo systemctl enable sysstat
comando «iostat»
El comando iostat recopila y muestra las estadísticas del dispositivo de almacenamiento de entrada y salida del sistema. Esta herramienta se usa con frecuencia para rastrear los problemas de rendimiento de los dispositivos de almacenamiento, incluidos los dispositivos y los discos. Las siguientes son las opciones comunes de iostat:
- iostat: Obtenga informes y estadísticas.
- iostat -x: Muestra información estadística más detallada.
- iostat -c: Muestra solo las estadísticas de la CPU.
- iostat -d: Muestra solo el informe del dispositivo.
- iostat -xd: Muestra estadísticas de E/S ampliadas únicamente para el dispositivo.
A continuación se muestra un ejemplo del resultado del comando iostat:
$ iostat Linux 4.14.246-187.474.amzn2.x86_64 10/22/2021 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.34 0.00 1.36 1.06 1.67 90.58 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn xvda 41.64 1496.90 890.16 502148 298612
comando vmstat
El comando vmstat (estadísticas de memoria virtual) recopila y muestra información sobre la memoria del sistema, los procesos, las interrupciones, la paginación y la E/S de bloques. El comando vmstat le permite especificar un intervalo de muestra para observar la actividad del sistema casi en tiempo real. A continuación se muestra un ejemplo del comando y el resultado de vmstat:
$ vmstat 2 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 1409320 2088 485404 0 0 568 724 232 393 4 2 93 1 1 0 0 0 1409332 2088 485404 0 0 0 67 146 261 0 0 100 0 0 0 0 0 1408916 2088 485404 0 0 0 0 157 276 0 0 100 0 0 0 0 0 1408980 2088 485408 0 0 0 0 161 259 0 0 100 0 0 0 0 0 1408984 2088 485408 0 0 0 0 105 190 0 0 100 0 0
Las siguientes son opciones de uso común que puede usar con el comando vmstat:
La opción**-a** muestra la memoria activa e inactiva del sistema:
$ vmstat -a procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 2 0 0 1402016 311232 218864 0 0 60 77 74 129 0 0 99 0 0
La opción**-d** muestra las estadísticas del disco:
$ vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec nvme0n1 7728 25 433681 4544 3133 93 555950 4196 0 1
El comando mpstat recopila y muestra las estadísticas de rendimiento de todos los procesadores lógicos del sistema. Si ejecuta el comando mpstat sin opciones, se genera un único informe que contiene las estadísticas de rendimiento de todos los procesadores lógicos desde el arranque.
$ mpstat Linux 4.18.0-305.el8.x86_64 (ip-xxx-xx-x-xx.ec2.internal) 10/27/2021 _x86_64_ (2 CPU) 04:23:26 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 04:23:26 PM all 8.42 0.13 2.43 1.49 0.18 0.05 0.22 0.00 0.00 87.08
La primera línea del ejemplo anterior es un conjunto de rótulos de columna. La segunda línea es el valor de cada columna:
- %usr: porcentaje de uso de la CPU a nivel de usuario.
- %nice: porcentaje de uso de CPU para procesos de usuario etiquetados como «buenos».
- %sys: porcentaje de uso de la CPU a nivel del sistema (kernel de Linux).
- %iowait: porcentaje de uso de CPU inactiva esperando la lectura/escritura de un disco.
- %irq: porcentaje de uso de la CPU cuando gestiona las interrupciones de hardware.
- %soft: porcentaje de uso de la CPU cuando gestiona las interrupciones del software.
- %steal: porcentaje de uso de la CPU cuando se vio obligado a esperar a que un hipervisor gestionara otros procesadores virtuales.
- %guest: porcentaje de uso de la CPU empleado en un procesador virtual.
- inactivo: porcentaje de uso de la CPU en tiempo de inactividad (sin procesos y sin espera a que se lea o escriba el disco).
Con las herramientas de línea de comandos anteriores, identifique los procesos con un uso elevado de recursos. Use esta información para elegir instancias con recursos suficientes para su carga de trabajo.
Contenido relevante
- OFICIAL DE AWSActualizada hace 7 meses
- OFICIAL DE AWSActualizada hace 8 meses
- OFICIAL DE AWSActualizada hace 8 meses
- OFICIAL DE AWSActualizada hace 2 años