Кроме каталогов, связанных с различными процессами, в
/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