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