Información del Sistema

De Manuais Informática - IES San Clemente.
Revisión del 19:18 8 ene 2019 de Javierfp (discusión | contribs.) (→‎El comando time)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Logs

Los logs, o registros, son archivos de texto, por lo general con extensión .log, en los que el sistema operativo vuelca información de la ejecución de los procesos. Mediante el análisis de su contenido, podemos recopilar información sobre las condiciones de ejecución, o error, de un determinado proceso. Linux utiliza ampliamente un sistema de gestión de logs conocido como syslog, o alguna de sus variantes más avanzadas, como el caso de rsyslog en Ubuntu. Según la importancia del mensaje, lo que se denomina severidad, se pueden tomar acciones en respuesta al evento que ha originado el log. Por ejemplo, un error crítico del kernel, será identificado como originado por el facility kernel y nivel de severity critical. El administrador, en respuesta, podría configurar acciones que van desde la propia escritura en un archivo de texto .log determinado, hasta el envío de un mail de aviso a su cuenta de correo.

Los archivos de texto asociados a los logs suelen ubicarse en el directorio /var/log, el cual suele estar estructurado según la naturaleza de los procesos que originan la información

Comando strace

Este es un comando muy útil para revisar las condiciones exhaustivas de ejecución de un programa. Básicamente lo que hace es un volcado de la traza de ejecución de un proceso (ahí se muestra información de bajo nivel sobre el estado de la CPU, interrupciones, etc.).

El volumen de información generado es enorme, ya que se muestra información de las instrucciones ejecutadas por el proceso. Este tipo de información es utilizada habitualmente por los desarrolladores durante los procesos de depuración, debug, de sus programas.

Ejemplo:

strace /usr/bin/who

Ver información sobre hardware

Comandos lsxxx

Comandos como lshw, lspci, lsusb, lscpu permiten ver información relativa a los dispositivos hardware del Sistema. Ejemplo:

lshw -class network

mostraría los dispositivos físicos de red. Otras clases de dispositivos que se pueden consultar con la opción -class son:

  • bus
  • multimedia
  • processor
  • bridge
  • storage
  • display
  • memory

Este comando lshw es muy útil, ya que permite ver información de todo tipo de hardware del sistema. Para ver una descripción compacta del hardware y la clase correspondiente a cada dispositivo ejecutamos:

lshw -short

También es posible visualizar información relativa a los dispositivos hardware con el comando ls, en los directorios virtuales del sistema que incorporan información relativa a los dispositivos. Por ejemplo:

ls -d /sys/class/net/eth'''

mostraría los dispositivos de red Ethernet

Comando dmidecode

Un comando realmente potente que muestra mucha información. Obtiene la información a través de la especificación SMBIOS, que permite leer información a través de estructuras de datos que almacenan la información del BIOS

dmidecode -q

Muestra información global del sistema, incluyendo todos los elementos

dmidecode --type baseboard

Muestra información sobre la placa base. Otros valores posibles para el parámetro type:

  • bios
  • system
  • processor
  • chassis
  • memory
  • cache
  • connector
  • slot

Comando dmesg

El comando dmesg permite visualizar los mensajes generados por el kernel en el arranque del sistema. Para verlos podemos utilizar un filtro con grep. Por ejemplo

dmesg | grep "eth"

Comando hardinfo

Muy útil, admite también la posibilidad de ejecutar benchmark de rendimiento. Podemos instalarlo con

apt-get install hardinfo

Las opciones más interesantes

  • --help: muestra la ayuda del comando
  • -m: permite cargar módulos para configurar su funcionamiento
  • -l: lista los módulos disponibles
  • -a: aplica automáticamente dependencias entre módulos

El siguiente comando mostraría información de dispositivos:

hardinfo -m devices.so -a

Con el siguiente comando veríamos información de dispositivos de red

hardinfo -m network.so -a

Comando hdparm

Útil para visualizar información sobre dispositivos de almacenamiento secundario

sudo hdparm -I /dev/sda

Archivos en el directorio /proc

En este directorio virtual el kernel vuelca información sobre los procesos y recursos del sistema. Algunos archivos que contienen información útiles:

  • /proc/cpuinfo
  • /proc/meminfo
  • /proc/version
  • /proc/partitions

...y muchos más, para verlos podemos hacer un:

for f in /proc/'''; do if [ -f $f ];then echo `basename $f`;fi;done

Dentro del directorio /proc hay subdirectorios con nombres numéricos correspondientes a los PID de los procesos en ejecución. Dentro de cada uno de esos subdirectorios se almacena información de cada uno de los procesos.

El paquete sysstat

En este paquete encontramos utilidades de comandos como mpstat, que muestra información sobre la CPU e iostat, Entrada y Salida. También disponemos, sin necesidad de instalar el paquete sysstat, de la utilidad vmstat que muestra información acerca de la Memoria Virtual

El comando time

El comando time sirve para "cronometrar" las tareas que se ejecutan bajo su control. Por ejemplo

time for a in {1..1000000};do continue;done

Mostraría las estadísticas de tiempos de ejecución del ciclo iterativo del bucle for indicado

Volver

JavierFP 16:31 08 ene 2019 (CET)