Кроме каталогов, связанных с различными процессами, в
/proc также содержится огромный объем информации об
аппаратном обеспечении вашей машины. Список файлов каталога
/proc выглядит следующим образом:
$ 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/
Например, если мы посмотрим на содержимое
/proc/interrupts, мы можем увидеть, что он содержит
список прерываний, используемых в данный момент системой, а также
периферийные устройства, которые их используют. Аналогичным образом,
ioports содержит список занятых в данный момент
диапазонов адресов ввода-вывода, и, наконец, dma
делает то же самое для каналов DMA. Поэтому, чтобы выловить конфликт,
просмотрите содержимое этих трех файлов:
$ 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Или, еще проще, воспользуйтесь командой lsdev, которая собирает информацию из этих файлов и сортирует ее по периферийным устройствам, что, несомненно, более удобно.[29]:
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
Вывод полного списка файлов был бы слишком долгим, но вот описание некоторых из них:
cpuinfo: этот файл содержит, как видно из его имени,
информацию о процессорах вашей машины.
modules: этот файл содержит список модулей,
используемых ядром в настоящий момент, вместе со счетчиком использования
каждого из модулей. По сути эта информация используется командой
lsmod, которая отображает ее в более удобной для чтения форме.
meminfo: этот файл содержит информацию о загрузке
памяти на момент вывода его содержимого. Команда free
выведет ту же самую информацию, но уже в более удобном для чтения формате.
apm: если у вас портативный компьютер, содержимое
этого файла позволит вам увидеть состояние вашего аккумулятора. Вы сможете
увидеть, подключен ли источник переменного тока, уровень зарядки аккумулятора
и, если APM BIOS вашего ноутбука поддерживает это (к сожалению это
не всегда так), оставшееся время «жизни» аккумулятора в
минутах и т.п. Сам по себе файл не очень удобен для чтения, поэтому вы скорее
всего захотите воспользоваться командой apm, которая
выдаст ту же информацию в удобочитаемом для человека формате.
Обратите внимание, что сейчас современные компьютеры предоставляют поддержку ACPI вместо APM. Смотрите ниже.
bus: этот подкаталог содержит информацию обо всех
периферийных устройствах, найденных на различных шинах вашего компьютера.
Информация обычно не удобна для чтения, и большая ее часть переформатируется
внешними утилитами: lspcidrake, lspnp и др.
acpi: некоторые файлы, представленные в этом каталоге,
особенно интересны для ноутбуков, которые позволяют вам выбирать различные
варианты энергосбережения. Обратите внимание, что эти параметры проще
изменять через приложения более высокого уровня, наподобие тех, что включены
в пакет acpid.
Вот наиболее интересные пункты:
battery
Показывает число аккумуляторов в ноутбуке и связанную с ними информацию, например, оставшийся на данный момент срок работы, максимальную емкость и т.п.
button
Позволяет вам управлять действиями, связанными со «специальными» кнопками: выключения питания, перехода в спящий режим, закрытия крышки и др.
fan
Показывает состояние вентиляторов вашего компьютера - работают ли они или нет, и позволяет вам запускать/останавливать их согласно определенным критериям. Возможность управления вентиляторами вашей машины зависит от материнской платы.
processor
Для каждого из CPU вашей машины имеется по одному подкаталогу. Опции управления варьируются в зависимости от типа процессора. Мобильные процессоры обладают большим числом опций, включая:
Обратите внимание, что существуют процессоры, которые не предоставляют таких возможностей.
thermal_zone