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: cascade
O, 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:
battery
muestra 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.
button
Le permite controlar acciones asociadas a los botones “especiales” tales como la energía, dormir, levantar, etc.
fan
Muestra 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.
processor
Hay 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_zone
Información acerca de cuan caliente está corriendo su sistema/procesador.