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