Y nuevamente les traigo la continuación de la serie de Blogs
en los que aprenderemos 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 1ª parte de los comandos referentes a Hardware.
$ dmesg
Algunas veces sobreestimamos la existencia de registros, para un administrador de sistemas esto es muy importante. Desde un registro podemos analizar que es lo que ha causado un error, Linux tiene dmesg o mostrador de mensajes. ¿Porqué necesitamos saber de dmesg? Comenzemos a explorarlo.
¿Qué es dmesg?
Este es un comando que nos muestra mensajes del kernel en tu pantalla. ¿Que tipo de mensajes imprime dmesg? Pues nos muestra su data leyendo el búfer circular del kernel o también conocido como búfer de anillo (Kernel Ring Buffer). Los datos pueden ser información acerca del disco duro, impresora, teclado, memoria y controladores. Ya que dmesg lee todos los mensajes del búfer de anillo del kernel, el cual es una data en tiempo real, los mensajes salientes pueden ser muy largos.
¿Cómo ejecutar dmesg?
Podemos escribir dmesg en nuestra terminal, he aquí una muestra de salida al escribir el comando sin ningún parámetro:
La salida de dmesg es divida en 3 partes.
1- Tiempo: este nos muestra el número de segundos desde la hora
de reinicio. Si encontramos 20.091730 significa que el mensaje
es creado 20 segundos después de reiniciar.
2- Nombre_de_dispositivo: este nos muestra el nombre del
dispositivo.
3- Mensajes: este es el mensaje actual, de aquí podemos analizar
que esta pasando.
¿Porqué necesitamos dmesg?
Acá un ejemplo real de mi ordenador, tube este error cuando abrí el navegador Chrome.
Y cuando revisé vía dmesg obtube este mensaje.
Ahora está claro, para mi la causa del error fue memoria, esto paso cuando intenté abrir más de 3 pestañas y una de ellas contenía solamente imágenes .gif, así que para la próxima tendré precaución en cuanto al número y tipo de páginas que abra.
Usando dmesg con el símbolo de operador de canalización, "pipe" ( | )
Al correr dmesg sin parámetro nos produce mensajes "mega largos", para hacer esto fácil de leer, lo combinamos con el símbolo de operador de canalización ( | ). He aquí algunos ejemplos:
Imprimir dmesg con resultados por página.
Imprimir información relacionada a eth.
Solicitar información relacionada a usb.
Notemos que el comando grep es en letras minúsculas, Usb es diferente a usb, para ignorar esta característica usamos el parámetro -i después del comando grep. Comparemos el resultado de este comando en el caso de USB mencionado acá arriba.
Parámetros dmesg
Podemos correr dmesg usando sus parámetros, veamos:
Imprimiendo con hora legible.
Por defecto la manera en que dmesg muestra el tiempo no es legible para el humano, para hacerlo leíble al ojo humano podemos usar el parámetro - -ctime
Por favor nota que el parámetro -ctime podría no ser preciso al hacer una suspensión o reanudación.
No mostrar registros de tiempo.
Si no queremos ver detalles de fecha y hora podemos usar el parámetro -t.
Mostrar una lista simple.
Dmesg puede también únicamente imprimir mensajes de una categoría en particular o con simpleza; para llevar a cabo este propósito usamos el parámetro --facility.
Esta opción nos mostrará mensajes del demonio del sistema únicamente.
Usando dmesg con el símbolo de operador de canalización, "pipe" ( | )
Al correr dmesg sin parámetro nos produce mensajes "mega largos", para hacer esto fácil de leer, lo combinamos con el símbolo de operador de canalización ( | ). He aquí algunos ejemplos:
Imprimir dmesg con resultados por página.
Imprimir información relacionada a eth.
Solicitar información relacionada a usb.
Notemos que el comando grep es en letras minúsculas, Usb es diferente a usb, para ignorar esta característica usamos el parámetro -i después del comando grep. Comparemos el resultado de este comando en el caso de USB mencionado acá arriba.
Parámetros dmesg
Podemos correr dmesg usando sus parámetros, veamos:
Imprimiendo con hora legible.
Por defecto la manera en que dmesg muestra el tiempo no es legible para el humano, para hacerlo leíble al ojo humano podemos usar el parámetro - -ctime
Por favor nota que el parámetro -ctime podría no ser preciso al hacer una suspensión o reanudación.
No mostrar registros de tiempo.
Si no queremos ver detalles de fecha y hora podemos usar el parámetro -t.
Mostrar una lista simple.
Dmesg puede también únicamente imprimir mensajes de una categoría en particular o con simpleza; para llevar a cabo este propósito usamos el parámetro --facility.
Esta opción nos mostrará mensajes del demonio del sistema únicamente.
Los registros simples soportados son:
Imprimir nivel de registro.
Dmesg puede también mostrarnos registros basados en niveles, para imprimir un resultado como este usamos el parámetro - -level
Esta opción nos imprime mensaje de errores únicamente.
Los niveles soportados son:
Descodificar simpleza y número de nivel (prioridad)
Podemos poner la información simple y número de nivel sin usar los parámetros --facility o --level . Usamos el parámetro -x para decodificar simpleza y número de nivel en prefijos leíbles para los humanos.
Borrar las salidas dmesg.
Si necesitamos borrar el mensaje del búfer circular usaremos el parámetro -c.
Este mensaje producirá el mensaje dmesg y luego lo borrará. Debes tener privilegios de súper usuario para realizar esta acción. De lo contrario tendrás un error como este:
Imprimir nivel de registro.
Dmesg puede también mostrarnos registros basados en niveles, para imprimir un resultado como este usamos el parámetro - -level
Esta opción nos imprime mensaje de errores únicamente.
Los niveles soportados son:
Descodificar simpleza y número de nivel (prioridad)
Podemos poner la información simple y número de nivel sin usar los parámetros --facility o --level . Usamos el parámetro -x para decodificar simpleza y número de nivel en prefijos leíbles para los humanos.
Borrar las salidas dmesg.
Si necesitamos borrar el mensaje del búfer circular usaremos el parámetro -c.
Este mensaje producirá el mensaje dmesg y luego lo borrará. Debes tener privilegios de súper usuario para realizar esta acción. De lo contrario tendrás un error como este:
Si usamos el parámetro -C, entonces los registros serán
borrados inmediatamente, y de igual manera necesitamos ser súper usuario para
llevar acabo esta acción.
¿Es en verdad borrado?
Si accidentalmente borramos los registros usando los parámetros -c o -C,
en realidad no los hemos eliminado, podemos accesar a ver el archivo de
registros en /var/log/kern.log o /var/log/dmesg.
Conclusión.
Dmesg puede ser usado, para diagnosticar problemas relacionados al
sistema, dmesg registra todos los mensajes cada vez que el ordenador es
reiniciado; dmseg también graba todos los cambios del sistema en tiempo
real. Este es uno de los comandos Linux que debemos saber como
administradores de sistema.
Esto ha sido todo en cuanto al uso del comando dmesg. Para mas información referirse a man, help o info en la consola.
Esto ha sido todo en cuanto al uso del comando dmesg. Para mas información referirse a man, help o info en la consola.
$ cat /proc/cpuinfo
La información del cpu incluye detalles del procesador tales como, la arquitectura, nombre del fabricante, modelo, número de núcleos y velocidad de cada uno de estos, etc. Este comando es uno de los pocos en Linux para obtener detalles del cpu, veamos como se utiliza.
El archivo /proc/cpuinfo contiene detalles de los núcleos en el cpu por separado. Podemos imprimir dicho resultado con less o cat.
Cada procesador o núcleo es listado por separado; detalles de la velocidad, tamaño de caché y nombre del modelo son incluidos en la descripción.
Si queremos contar el número de procesadores usamos grep con wc -l
El número de procesadores mostrados por /proc/cpuinfo podría no ser en realidad el número de núcleos en el procesador, por ejemplo, un procesador de 2 núcleos y "hyperthreading" seria visto como un procesador de 4 núcleos.
Aquí nos muestra que tenemos 2 diferentes núcleos identificados, y esto nos indica que en realidad tenemos 2 núcleos.
Esto ha sido todo en cuanto al uso del comando /proc/cpuinfo. Para mas información referirse a man, help o info en la consola.
Esto ha sido todo en cuanto al uso del comando /proc/cpuinfo. Para mas información referirse a man, help o info en la consola.
$ cat /proc/meminfo
Conociendo acerca de este comando.
/proc/meminfo es uno de los archivos más usado comúnmente en el /proc/ ya que este reporta un gran volumen de información valiosa acerca de la memoria en los sistemas Unix-like. He aquí una breve descripción de lo que cada valor significa.
- MemTotal: El total de la RAM utilizable en KB.
- MemFree: El volumen de RAM física sin ser utilizada por el sistema.
- Buffers: El volumen de RAM física usada por los archivos búfer.
- Cached: El volumen de RAM física usada como memoria caché. Memoria
en el "pagecache" (caché en disco) menos caché de intercambio.
- SwapCached: Este es el volumen de la memoria de intercambio (swap)
usado como memoria de caché. Memoria que una vez sale
para intercambio, es regresada a la vez, pero aun esta en el
archivo de memoria de intercambio.
- Active: El volumen total de búfer o página de memoria de caché, que esta
activa. Esta parte de la memoria es del uso reciente y usualmente
no es reclamada al menos que sea absolutamente necesario.
- Inactive: El volumen total de búfer o página de memoria de caché que esta
libre y disponible. Esta es la memoria que no ha sido
recientemente utilizada y puede ser reclamada para otros
propósitos por el algoritmo de paginación.
- HighTotal: Es el volumen de memoria en la región alta, este volumen total
puede variar dependiendo del tipo de kernel utilizado, el kernel
usa trucos indirectos para accesar a la región alta de la
memoria. Los datos del caché pueden dirigirse a esta región.
- LowTotal: El monto total de memoria que no pertenece a la parte alta.
- LowFree: El volumen de memoria libre en la región baja. Esta es la
memoria donde el kernel puede ir directamente, todas las
estructuras de datos del kernel necesitan ir a la región baja
de la memoria.
- SwapTotal: Volumen total de memoria de intercambio física.
- SwapFree: Volumen libre total de la memoria virtual.
- Dirty: El monto total de memoria esperando a ser escrito de regreso al
disco.
- Writeback: El volumen total de memoria activo siendo escrito de nuevo en
el disco.
- Committed_AS: Un estimado de cuanta RAM necesitariamos para
garantizar en un 99.99% que no nos quedaremos sin
memoria (OOM) a la hora de estar trabajando;
normalmente el kernel forza la memoria, este parámetro
se presenta en el peor de los casos y también es incluida
la memoria de intercambio.
Ejemplo de salida al ejecutar cat /proc/meminfo:
Otro comando similar que vale la pena mencionar pero del cual no daré detalles es vmstat el cual proveé mucha buena información acerca de la memoria del sistema, con la opción -s vmstat imprime una tabla de varios eventos y estadísticas de la memoria.
Esto ha sido todo en cuanto al uso del comando /proc/meminfo. Para mas información referirse a man, help o info en la consola.
Saludos especiales a tod@s espero este aporte pueda ser de su ayuda. Si les fue útil compartan y comenten.
Saludos especiales a tod@s espero este aporte pueda ser de su ayuda. Si les fue útil compartan y comenten.


















No comments:
Post a Comment