El sistema de archivos /proc

/proc es un sistema de archivos especial en Linux que contiene una gran cantidad de información sobre el hardware del sistema. En algunos casos, controla dispositivos de hardware de bajo nivel.

El sistema de archivos /proc es un pseudo sistema de archivos y no un sistema de archivos real. Excepto unos pocos, casi todos los archivos aquí son de solo lectura.

Tenga cuidado, el directorio /proc contiene muchos archivos que requieren una comprensión profunda antes de que pueda manipularlos. No intente alterar los archivos aquí a menos que sepa lo que está haciendo, o terminará con un sistema inoperable. En el peor de los casos, podría perder la instalación de su sistema Linux.

¿Qué cubriremos?

En esta guía, veremos una descripción general del sistema de archivos /proc . Veremos algunos subdirectorios y archivos seleccionados en esta carpeta. Empecemos.

Uso del sistema de archivos /proc

Básicamente, el sistema de archivos /proc se usa para controlar el hardware del sistema. También da la información del hardware del sistema, como lspci , lsusb , lsmod , etc. De hecho, funciona con más hardware. Este directorio es una inmensa fuente de conocimiento sobre nuestras computadoras.

Casos de uso para diferentes archivos y subdirectorios de proceso

Como se acaba de describir, proc contiene grandes cantidades de información del sistema.

Veamos varios ejemplos de archivos /proc y sus subdirectorios en acción. Podemos usar los comandos cat, more o less para ver el contenido de varios archivos:

1. /proc/scsi

La subcarpeta /proc/scsi guarda datos sobre dispositivos SCSI y tiene varias subcarpetas y archivos. El archivo principal de interés aquí es /proc/scsi/scsi. Este archivo muestra todos los dispositivos SCSI estándar:

$ gato / proc / scsi / scsi

2. /proc/cpuinfo

El archivo /proc/cpuinfo brinda los detalles de la CPU, como el nombre del modelo, la identificación del proveedor, los núcleos de la CPU, etc.:

$ cat / proc / cpuinfo

3. /proc/versión

El archivo /proc/version muestra la versión del kernel de Linux y otra información específica de la distribución:

$ cat / proc / versión

Otra herramienta similar al archivo /proc/version en muchos aspectos es uname. Sin embargo, el archivo /proc/version no muestra algunos de los detalles de hardware sofisticados proporcionados por uname .

4. /proc/sys

El subdirectorio /proc/sys es otro directorio importante. Además de proporcionar la información del sistema, los administradores pueden utilizarla para actuar directamente sobre las funciones a nivel de kernel. Por lo tanto, los archivos dentro de este directorio deben usarse con precaución para evitar la inestabilidad del kernel.

4.1. /proc/sys/núcleo

/proc/sys/kernel es una de las subcarpetas importantes. Los archivos contenidos aquí afectan directamente las operaciones del núcleo. Veamos algunos archivos aquí:

domianname : Utilizado para la configuración del nombre de dominio del sistema

modprobe : se usa para establecer la ubicación del programa que maneja la carga de los módulos del kernel

osrelease : muestra el número de versión del kernel

$ cat / proc / sys / kernel / osrelease

ostype : muestra el tipo de sistema operativo para su sistema

$ cat / proc / sys / kernel / ostype

4.2. /proc/sys/red/

El /proc/sys/net/ está relacionado con aspectos de red. Por ejemplo, contiene directorios, como ethernet/ , ipv4/ , ipv6/ , etc. Los archivos dentro de estos directorios administran la configuración de red de un sistema.

El directorio /proc/sys/net/ipv4 tiene muchos archivos importantes para administrar la configuración de la red. Varias de estas configuraciones funcionan juntas para bloquear ataques en un sistema y hacer que el sistema actúe como un enrutador.

Estos archivos deben manejarse con sumo cuidado. De lo contrario, la conectividad remota del sistema puede verse afectada.

4.3 /proc/sys/vm

/proc/sys/vm ayuda a configurar los subsistemas de memoria virtual (VM) de Linux. Contiene varios archivos como pagecache, page-cluster, overcomit_memory, etc.

5. /proc/líneacmd

El archivo /proc/cmdline muestra los parámetros pasados ​​al núcleo cuando se inicializa.

$ cat / proc / líneacmd

Por ejemplo, mire esta línea de este archivo:

ro raíz = / dev / hda2

El argumento «ro» muestra que el kernel está montado en modo de solo lectura.

6. /proc/dispositivos

El archivo /proc/devices enumera diferentes caracteres y bloquea dispositivos. Estos dispositivos son aquellos que están configurados para ser utilizados con el kernel. Excluye aquellos dispositivos cuyos módulos no están cargados en el kernel.

$ cat / proc / dispositivos

7. /proc/sistema de archivos

El /proc/filesystems enumera todos los sistemas de archivos compatibles con kernel. La primera entrada indica si el sistema de archivos está montado o desmontado. El otro muestra el nombre del sistema de archivos compatible.

$ cat / proc / sistemas de archivos

8. /proc/meminfo

El archivo /proc/meminfo informa sobre el uso de RAM en el estado actual. Varios comandos como top , ps y free utilizan este archivo para su salida.

$ gato / proc / meminfo

9. /proc/módulos

El archivo /proc/modules muestra todos los módulos cargados en el kernel. La primera columna es para el nombre del módulo y la segunda representa el tamaño de la memoria del módulo. La tercera columna comprueba si el módulo está cargado o no. Luego, finalmente, la última columna verificará si el módulo puede descargarse automáticamente.

10. /proc/stat

El archivo /proc/stat guarda registros de diferentes estadísticas del sistema desde la última vez que lo reiniciamos. Las entradas de este archivo pueden ser muy largas, algo como esto:

$ cat   / proc / stat

cpu  100007 739 321605 2239006 1504 0 8007 0 0 0

cpu0 213 0 287664 52897 3 0 0 0 0 0

cpu1 16327 228 4936 228482 208 0 7447 0 0 0

cpu2 13590 89 4493 327198 141 0 42 0 0 0

cpu3 13378 25 4398 327162 440 0 65 0 0 0

cpu4 17739 39 4340 323080 169 0 6 0 0 0

Hay varias estadísticas importantes, tales como:

10.1. UPC

Calcula el número de jiffies durante los cuales el sistema está en modo de usuario, modo de usuario con baja prioridad, modo de sistema, etc. Se mide el valor bruto de todas las CPU y luego se enumera por CPU.

10.2. página

Es el número de páginas de memoria escritas dentro y fuera del disco por el sistema.

10.3. intercambio

Es el número de páginas de intercambio que el sistema trae y saca del disco.

Conclusión

En este artículo, hemos brindado una vista de alto nivel del sistema de archivos /proc en Linux. Como ya ha visto en este artículo, el sistema de archivos /proc contiene una gran colección de información del sistema; como tal, es imposible cubrirlo completamente en este blog. Sin embargo, también puede consultar las páginas de manual para obtener información sobre otras utilidades de /proc .