#sistemasbasadosenUnix
Explore tagged Tumblr posts
sololinuxes · 5 years ago
Text
Qué es Load Average en linux, bien explicado por un sysadmin
Tumblr media
Qué es Load Average en linux, bien explicado por un sysadmin. Herramientas y comandos propietarios de sistemas basados en Unix, nos muestran el "Load Average", conocido en nuestro idioma materno como "promedio de carga". El load average en Linux, son los promedios de carga del sistema que nos muestra la demanda de subprocesos (tareas) que se están ejecutando, y los que esperan. La gran mayoría de herramientas y comandos imprimen tres valores de promedios. (1) - Ultimo minuto. (5) - Últimos cinco minutos. (15) - Últimos quince minutos. Pero ojo!!!, estos tres números (promedios de carga) vinculados a 1, 5 y 15 minutos, realmente no son promedios, y tampoco son 1, 5 y 15 minutos exactos. Son las constantes usadas en una ecuación, que calcula las sumas de valores que se van alterando cada cinco segundos. La verdad es, que el load average de 1, 5, y 15 minutos no es real, son muchos más. Explicar la ecuación es largo y complejo, si tienes esa inquietud puedes revisar este articulo. Por ejemplo, si tenemos un sistema con una carga 0 (cero) e iniciamos una tarea en bucle que requiera de procesador, se supone que pasado un minuto el promedio de carga sería 1 (uno), pues no, no es uno, depende en gran manera del tipo de tarea pero oscilará entre 0.3 y 0.6. Esto tiene su explicación por dos motivos, el primero y más importante es por el tipo de calculo ecuacional, el segundo es, porque antes los sistemas basados en Unix solo calculaban los procesos a la espera de CPU, Linux también cuenta los procesos que esperan a otros procesos, por ejemplo, los que permanecen a la espera de leer o escribir en el disco. Es algo normal que a veces nos encontremos valores que no tienen ningún sentido, podemos tener la carga con un valor 0.1, y de repente nos encontramos con 3. Como te dije antes, son promedios que a veces se alargan en el tiempo. Si tu sistema tiene múltiples CPU o una CPU de varios núcleos. El promedio de carga funciona de manera diferente. Por ejemplo, si tienes un promedio de 2 en un sistema con una sola CPU, esto significa que tu sistema se sobrecargó en un 100%, osea, un proceso estaba usando la CPU en exclusica mientras otro proceso esperaba. En un sistema con dos CPU, esto sería un uso completo: dos procesos diferentes usaban las dos CPU durante todo el tiempo. En un sistema con cuatro CPU, dos procesos utilizaban dos CPU, mientras que las dos restantes permanecen a la espera. Como anécdota te puedo decir, que el otro dia haciendo un backup de un sitio web pesado (75Gb), al comprimir... el load average se disparó 12 (con un Xeon E5-2670). Lo curioso es que pasados 3 minutos de terminar la compresión el primer valor aun lo teníamos en 11.   Como ver el Load Average Uff, buena pregunta. La gran mayoría de herramientas ofrecen este dato, pero tranquilo no es necesario que instales ninguna herramienta ajena para obtener un dato que a título orientativo es perfecto. Si hablamos de comandos básicos tenemos "uptime" y "w". Vemos unos ejemplos: uptime salida... sololinux ~ # uptime 11:08:00     up     3:39,     1 user,     load average: 0,65, 0,63, 0,64 w salida... sololinux ~ # w     11:10:03 up 3:41, 1 user, load average: 0,56, 0,67, 0,65 USUARIO      TTY      DE      LOGIN@      IDLE      JCPU      PCPU   WHAT sololinux        tty7       :0        07:35            3:41m    5:01         0.24s   /sbin/upstart - Como aplicaciones de monitoreo básicas nos encontramos con las archiconocidas Top y Htop. top imagen de ejemplo...
Tumblr media
Load Average en Top Htop es una aplicación externa, pero viene incluida en todos los repositorios oficiales de las distros linux (recomendada). Su instalación es simple... Ubuntu, Debian, Linux Mint, y derivados: sudo apt install htop CentOS, RHEL, Fedora, y derivados: sudo yum install htop sudo dnf install htop Arch Linux, Manjaro, y derivados: sudo pacman -S htop Open Suse, Suse, y derivados: sudo zypper install htop Ejecutamos htop. htop ejemplo...
Tumblr media
Load average en Htop   Conclusión final Es importante saber cuántas CPU tiene tu maquina. Un promedio de carga de 5 indica que un sistema está sobrecargado masivamente, pero si cuentas con 6 cpu, tu sistema es correcto. Es útil en servidores y otros sistemas empresariales, para detectar posibles errores. Aun así, no son valores definitivos, pero por lo menos orientativos.   Canales de Telegram: Canal SoloLinux – Canal SoloWordpress Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.   Read the full article
0 notes
sololinuxes · 5 years ago
Text
Uso del comando dmesg en linux
Tumblr media
Uso del comando dmesg en linux. El comando dmesg (diagnostic message / mensajes de diagnóstico), es una herramienta exclusiva de sistemas basados en Unix con la capacidad de listar los avisos temporales generados por el kernel. Estos avisos se guardan en lo que se conoce como buffer, y contiene los mensajes más importantes que se generaron al iniciar el sistema (también los cambios durante su funcionamiento), por ejemplo de los drivers y el hardware. Estos (normalmente) se guardan mediante "syslog", siendo dmesg la herramienta con capacidad de de leer e imprimir (en formato humano) los avisos del kernel. Poder examinar los mensajes de arranque del núcleo, te ayudaran a solucionar problemas relacionados con el hardware. En este articulo vemos los conceptos principales que debes conocer de "dmesg".  
Uso del comando dmesg en linux
Uso básico de dmesg La sintaxis de dmesg es muy simple. dmesg No es obligatorio que apliques opciones, lo puedes ejecutar tal cual. dmesg Normalmente esta herramienta se ejecuta sobre cualquier usuario, si por un extraño caso no te permite su uso en usuarios sin permisos, recibirás un mensaje similar a: dmesg: read kernel buffer failed: Operation not permitted El error anterior se produce por el ajuste del parámetro "kernel.dmesg_restrict". Solucionamos el problemas ajustando los privilegios. sudo sysctl -w kernel.dmesg_restrict=0 La salida impresa del comando puedes ser muy larga, y esto dificulta su lectura. Para ver el archivo linea por linea... dmesg --color=always | more La herramienta dmesg nos permite filtrar los mensajes por dispositivo. En nuestro caso y a modo de ejemplo, extraemos un pendrive usb y un raton usb, pasados unos segundos los insertamos de nuevo. dmesg | grep -i usb ejemplo... sololinux ~ # dmesg | grep -i usb   usb 2-2: USB disconnect, device number 3   usb 3-1: new low-speed USB device number 2 using uhci_hcd   usb 3-1: New USB device found, idVendor=046d, idProduct=c077   usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0   usb 3-1: Product: USB Optical Mouse   usb 3-1: Manufacturer: Logitech   input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/0003:046D:C077.0004/input/input14   hid-generic 0003:046D:C077.0004: input,hidraw2: USB HID v1.11 Mouse on usb-0000:00:1d.1-1/input0   usb 1-2: new high-speed USB device number 5 using ehci-pci   usb 1-2: New USB device found, idVendor=13fe, idProduct=4200   usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3   usb 1-2: Product: USB DISK 2.0   usb 1-2: SerialNumber: C900589889F91731   usb-storage 1-2:1.0: USB Mass Storage device detected   scsi host2: usb-storage 1-2:1.0 usbcore: registered new interface driver usb-storage   usbcore: registered new interface driver uas   scsi 2:0:0:0: Direct-Access      USB DISK 2.0      PMAP PQ: 0 ANSI: 6   Formatear la salida de dmesg Dmesg nos permite aplicar opciones de formateo para que visualmente sea más comprensible. La más utilizada es la salida para humanos, opción -H. dmesg -H Para imprimir los tiempos... dmesg -T ejemplo... usb 1-2: new high-speed USB device number 5 using ehci-pci usb 1-2: New USB device found, idVendor=13fe, idProduct=4200 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Las marcas de tiempo admiten varios formatos al hacer uso de "--time-format". Se admiten los siguientes: ctime reltime notime delta iso En el ejemplo aplicamos "iso". dmesg --time-format=iso salida en iso... 2020-02-10T08:05:39,936151+0200 usb 2-2: USB disconnect, device number 3 2020-02-10T08:06:06,948110+0200 usb 3-1: new low-speed USB device number 2 using uhci_hcd 2020-02-10T08:06:07,144136+0200 usb 3-1: New USB device found, idVendor=046d, idProduct=c077 Comando dmesg en tiempo real. dmesg -w Aplicando varias opciones a la vez. dmesg -H -T   Filtrar la salida de dmesg Se permite filtrar los mensajes por quien los genero, en este caso las opciones son las siguientes: user - mensajes a nivel de usuario kern - mensajes del kernel daemon - demonios del sistema auth - mensajes de seguridad y permisos mail - sistema de correos lpr - impresoras en línea news - novedades de la red syslog - avisos internos de syslogd Para lograr el objetivo utilizamos "-f", que ademas  nos permite especificar varios filtros (si es necesario). # mensajes de usuario dmesg -f user # mensajes de usuario, kernel y demonios dmesg -f user,kern,daemon Otra opción de filtrado es por importancia del aviso, vemos las opciones por orden de importancia. emerg - error critico del sistema alert - debes solucionar el error rápidamente o el sistema entrara en modo "emerg" crit - en entorno esta en condiciones críticas err - errores warn - advertencias notice - el sistema es normal pero pon atención a este punto info - nota informativa debug - avisos de depuración Para lograr el objetivo utilizamos "-l", que ademas  nos permite especificar varios filtros (si es necesario). # mensajes de emergencia dmesg -l emerg # mensajes de emergencia, de alerta y críticos dmesg -l emerg,alert,crit   Borrar los mensajes del buffer A diferencia de la lectura de mensajes, para borrar todos los mensajes debes ser root o usuario con privilegios. Antes de vaciar todos los avisos, existe la opción de imprimir en pantalla y borrar, así los borras y visualizas a la vez. sudo dmesg -c Si quieres borrar todo sin imprimir nada... sudo dmesg -C Como ultimo apunte del articulo, dmesg también permite guardar los avisos en un archivo antes de borrarlo por completo. dmesg > dmesg_messages Existen más opciones que puedes ver en su manual al ejecutar el siguiente comando. man dmesg   Canales de Telegram: Canal SoloLinux – Canal SoloWordpress Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.   Read the full article
0 notes