GNU/Linux >> Tutoriales Linux >  >> Linux

Explorando el sistema de archivos /proc de Linux

El /proc El sistema de archivos parece existir siempre porque se crea en el momento del arranque y se elimina al apagarlo, pero en realidad es un sistema de archivos virtual que contiene mucha información relevante sobre su sistema y sus procesos en ejecución. En este artículo, profundizaré en su contenido y en el valor que usted, como administrador de sistemas, puede obtener de él.

Nota:Estoy accediendo a archivos y directorios bajo /proc como usuario estándar y no como root a menos que se indique lo contrario.

Si observa los archivos en /proc , verá muchos de ellos (más de 150), según la cantidad de procesos que tenga en ejecución.

$ ls /proc
1     174    26    2902   4109   531          fb
10    175    2601  2904   41275  546          filesystems
1004  176    2602  2907   41292  547          fs
<snip>
166   2589   2889  4000   47452  dma          vmstat
167   2594   2898  4005   475    driver       zoneinfo
168   2595   29    40986  522    execdomains

Los archivos numerados son directorios que corresponden a números de proceso o ID de proceso (PID). Por ejemplo, en la primera columna hay procesos con los números 1, 10, 1055, 1057, 1059, etc. Dentro de esos directorios numerados por procesos, hay más archivos que tienen que ver con los propios procesos. A continuación se muestra una lista de los /proc/411 directorio.

$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status      fdinfo      numa_maps      smaps_rollup
attr             gid_map     oom_adj        stack
autogroup        io          oom_score      stat
auxv             latency     oom_score_adj  statm
cgroup           limits      pagemap        status
clear_refs       loginuid    patch_state    syscall
cmdline          map_files   personality    task
comm             maps        projid_map     timers
coredump_filter  mem         root           timerslack_ns
cpuset           mountinfo   sched          uid_map
cwd              mounts      schedstat      wchan
environ          mountstats  sessionid
exe              net         setgroups
fd               ns          smaps

Hay algunos archivos en cada directorio que los usuarios normales no pueden leer. Para enumerar o abrir esos archivos, debe ser root.

[ Si desea ver un uso práctico de la información de /proc, consulte:Cómo borrar la memoria de intercambio en Linux ]

Notarás que una lista larga (ls -l /proc ) revela que los archivos de texto normales tienen un tamaño de 0. Normalmente, un archivo de tamaño cero significa que no tiene contenido. Sin embargo, estos /proc archivos, como el /proc propio sistema de archivos (procfs ), son virtuales. Ellos hacen contener información o, de lo contrario, ¿por qué estarían allí?

Por ejemplo, muestre el cpuinfo archivo a la pantalla y verás lo que quiero decir.

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping	: 9
cpu MHz		: 2303.998
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips	: 4607.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

Este archivo contiene información sobre su(s) CPU(s). Muchos de los archivos de tipo de texto normal contienen información del sistema y del hardware y puede cat como lo haría con cualquier otro archivo de texto. Recuerde ignorar ese tamaño de archivo cero.

En la próxima entrega de este /proc serie del sistema de archivos, explicaré la información proporcionada en los archivos. También puedes explorar por ti mismo. La mayoría de los archivos tienen nombres que describen la información que contienen. Algunos archivos son más valiosos que otros para la mente humana. No todos los archivos tienen cpuinfo o meminfo contiene información de nivel que es valiosa para un administrador de sistemas, pero la información es posiblemente importante para los desarrolladores, fabricantes de hardware o personal de solución de problemas del proveedor.

[ ¿Necesita aprender más sobre la administración del sistema Linux? Considere tomar un curso de administración de sistemas de Red Hat. ]


Linux
  1. Administre el directorio Linux /tmp como un jefe

  2. Archivos importantes del sistema de archivos Linux /proc que debe conocer

  3. Linux:¿Qué significan las banderas en /proc/cpuinfo?

  4. ¿La diferencia entre /opt y /usr/local?

  5. Linux – ¿Vincular /proc/mnt a /proc/mounts?

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Una guía para el sistema de archivos '/proc' en Linux

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Dónde está el directorio temporal en Linux?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?