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]* acpi/ diskstats iomem locks pci sysvipc/ asound/ dma ioports mdstat scsi/ tty/ buddyinfo driver/ irq/ meminfo self@ uptime bus/ execdomains kallsyms misc slabinfo version cmdline fb kcore modules splash vmstat config.gz filesystems keys mounts@ stat cpuinfo fs/ key-users mtrr swaps crypto ide/ kmsg net/ sys/ devices interrupts loadavg partitions sysrq-trigger $
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: 543488 XT-PIC timer 2: 0 XT-PIC cascade 5: 109 XT-PIC ohci_hcd:usb2, eth1 7: 1 XT-PIC parport0 8: 0 XT-PIC rtc 9: 3432 XT-PIC acpi, NVidia CK8 10: 52855 XT-PIC ehci_hcd:usb3, eth0 11: 7538 XT-PIC libata, ohci_hcd:usb1 12: 1386 XT-PIC i8042 14: 20 XT-PIC ide0 15: 5908 XT-PIC ide1 NMI: 0 LOC: 0 ERR: 0 MIS: 0 $ cat ioports 0000-001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-006f : keyboard 0070-0077 : rtc 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0 0376-0376 : ide1 0378-037a : parport0 037b-037f : parport0 03c0-03df : vesafb 03f6-03f6 : ide0 03f8-03ff : serial 0778-077a : parport0 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 4000-407f : motherboard 4000-4003 : PM1a_EVT_BLK 4004-4005 : PM1a_CNT_BLK 4008-400b : PM_TMR 4020-4027 : GPE0_BLK 4080-40ff : motherboard 4080-40ff : pnp 00:00 4200-427f : motherboard 4200-427f : pnp 00:00 4280-42ff : motherboard 4280-42ff : pnp 00:00 4400-447f : motherboard 4400-447f : pnp 00:00 4480-44ff : motherboard 44a0-44af : GPE1_BLK 5000-503f : motherboard 5000-503f : pnp 00:01 5100-513f : motherboard 5100-513f : pnp 00:01 9000-9fff : PCI Bus #02 9000-907f : 0000:02:07.0 9000-907f : 0000:02:07.0 ac00-ac0f : 0000:00:0b.0 ac00-ac0f : sata_nv b000-b07f : 0000:00:0b.0 b000-b07f : sata_nv b800-b8ff : 0000:00:06.0 b800-b8ff : NVidia CK8 bc00-bc7f : 0000:00:06.0 bc00-bc7f : NVidia CK8 c000-c007 : 0000:00:04.0 c000-c007 : forcedeth c400-c41f : 0000:00:01.1 f000-f00f : 0000:00:09.0 f000-f007 : ide0 f008-f00f : ide1 $cat dma 3: parport0 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[10]:
$ lsdev Device DMA IRQ I/O Ports ------------------------------------------------ 0000:00:01.1 c400-c41f 0000:00:04.0 c000-c007 0000:00:06.0 b800-b8ff bc00-bc7f 0000:00:09.0 f000-f00f 0000:00:0b.0 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 ac00-ac0f b000-b07f 0000:02:07.0 9000-907f 9000-907f cascade 4 2 CK8 9 dma 0080-008f dma1 0000-001f dma2 00c0-00df eth0 10 eth1 5 forcedeth c000-c007 fpu 00f0-00ff GPE0_BLK 4020-4027 GPE1_BLK 44a0-44af i8042 12 ide0 14 01f0-01f7 03f6-03f6 f000-f007 ide1 15 0170-0177 0376-0376 f008-f00f keyboard 0060-006f motherboard 4000-407f 4080-40ff 4200-427f 4280-42ff 4400-447f 4480-44ff 5000-503f 5100-513f NVidia b800-b8ff bc00-bc7f ohci_hcd:usb1 11 parport0 3 7 0378-037a 037b-037f 0778-077a PCI 0cf8-0cff 9000-9fff pic1 0020-0021 pic2 00a0-00a1 PM1a_CNT_BLK 4004-4005 PM1a_EVT_BLK 4000-4003 PM_TMR 4008-400b pnp 4080-40ff 4200-427f 4280-42ff 4400-447f 5000-503f 5100-513f rtc 8 0070-0077 sata_nv 0970-0977 09f0-09f7 0b70-0b73 0bf0-0bf3 ac00-ac0f b000-b07f 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 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 los paquetes acpid
y
kapacity
.
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.