GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos básicos para solucionar problemas de rendimiento en Linux

A continuación se muestra la lista de comandos del sistema operativo además de los comandos básicos que son útiles para diagnosticar los problemas al final del sistema operativo que causan el bajo rendimiento. Tenga en cuenta que todos los comandos mencionados anteriormente se prueban solo en un entorno Linux.

Si está listo para rastrear sus problemas de rendimiento, aquí hay algunas herramientas para comenzar:

  • sar :con el paquete sysstat instalado, use el comando sar para mostrar información de actividad para una variedad de funciones del sistema o para tener una idea del uso de recursos a lo largo del tiempo. Una vez instalados, los trabajos cron de sysstat recopilan datos del sistema cada 10 minutos que se pueden mostrar más tarde con el comando sar. Con sar, también puede mostrar los mismos tipos de datos en vivo.
  • dstat :Creado como reemplazo de vmstat, iostat e ifstat, dstat ofrece muchas opciones para combinar y mostrar diferentes tipos de datos del sistema. Muestra datos en color y te permite presentar diferentes piezas de información en las columnas que elijas. Con dstat, puede ver estadísticas sobre la CPU de su sistema, E/S de disco, actividad de red, paginación, interrupciones, promedios de carga, memoria, procesos, contadores de tiempo y sistemas de archivos. Utilice dstat para comparar la actividad del sistema en vivo para diferentes tipos de recursos. Por ejemplo, durante las descargas de archivos grandes, puede comparar la actividad de la red y del disco.
  • pd :El comando ps es la forma común de ver qué procesos se están ejecutando. Combinado con opciones, ps le permite elegir qué columnas mostrar para cada proceso y ordenar los datos por cualquiera de esas columnas. Use ps para ver información sobre todos o cualquier proceso que se esté ejecutando actualmente en su sistema.
  • arriba :Con top, puede ver una visualización orientada a la pantalla de los procesos que se ejecutan en su sistema que se actualiza cada pocos segundos. Puede ordenar por CPU o uso de memoria y eliminar o renovar procesos. Use la parte superior para encontrar inmediatamente sus procesos de mayor consumo.
  • iostato :Principalmente, iostat le permite mostrar estadísticas de E/S para dispositivos (como discos e interfaces de red). Esto es útil para verificar cuellos de botella de E/S porque los datos se muestran por el porcentaje de la capacidad de lectura/escritura del dispositivo.
  • mpstat :El comando mpstat enumera el uso de la CPU. Use mpstat para ver cuánta CPU se consume y para tener una idea general de dónde proviene ese consumo.
  • vmstat :muestra las estadísticas de la memoria con el comando vmstat. Si el rendimiento es bajo, use vmstat para ver si la memoria está agotada y si el sistema se está intercambiando demasiado.
  • iptraf :Para una herramienta gráfica para monitorear el tráfico de red, ejecute el comando iptraf. Use iptraf para ver qué direcciones IP específicas están generando la mayor cantidad de tráfico de red hacia y desde su sistema.
  • tcpdump :esta herramienta basada en texto le permite ver los paquetes que llegan a las interfaces de red seleccionadas y, opcionalmente, filtrar esos paquetes para buscar ciertos tipos de actividad. Use tcpdump para rastrear problemas de rendimiento relacionados con servicios específicos; puede optar por ver solo los paquetes destinados a un servicio en particular.
  • tiburón de cables :Esta herramienta es una versión gráfica de tcpdump, con muchas características analíticas. La herramienta incluye soporte para decodificar muchos protocolos de uso común y mostrarlos en una interfaz gráfica de usuario interactiva.

Ahora, profundicemos en algunas de las herramientas que acabamos de enumerar.

1. Salida del comando "iotop" para el entorno Linux.

El comando iotop es una utilidad similar a la superior para E/S de disco. Observa la salida de información de uso de E/S del kernel de Linux (requiere v2.6.20 o posterior) y muestra una tabla de uso de E/S actual por procesos o subprocesos en el sistema. Esto requiere que el usuario root ejecute el comando.

2. Para recopilar la información de la memoria caché del sistema de archivos utilizando la salida de comando "gratuita" para obtener el uso de la memoria caché del sistema de archivos:

  • Comando "libre" para verificar el uso de la memoria.
  • Los "búferes" representan la cantidad de RAM dedicada al bloque de disco de caché. "En caché" es similar a "Búferes", solo que esta vez almacena en caché las páginas de la lectura de archivos.
  • Un búfer es algo que aún no se ha "escrito" en el disco.
  • Un caché es algo que ha sido "leído" del disco y almacenado para su uso posterior.

3. Para verificar la lista de parches del sistema operativo aplicados en Linux usando el siguiente comando. Esto ayudará a identificar los cambios que hizo CT en el pasado:

# rpm -qa --last > last-rpms.txt
Nota :Aparecerá una lista con los parches aplicados con fecha y hora.

4. Para recopilar información sobre Memoria/CPU/IO/NUMA, etc. para cualquier cambio de la salida dmesg. Se puede recopilar cada 30 segundos:

– Para mostrar información de hardware relacionada con el puerto Ethernet eth0:

$ dmesg | grep -i eth0

– Para mostrar la memoria total disponible y los detalles de la memoria compartida:

$ dmesg | grep -i Memory

– Para mostrar información de tty:

$ dmesg | grep -i tty

– Para mostrar información NUMA:

$ dmesg | grep -i numa

– Para mostrar la información de los discos duros:

$ dmesg | grep -i sda

– Para mostrar información relacionada con la CPU:

$ dmesg | grep -i CPU

5. Para recopilar el registro de mensajes del sistema global:

/var/log/messages
/var/log/dmesg

El comando dmesg muestra el contenido actual de los mensajes del búfer de anillo syslog del kernel, mientras que el archivo /var/log/dmesg contiene lo que había en ese búfer de anillo cuando se completó el proceso de arranque por última vez. /var/log/dmesg permanece sin cambios hasta el próximo reinicio. Los mensajes antiguos se reemplazan por mensajes nuevos en el búfer circular.

dmesg es el subconjunto de /var/log/messages y se mantiene en el búfer circular. /var/log/messages incluye todos los mensajes del sistema, incluso desde el inicio del sistema junto con los mensajes en dmesg. En pocas palabras, los registros de dmesg se descargan en /var/log/messages.

Nombres y usos comunes de los archivos de registro de Linux:

  • /var/log/mensajes :Mensaje general y cosas relacionadas con el sistema
  • /var/log/auth.log :registros de autenticación
  • /var/log/kern.log :Registros del núcleo
  • /var/log/cron.log :Registros crond (trabajo cron)
  • /var/log/maillog :registros del servidor de correo
  • /var/log/qmail/ :directorio de registro de Qmail (más archivos dentro de este directorio)
  • /var/log/httpd/ :Directorio de registros de error y acceso de Apache
  • /var/log/lighttpd/ :Directorio de registros de errores y acceso de Lighttpd
  • /var/log/boot.log :registro de arranque del sistema
  • /var/log/mysqld.log :archivo de registro del servidor de base de datos MySQL
  • /var/log/seguro o /var/log/auth.log :registro de autenticación
  • /var/log/utmp o /var/log/wtmp :Archivo de registros de inicio de sesión
  • /var/log/yum.log :archivo de registro del comando Yum.

6. Para comprobar si se utilizan páginas gigantes. Para ejecutar solo al principio y al final de la colección OSW:

# grep -i Hugepages /proc/meminfo
# cat /proc/meminfo

7. Para verificar el sistema de archivos utilizado en el sistema operativo. Para ser ejecutado solo una vez:

# cat /etc/fstab

8. Para recopilar información sobre la actividad del sistema durante la última semana:

/var/log/sa tiene archivos para sa y sar que tienen la información del historial de uso de la CPU.

# ls -al /var/log/sa | grep "Mar 12"
-rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12
-rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12

“sar -W -f /var/log/sa/sa12”:muestra información histórica de paginación/intercambio

# less /var/log/sa/sa12

9. Para obtener la información de CPU Arch:

# lscpu
# cat /proc/cpuinfo

10. Para obtener la información de semáforos/memoria compartida del kernel:

# ipcs -lm
# ipcs -ls
# cat /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmni
getconf PAGE_SIZE
# cat /proc/sys/kernel/shmall

11. Para obtener información sobre los identificadores de archivos:

# cat /proc/sys/fs/file-max
# cat /proc/sys/fs/file-nr

12. Para obtener información sobre ulimit para descriptores de archivos abiertos/maxproc:

# su - oracle
# ulimit -n
# ulimit -u

13. Para verificar el tamaño máximo de IO por solicitud de IO:

# cat /sys/block/[device]/queue/max_sectors_kb

Para determinar el tamaño máximo de E/S en bytes cuando se usa Asynch IO:

# cat /proc/sys/fs/aio-max-size

o

# cat /proc/sys/fs/aio-max-nr

14. Para mostrar el modelo de dispositivo de disco, estándares, configuración, capacidad, etc.:

Ejemplo:

# hdparm -I /dev/sda
# sudo hdparm -i /dev/sda

15. Para verificar el tamaño del bloque para un dispositivo en particular:

Ejemplo:

# blockdev --getbsz /dev/xvda1
# tune2fs -l /dev/vgxx/lvolx


Linux
  1. 40 comandos básicos de Linux utilizados con frecuencia

  2. 10 comandos básicos de Linux que necesitas saber

  3. Comandos Linux de la A a la Z

  4. Los mejores comandos básicos de Linux para principiantes

  5. Comprender los comandos básicos de Linux

Comandos básicos de Linux

4 comandos para apagar Linux desde la terminal

Comando Fsck en Linux

25 comandos básicos de Linux que un principiante necesita saber

Solucionar problemas y monitorear el rendimiento del sistema Linux con nmon

Uso de vmstat para solucionar problemas de rendimiento en Linux