Introducción a /proc

/proc es un punto de montaje muy especial en sistemas GNU/Linux. Es lo que se puede conocer como un sistema de archivos virtual, ya que su contenido no existe físicamente en el disco, pero sí existe una vez arrancado el sistema. Dentro de este directorio, una vez montado, podemos encontrar gran cantidad de información, desde detalles de hardware a información muy detallada del estado de cualquier proceso. También es este directorio hay determinados ficheros que pueden ser manipulados directamente, para enviar cambios en el comportamiento del kernel.
Para comenzar a dar información sobre esta partición, primero vamos a ver cómo acceder a ella. En el fichero /etc/fstab existe la siguiente línea,
proc   /proc proc defaults 0 0
Que una vez montada, devuelve el siguiente punto de montaje
shell> mount
/proc on /proc type proc (rw)
Una peculiaridad de todos los ficheros que están bajo /proc es que su tamaño es cero, es decir, no ocupan en disco, puesto que es un sistema de ficheros virtual y toda la información está en memoria ram. También la fecha de modificación de los mismos será la fecha actual del sistema, algo que deja muy claro el carácter dinámico de dichos ficheros.
Como todos los ficheros de GNU/Linux, intentan ser ficheros de texto plano, por lo que su contenido se puede consultar con cat, more, less, etc. Vamos a ver a continuación algunos ficheros interesantes que están bajo esta partición.
  • /proc/cmdline
    Contiene todos los parámetros que se le han pasado al kernel como opción durante el arranque.
  • /proc/cpuinfo
    Contiene información sobre el procesador del sistema.
  • /proc/filesystems
    Muestra los diferentes tipos de sistemas de ficheros soportados por el kernel.
    Si en la primera columna aparece nodev esto quiere decir que no requiere un dispositivo físico para que sea montado, es decir, es un sistema de ficheros virtual.
  • /proc/kallsyms
    Se trata del reemplazo para el fichero ksyms del kernel 2.4.
    Contiene un listado de todos los símbolos presentes en el kernel, que a diferencia de ksyms sólo tenía los símbolos exportados.
  • /proc/kcore
    Este fichero representa el contenido de la memoria física del sistema en formato core, el cual puede ser analizado con gdb.
  • /proc/modules
    Muestra un listado con todos los módulos cargados por el kernel.
  • /proc/mounts
    Proporciona un listado con todos los dispositivos montados en el sistema de forma similar a la salida obtenida con el comando mount.
  • /proc/partitions
    Muestra información sobre las particiones y dispositivos físicos que las componen.
    El valor "major version" indica el número asociado al dispositivo que contiene dicha partición, el mismo que tiene asignado en el fichero /proc/devices.
    El valor "minor version" se corresponde con el número correspondiente a la partición dentro del dispositivo. Por último aparece el nombre asignado a la partición.
  • /proc/meminfo
    Proporciona información interesante sobre el uso actual de memoria RAM del sistema. Alguna de la información almacenada es consultada por los comandos top, y free.
  • /proc/apm
    Este archivo proporciona información acerca del estado de la Administración de la energía avanzada (Advanced Power Management, APM), y es usado por el comando apm.
  • /proc/buddyinfo
    Este archivo se utiliza principalmente para diagnosticar problemas de fragmentación de memoria.
  • /proc/crypto
    Este archivo lista todos los códigos de cifrado utilizados por el kernel de Linux, incluyendo detalles adicionales para cada uno.
  • /proc/fb
    Este archivo contiene una lista de dispositivos frame buffer, con el número del dispositivo frame buffer y su controlador.
  • /proc/interrupts
    Este archivo graba el número de interrupciones por IRQ en la arquitectura x86.
  • /proc/iomem
    Este archivo muestra el mapa actual de la memoria del sistema para los diversos dispositivos.
  • /proc/ioports
    Este fichero proporciona una lista de las regiones de puertos registrados actualmente utilizados para la comunicación de entrada y salida con un dispositivo.
  • /proc/kmsg
    Este archivo se utiliza para mantener mensajes generados por el kernel. Luego, estos mensajes son recogidos por otros programas, como por ejemplo klogd o dmesg.
  • /proc/loadavg
    Este archivo ofrece una vista de la carga promedio del procesador con respecto al sobretiempo de CPU y de E/S. Estos datos son consultados por el comando uptime.
  • /proc/pci
    El archivo contiene una lista completa de cada dispositivo PCI en su sistema.
  • /proc/stat
    Este archivo mantiene un registro de las diferentes estadísticas sobre el sistema desde que fue reiniciado por última vez. Es contenido de este fichero puede llegar a ser muy amplio, ya que contiene estadísticas del sistema desde su último reinicio.
  • /proc/swaps
    Este archivo mide el espacio swap y su uso.
  • /proc/version
    Este archivo muestra las versión del kernel de Linux y gcc en uso.
  • /proc/sys/net/ipv4/ip_forward
    Este archivo almacena el modo de funcionamiento del kernel en lo referente a reenvío de paquetes.
    Con valor 0, no hay reenvío de paquetes.
    Con valor 1, se hace reenvío de paquetes en red.
    Este fichero es el típico que se altera para poner un sistema GNU/Linux como router.
  • /proc/sys/kernel/hostname
    Contiene el nombre del sistema.


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios