Aparte de los directorios asociados a los
diferentes procesos, /proc también contiene
una miríada de información sobre el hardware presente en su
máquina. Un listado de los archivos del directorio
/proc da lo siguiente:
$ ls -d [a-z]* apm devices interrupts loadavg partitions sysrq-trigger asound/ diskstats iomem locks pci sysvipc/ bluetooth/ dma ioports mdstat scsi/ tty/ buddyinfo driver/ irq/ meminfo self@ uptime bus/ execdomains kallsyms misc slabinfo version cmdline fb kcore modules splash vmstat cpufreq filesystems keys mounts@ stat cpuinfo fs/ key-users mtrr swaps crypto ide/ kmsg net/ sys/
Por ejemplo, si observamos
el contenido de /proc/interrupts, podemos ver
la lista de las interrupciones que el sistema está usando en ese
momento, junto con el periférico que las está
ocupando. Similarmente, ioports contiene la
lista de los rangos de direcciones de entrada/salida ocupados en
ese momento, y finalmente, dma hace lo mismo
para los canales DMA. Por lo tanto, si desea solucionar un
conflicto, observe el contenido de estos tres archivos:
$ cat interrupts
CPU0
0: 73751906 IO-APIC-edge timer
2: 0 XT-PIC cascade
3: 44301 IO-APIC-edge NVidia CK8
9: 115618 IO-APIC-edge ohci_hcd
10: 7758240 IO-APIC-edge ohci_hcd, eth0
11: 218753 IO-APIC-edge libata, ehci_hcd
12: 1153980 IO-APIC-edge i8042
15: 3419 IO-APIC-edge ide1
NMI: 0
LOC: 73749577
ERR: 0
MIS: 0
$ cat ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f8-03ff : serial
0970-0977 : 0000:00:0b.0
0970-0977 : sata_nv
09f0-09f7 : 0000:00:0b.0
09f0-09f7 : sata_nv
0b70-0b73 : 0000:00:0b.0
0b70-0b73 : sata_nv
0bf0-0bf3 : 0000:00:0b.0
0bf0-0bf3 : sata_nv
0cf8-0cff : PCI conf1
d000-d00f : 0000:00:0b.0
d000-d00f : sata_nv
d400-d47f : 0000:00:0b.0
d400-d47f : sata_nv
d800-d8ff : 0000:00:06.0
d800-d8ff : NVidia CK8
dc00-dc7f : 0000:00:06.0
dc00-dc7f : NVidia CK8
e000-e007 : 0000:00:04.0
e000-e007 : forcedeth
e400-e41f : 0000:00:01.1
f000-f00f : 0000:00:09.0
f000-f007 : ide0
f008-f00f : ide1
$ cat dma
4: cascadeO, más simplemente, use el comando lsdev el cual obtiene información de estos tres archivos y la ordena por periférico, lo cual es, indudablemente, más conveniente[31]:
lsdev Device DMA IRQ I/O Ports ------------------------------------------------ 0000:00:01.1 e400-e41f 0000:00:04.0 e000-e007 0000:00:06.0 d800-d8ff dc00-dc7f 0000:00:09.0 f000-f00f 0000:00:0b.0 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 d000-d00f d400-d47f cascade 4 2 CK8 3 dma 0080-008f dma1 0000-001f dma2 00c0-00df ehci_hcd 11 eth0 10 forcedeth e000-e007 fpu 00f0-00ff i8042 12 ide0 f000-f007 ide1 15 0170-0177 0376-0376 f008-f00f keyboard 0060-006f NVidia d800-d8ff dc00-dc7f ohci_hcd 9 parport0 0378-037a 037b-037f PCI 0cf8-0cff pic1 0020-0021 pic2 00a0-00a1 sata_nv 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 d000-d00f d400-d47f serial 03f8-03ff timer 0 timer0 0040-0043 timer1 0050-0053 vesafb 03c0-03df
Una lista exhaustiva de los archivos presentes sería demasiado larga, sin embargo aquí tiene la descripción de algunos:
cpuinfo: este archivo
contiene, como su nombre (en inglés) lo indica, información sobre
el(los) procesador(es) presente(s) en su máquina.
modules: este archivo contiene
una lista de los módulos
que el núcleo está usando en ese momento, junto con el conteo del
uso para cada uno. De hecho, esta es utilizada por el comando
lsmod que la muestra de manera más legible.
meminfo: este archivo
contiene información sobre el uso de la memoria en el momento que
Usted muestra su contenido. Una información ordenada más
claramente está disponible con el comando
free.
apm: si Usted tiene una
portátil, al mostrar el contenido de este archivo verá el estado
de su batería. Puede ver si está conectada la alimentación
externa, la carga actual de su batería, y la vida útil de la
batería si el BIOS APM de su portátil lo soporta
(desafortunadamente, este no es el caso general). Este archivo en
sí mismo no es muy legible, por lo tanto querrá usar el comando
apm en su lugar, que proporciona la misma
información en un formato legible (si comprende el
inglés...).
Note que las computadoras modernas ahora brindan soporte para ACPI en vez de APM. Ver más adelante.
bus: este subdirectorio
contiene información sobre todos los periféricos que se
encuentran en los diferentes buses de su máquina. Por lo general,
la información es poco legible, y en su mayoría se trata y se
vuelve a formatear con utilitarios externos: lspcidrake,
lspnp, etc.
acpi: Varios de los archivos
provistos en este directorio son interesantes, en especial para
las portátiles, ya que en los mismos puede seleccionar varias
opciones de ahorro de energía. Note que es más fácil modificar
estas opciones a través de aplicaciones de más alto nivel, tales
como las que se incluyen en el paquete
acpid.
Las entradas más interesantes son:
batterymuestra cuántas baterías hay en la portátil, e información relacionada tal como la carga que les queda, la capacidad máxima, etc.
buttonLe permite controlar acciones asociadas a los botones “especiales” tales como la energía, dormir, levantar, etc.
fanMuestra el estado de los ventiladores en su computadora, si están corriendo o no, y le permite iniciarlos/detenerlos de acuerdo a ciertos criterios. La cantidad de control sobre los ventiladores de su máquina depende de su placa madre.
processorHay un subdirectorio para cada una de las CPU de su máquina. Las opciones de control varían de un procesador a otro. Los procesadores móviles tienen más características habilitadas, incluyendo:
Note que hay varios procesadores que no ofrecen estas posibilidades.
thermal_zoneInformación acerca de cuan caliente está corriendo su sistema/procesador.