Tuesday 2 June 2015

Consejos y trucos, artículos básicos sobre configuraciones que ayudan a un mejor desempeño de nuestros SO's. Cada proceso ha sido personalmente comprobado.





Y continuamos con  la serie de Blogs en los que estamos aprendiendo acerca de los maravillosos y geniales comandos Linux.

El cajón de los comandos Linux es una guía de referencia rápida para todos los usuarios Linux que desean aprender los comandos de este gran SO. Los comandos se dividen en 15 categorías, lo cual nos permite tener un mayor entendimiento acerca de que comando utilizar en una específica situación. El agradecimiento total al creador de esta guía +Bobbin Zachariah.

Esta guía puede ser utilizada ya sea para usuarios nuevos o avanzados, proveyendo el mejor esfuerzo para dar a conocer los comandos Linux más relevantes. 

Así que empecemos con la 3ª parte de los comandos referentes a Hardware.


$ free  

Para mostrar la memoria libre y en uso del sistema.
Un administrador de sistemas debe mantener en orden sus servidores, uno de los componentes críticos es la memoria, cuando esta siendo 100% utilizada en el servidor o en un ordenador de casa este puede generar problemas de desempeño lento. Para monitorear la utilización de la memoria Linux tiene un comando llamado free.

¿Qué es el comando free?
Este comando es una herramienta que nos muestra el volumen de memoria libre y en uso en el sistema, el resultado al ejecutar el comando free es similar al comando "top". La mayoria de distros Linux tienen el comando free preinstalado.

¿Cómo ejecutarlo?
Para correrlo, simplemente escribimos free en nuestra terminal, ejecutándolo sin  opción nos imprimirá resultados por defecto, los cuales son mostrados en unidades kilobytes.



De la imagen aquí arriba tenemos:

Memoria (en kilobytes)

- Total: 3440144
- Usada: 2661784
- Libre: 778360
- Compartida: 4048
- Búfers: 124788
- Caché: 1245384

Swap (en unidades kilobyte)
  
- Total: 0
- Usada: 0
- Libre: 0

Cuando vemos que la memoria libre del búfer/caché es poca o vemos que la memoria swap es poca, es porque definitivamente necesitamos asignar más memoria al sistema; esto significa que la utilización de memoria es alta.  Notemos que la columna de memoria compartida debe ser ignorada, pues es obsoleta.  

Imprimir información de la memoria en otro tipo de unidades.

Como  les mencionaba antes, "free" nos mostrará información en unidades kilobyte. Free también nos provee -b (bytes), -k (kilobytes), -m (megabytes), -g (gigabytes) y --tera (terabytes).

Para mostrar la información en la unidad que deseamos, simplemente escribimos el parámetro después del comando free. Aquí les pongo un ejemplo en megabytes:



 Obtener información de la memoria leíble al ojo humano.

El comando "free" también nos provee la opción -h, que asumo que es por "human".¿Entonces cuál es la diferencia con los parámetros tales como -m (megabytes)? La diferencia más notable es que la opción -h agregará una unidad leíble después de los números. Veamos un ejemplo:



Como podemos ver junto al número 3.3 tenemos una G (gigabyte) cuando el número no alcanza  el gigabyte, "free" inteligentemente lo sabe, y pone la unidad apropiada al lado derecho del número. La letra M después del número nos dice por ejemplo que el número 813 son 813 megabytes.

Mostrar "free" con retraso.  

Como una herramienta de estadística, la mejor manera de capturar la utilización de la memoria es usando un retraso. Para hacerlo tenemos la opción -s seguida por el número de segundos que queremos; podemos siempre combinar más de una opción para hacer que el resultado llene nuestra necesidad. Digamos que queremos capturar el uso de memoria cada tres segundos y humanamente leíble, entonces sería asi:


Imprimir consumo bajo y alto de memoria. 

Si queremos mirar el consumo alto y bajo de memoria, podemos utilizar la opción -l. He aquí un ejemplo:



Obtener total de memoria Linux.

Cuando necesitamos la información del total de cada columna, podemos agregar la opción -t después del comando "free"; agregará una fila más en la parte de abajo la cual mostrará el total de cada columna.



Conclusión.

Aparte de vmstat el comando "free" es simplemente otra herramienta de estadística que captura utilización de memoria. Con esto podemos obtener información rápidamente acerca de lo que está pasando en nuestra memoria Linux; el comando "free" usa como base /proc/meminfo para mostrar información de uso de memoria.

Esto es todo en cuanto al comando free. Para más información referirse a info, man o help en la consola.

$ lspci 

La interconexión de componentes periféricos es un bus en la computadora usado para atar componentes de hardware a la tarjeta madre. El comando lspci es usado en los sistemas operativos Unix-like para mostrar toda la información acerca de esos buses PCI en el sistema y dispositivos atados a este.
Al utilizar lspci podemos obtener información completa y detallada de todos los buses, dispositivos, puentes y de como los dispositivos PCI estan conectados al bus PCI.
El comando lspci será útil para diagnosticar los problemas relacionados a los dispositivos PCI.



En el ejemplo de arriba vemos la información acerca de los dispositivos PCI en el sistema.

Veamos a continuación un resultado de todas las conexiones de dispositivos y buses, en un diagrama de árbol. Para esto utilizamos el parámetro -t.


Veamos ahora un tercer ejemplo en donde nos imprime información de los dispositivos PCI. Utilizaremos para este ejemplo la opción -v; si queremos aun más detalles podemos usar el parámetro -vv que nos da aun más información acerca de los dispositivos PCI.
El sistema de archivos /proc/pci también tiene detalles de los dispositivos PCI.
 

Esto es todo en cuanto al comando lspci. Para más información referirse a info, man o help en la consola.

$lsusb

USB o Bus Universal en Serie (Universal Serial Bus), fue diseñado para estandarizar la conexión de periféricos en un ordenador, tales como: teclados, ratones, impresoras, cámaras digitales, reproductores portátiles, discos externos o adaptadores de red.
Hoy en día esta industria se ha vuelto una necesidad, ya que es casi imposible ver una PC sin puertos USB en ella; además el uso de dispositivos extraibles es cada vez mas necesario. En Linux tenemos el comando lsusb para listar dispositivos USB y sus propiedades.

¿Qué es lsusb? 
De su página man, lsusb es definido como: una utilidad para obtener información acerca de los buses USB en el sistema y los dispositivos conectados a estos.

¿Cómo ejecutar este comando?
Para correr lsusb abrimos nuestra maravillosa consola y escribimos lsusb.



Lsusb nos mostrará los controladores y dispositivos que internamente se encuentran atados al sistema.
 
¿Cómo lo leemos?

Tomando de muestra la última linea de la imagen aquí arriba, se leería así:
Bus 003 Device 002: ID 0458:003a KYE Systems Corp. (Mouse Systems) NetScroll+ Mini Traveler / Genius NetScroll 120

Bus 003: significa donde el dispositivo esta conectado.
Device 002: significa que este es el segundo dispositivo atado.
ID: este es el número de identificación del dispositivo.
KYE Systems Corp. (Mouse Systems)Genius NetScroll 120: significa el nombre del fabricante y nombre de dispositivo.

También vemos que tenemos "root hub" USB 2.0, 1.1 y 3.0 atados a nuestro sistema.

Esto también puede ser mostrado por el comando dmesg que vimos ya con anterioridad en esta serie. Aquí un ejemplo:


¿Cómo listar detalles de los dispositivos USB?
Para esto utilizamos el parámetro -v, echemos un vistazo:


¿Cómo saber cuantos dispositivos USB están conectados?
Para encontrar esta información usamos el comando find/dev/bus, veamos:



También podemos combinar lsusb con el parámetro -D para imprimir los detalles de un dispositivo específico. Usaré como ejemplo el ratón conectado a mi portátil:



Volcado de los dispositivos USB físicos en jerarquía de árbol.
Para esto utilizaremos el parámetro -t, y nos dará este resultado:



El número 12M y 480M son indicadores de la velocidad de transferencia para cada tipo de USB.

- 12M significa 12Mbit/s el cual pertenece a un USB tipo 1.0/1.1
- 480M significa 480Mbit/s el cual pertenece a un USB tipo 2.0.

En mi caso también, como pueden ver en la imagen aquí arriba, el comando me muestra 5000M el cual se refiere a un USB tipo 3.0 el cual tiene 5000Mbit/s en velocidad de transferencia. Linux reconoce los detalles de los dispositivos USB desde /var/lib/usbutils/usb.ids o podemos visitar ESTA PÁGINA para obtener el mas reciente listado de códigos de identificación USB.
Esto es todo en cuando al comando lsusb, este también lo podemos utilizar para hacer diagnósticos de utilidades de dispositivos dentro del sistema.

Esto es todo en cuanto al comando lsusb. Para más información referirse a info, man o help en la consola.