El Software y el conocimiento debe ser Libre
Posts tagged Linux
Listado de los comandos mas utilizados
Aug 2nd
Resulta curioso poder observar cuales son los comandos que mas utilizamos, para ello tecleamos:
$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
Resultado de la ejecución del comando:
$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
204 ssh
110 sudo
101 exit
95 ls
89 ping
85 cd
44 qemu-img
22 qemu
20 virt-viewer
17 man
Estadísticas de las interfaces de red con netstat
Aug 2nd
Con el comando ‘netstat -i‘ podemos ver las estadísticas de los interfaces de red y comprobar los errores.
Tienes seis columnas que nos interesan :
- rx-ok : recibidos sin problemas.
- rx-err : con errores en la recepción.
- rx-drp : paquetes descartados en la recepción.
- tx-ok : transmitidos sin problemas.
- tx-err : con errores en la transmisión.
- tx-drp : paquetes descartados en la transmisión.
javico@VICOSOFT:~/Dropbox/backups$ netstat -i Tabla de la interfaz del núcleo Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1078012 0 0 0 703539 0 0 0 BMRU lo 16436 0 40 0 0 0 40 0 0 0 LRU virbr0 1500 0 0 0 0 0 1012 0 0 0 BMRU
Al usar la opción -i, –interfaces se mostrará una tabla de todos los interfaces (o del iface especificado).
Puede que aparezca información extraña de forma ocasional si un conector cambia mientras está siendo examinado. Es bastante improbable que ocurra.
El Buffer Cache
Jun 2nd
La lectura desde el disco (excepto un disco RAM, por obvias razones) es mas lenta en comparación con el acceso a memoria (real). Además, es común leer la misma parte del disco varias veces durante periodos relativamente cortos de tiempo. Por ejemplo, uno podría leer primero un mensaje del correo electrónico, después leer la misma carta con un editor de texto cuando uno la esta respondiendo, y finalmente hacer que el programa la lea de nuevo cuando le indicamos copiarla a una carpeta. O, considere cuan seguido el comando ls es ejecutado en un sistema con muchos usuarios. Leyendo la información del disco una sola vez y luego manteniéndola en la memoria hasta que no sea necesaria, puede acelerar todas las lecturas posteriores con respecto a la primera. Esto es llamado “buffering” de disco (disk buffering), y la memoria usada para ese propósito es llamada buffer cache.
Debido a que la memoria es, desafortunadamente finita, y por lo tanto, un recurso escaso, el “buffer cache” usualmente no puede ser demasiado grande (no puede mantener todos los datos que uno siempre quiere usar). Cuando la “cache” se completa, los datos que no han sido usados por un periodo de tiempo prolongado son descartados y así la memoria es liberada para ser utilizada con nuevos datos.
El buffering de disco trabaja cuando existen escrituras también. Por un lado, los datos que son escritos son leídos nuevamente con mucha frecuencia (por ej. el código fuente de un programa es guardado a un archivo, y después es leído por el compilador), entonces, colocar los datos que son escritos en la caché es una buena idea. Por otro lado, colocar los datos en la caché, sin escribirlos a disco inmediatamente, acelera al programa que los guarda. Las escrituras pueden ser realizadas en segundo plano, sin disminuir la velocidad de ejecución de los otros programas.
La mayoría de los sistemas operativos tienen “buffer caché” (aunque algunas veces son llamados de manera diferente), pero no todos funcionan de acuerdo a los mismos principios. Algunos son de escritura directa (write-through): los datos son escritos a disco inmediatamente (y obviamente, son mantenidos en la caché). Otros son de escritura posterior (write-back), ya que las escrituras son realizadas momentos después. Escritura posterior es más eficiente que escritura directa, pero es más susceptible a errores: si la máquina cae, el suministro eléctrico es interrumpido en un mal momento, o un medio extraíble es removido sin ser desmontado, entonces usualmente los cambios realizados en la caché se pierden. Esta situación puede significar que el sistema de archivos (si existiese uno) no trabaje completamente bien, tal vez debido a que los datos que no pudieron ser escritos sean cambios importantes para el mantenimiento del sistema.
Debido a esto, nunca debería apagar el equipo sin emplear los procedimientos adecuados, como tampoco quitar un disco flexible de la unidad hasta que haya sido desmontado (si fue montado), o antes de que cualquier programa que esta haciendo uso del dispositivo no indique que ha terminado y, el “led” de la unidad de disquete ya no esta encendida. El comando sync descarga el buffer (flushes), por ejemplo, fuerza que los datos aun no grabados sean escritos al disco, y puede ser usado cuando uno quiere asegurarse que todas las escrituras se hayan realizado.En los sistemas UNIX tradicionales, hay un programa llamado update que esta ejecutándose en segundo plano, el cual se encarga de ejecutar el comando sync cada 30 segundos, por esto usualmente no es necesario usar sync. Linux tiene un demonio adicional, bdflush, el cual efectúa un sync mas imperfecto, pero con mas frecuentemente para evitar el repentino congelamiento debido a la sobrecarga de I/O que algunas veces “sync” produce.
Bajo Linux, bdflush is iniciado por update. No existen usualmente razones para preocuparse por bdflush, pero si bdflush termina su ejecución por alguna causa, el kernel alertará sobre esto, por lo que debe iniciarlo a mano (/sbin/update).
La caché no realiza realmente buffer de archivos, pero sí de bloques, los cuales son las unidades mas pequeñas de E/S a disco (en Linux usualmente son de 1 kB). De esta manera, también los directorios, super bloques, otros datos relacionados con en el sistema de archivos, y discos sin sistema de archivos son mantenidos en caché.
La eficacia de una caché es decidida principalmente por su tamaño. Una caché pequeña es casi inservible: tiene muy pocos datos, por lo que todos los datos en la caché serán descartados antes de que sean reutilizados. El tamaño crítico depende de la cantidad de datos escritos y leídos, y de cuan frecuente los mismos datos son accedidos. La única manera de saber el tamaño útil de una caché es experimentando.
Si la “cache” es de tamaño fijo no es muy bueno que sea demasiado grande porque eso podría hacer que la memoria libre sea demasiado pequeña y ocasionar “swapping” (lo cual es también muy lento). Para hacer que el uso de la memoria real sea mas eficiente, Linux usa automáticamente toda la memoria RAM como “buffer cache”, pero también, automáticamente, disminuye el tamaño de la “cache” a medida que los programas van necesitando mas memoria.
Bajo Linux, usted no necesita configurar nada para hacer utilizar “cache”, esto sucede de forma completamente automática. A excepción de los adecuados procedimientos a seguir para “cerrar?apagar?desconectar?bajar?deshabilitar” o quitar ¿diskettes? usted no tiene necesidad de preocuparse por nada.
