Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Welche Funktionen haben Unterdateien oder Unterordner im Linux-Proc-Verzeichnis?

Welche Funktionen haben Unterdateien oder Unterordner im Linux-Proc-Verzeichnis?

王林
王林nach vorne
2023-05-13 10:49:121443Durchsuche

1.linux /proc-Verzeichnis Einführung
Der Linux-Kernel bietet einen Mechanismus, um über das /proc-Dateisystem auf die internen Datenstrukturen des Kernels zuzugreifen und Kerneleinstellungen zur Laufzeit zu ändern. Das Proc-Dateisystem ist ein Pseudodateisystem, das nur im Speicher vorhanden ist und keinen externen Speicherplatz belegt. Es bietet eine Schnittstelle für den Zugriff auf Systemkerndaten in Form eines Dateisystems.
Benutzer und Anwendungen können über proc Systeminformationen abrufen und bestimmte Parameter des Kernels ändern. Da sich Systeminformationen wie Prozesse dynamisch ändern, liest das Proc-Dateisystem die erforderlichen Informationen dynamisch aus dem Systemkernel und übermittelt sie, wenn ein Benutzer oder eine Anwendung eine Proc-Datei liest. Abhängig von Ihrer Kernel-Konfiguration und den geladenen Modulen sind möglicherweise nicht alle der unten aufgeführten Dateien oder Unterordner auf Ihrem System vorhanden. Darüber hinaus gibt es unter /proc drei sehr wichtige Verzeichnisse: net, scsi und sys. Das sys-Verzeichnis ist beschreibbar und kann zum Zugriff auf oder zum Ändern von Kernel-Parametern verwendet werden, während net und scsi von der Kernel-Konfiguration abhängen. Wenn das System beispielsweise SCSI nicht unterstützt, ist das SCSI-Verzeichnis nicht vorhanden.
Zusätzlich zu den oben vorgestellten gibt es auch einige mit Nummern benannte Verzeichnisse, bei denen es sich um Prozessverzeichnisse handelt. Jeder derzeit im System ausgeführte Prozess verfügt über ein entsprechendes Verzeichnis unter / proc mit der PID-Nummer des Prozesses als Verzeichnisnamen. Dies sind die Schnittstellen zum Lesen von Prozessinformationen. Das Selbstverzeichnis ist die Informationsschnittstelle zum Lesen des Prozesses selbst, bei dem es sich um einen Link handelt.
2. Die Rolle von Unterdateien oder Unterordnern des /proc-Verzeichnisses
/proc/buddyinfo Wie viele Blöcke sind für jede Bestellung in jedem Speicherbereich verfügbar, bezogen auf Speicherfragmentierungsprobleme
/proc/cmdline wird übergeben zu Kernel-Parameterinformationen
/proc/cpuinfo CPU-Informationen
/proc/crypto Alle installierten Verschlüsselungskennwörter und Details, die vom Kernel verwendet werden
/proc/devices Geladene Geräte und Klassifizierung
/proc/dma Registrierte isa dma-Kanalliste
/proc/execdomains Derzeit vom Linux-Kernel unterstützte Ausführungsdomänen
/proc/fb Liste der Frame-Puffer-Geräte, einschließlich der Nummer und des Treibers, der sie steuert
/proc/filesystems Derzeit vom Kernel unterstützte Dateisystemtypen
/proc/interrupts x86-Architektur Die Anzahl der Interrupts für jeden IRQ in
/proc/iomem Die aktuelle Zuordnung jedes physischen Geräts im Systemspeicher
/proc/ioports Der registrierte Portbereich, der für die Ein- und Ausgabe eines Geräts verwendet wird
/proc/kcore stellt den physischen Speicher des Systems dar , Im Kerndateiformat gespeichert, entspricht die Anzahl der darin angezeigten Bytes der RAM-Größe plus 4 KB
/proc/kmsg zeichnet die vom Kernel generierten Informationen auf, die über /sbin/klogd oder /bin/dmesg
/ verarbeitet werden können. proc/loadavg Gemäß Der aus dem Status von CPU und E/A im vergangenen Zeitraum abgeleitete Ladestatus hängt mit dem Betriebszeitbefehl zusammen
/proc/locks Liste der vom Kernel gesperrten Dateien
/proc/mdstat Mehrere Festplatten, RAID-Konfigurationsinformationen (md=mehrere Festplatten)
/proc /meminfo Informationen zur RAM-Nutzung
/proc/misc Auf anderen Hauptgeräten registrierte Treiber (Gerätenummer ist 10)
/proc/modules Liste aller in den Kernel geladenen Module
/proc/mounts Alle im System verwendeten Mounts
/proc/mtrr Speichertypbereichsregister (mtrrs), die vom System verwendet werden
/proc/partitions Blockzuordnungsinformationen in der Partition
/proc/pci PCI-Geräteliste im System
/proc/slabinfo Alle Informationen zum aktiven Slab-Cache im System
/proc/stat Alle Informationen zur CPU-Aktivität
/proc/sysrq-trigger Wenn Sie den Echo-Befehl zum Schreiben dieser Datei verwenden, kann der Remote-Root-Benutzer die meisten Systemanforderungsschlüsselbefehle so ausführen, als ob sie lokal ausgeführt würden Terminal. Um in diese Datei zu schreiben, darf /proc/sys/kernel/sysrq nicht auf 0 gesetzt sein. Diese Datei ist auch für Root nicht lesbar
/proc/uptime. Wie lange das System bereits läuft?/proc/swaps Swap-Speicherplatznutzung. B. PCI/USB usw.
/proc/driver Treiberinformationen
/proc/fs Dateisysteminformationen
/proc/ide ide Geräteinformationen
/proc/irq Interrupt Request Geräteinformationen
/proc/net Netzwerkkartengeräteinformationen
/proc/ SCSI SCSI-Geräteinformationen
/proc/tty TTY-Geräteinformationen
/proc/net/dev Netzwerkadapter und statistische Informationen anzeigen
/proc/vmstat Statistiken zum virtuellen Speicher
/proc/vmcore Speicherbild bei Kernel-Panik
/proc/ diskstats Abrufen von Festplatteninformationen
/proc/schedstat Statistische Informationen des Kernel-Schedulers
/proc/zoneinfo Zeigt statistische Informationen zum Speicherplatz an, die für die Analyse des Verhaltens des virtuellen Speichers nützlich sind
Das Folgende sind die Informationen von Prozess n im Verzeichnis /proc
/proc/n pid Prozessinformationen für n
/proc/n/cmdline Prozessstartbefehl
/proc/n/cwd Link zum aktuellen Arbeitsverzeichnis des Prozesses
/proc/n/environ Liste der Prozessumgebungsvariablen
/proc/ n/exe Link zur Prozessausführungsbefehlsdatei
/proc/n/fd enthält alle Dateideskriptoren im Zusammenhang mit dem Prozess
/proc/n/maps Speicherzuordnungsinformationen im Zusammenhang mit dem Prozess
/proc/n/mem bezieht sich auf den Speicher wird vom Prozess gehalten und ist nicht lesbar
/proc/n/root ist mit dem Stammverzeichnis des Prozesses verknüpft
/proc/n/stat ist der Status des Prozesses
/proc/n/statm ist der Status des Speichers Wird vom Prozess verwendet
/proc/n/status sind Prozessstatusinformationen, besser lesbar als stat/statm
/proc/self ist mit dem aktuell laufenden Prozess verknüpft

Drei praktische Betriebsbeispiele

1 unter /proc/

yafang@qa:~$ ls /proc/
1      16819  21242  2180   2494  8768         interrupts    partitions
116    16820  21244  2181   2524  885          iomem         sched_debug
11740  17901  21245  21810  2525  acpi         ioports       scsi
11742  17903  21247  21812  3     asound       irq           self
11743  17904  2131   21813  39    buddyinfo    kallsyms      slabinfo
13452  18362  21319  21923  4     bus          kcore         stat
13454  18364  2132   2193   41    cgroups      key-users     swaps
13455  18365  2139   21933  42    cmdline      kmsg          sys
149    19451  2142   2209   5     cpuinfo      kpagecount    sysrq-trigger
150    19453  21572  2212   5330  crypto       kpageflags    sysvipc
151    19454  21574  2219   596   devices      loadavg       timer_list
152    2      21575  2243   597   diskstats    locks         timer_stats
15771  2083   2158   2260   6     dma          meminfo       tty
15773  2092   21625  2261   617   driver       misc          uptime
15774  2101   21627  2262   619   execdomains  modules       version
16232  21112  21628  2263   7     fb           mounts        vmallocinfo
16234  21115  2165   2264   804   filesystems  mtrr          vmstat
16235  21116  2167   2265   8765  fs           net           zoneinfo
16811  2112   2177   2338   8767  ide          pagetypeinfo

2. Systeminformationen und Kernelparameter anzeigen

yafang@qa:~$ ls /proc/sys
debug  dev  fs  kernel  net  vm[code]

3. 查看网卡设备信息

[code]yafang@qa:~$ ls /proc/net
anycast6   ip6_flowlabel  netfilter  raw6       sockstat6     udplite
arp        ip6_mr_cache   netlink    route      softnet_stat  udplite6
dev        ip6_mr_vif     netstat    rt6_stats  stat          unix
dev_mcast  ip_mr_cache    packet     rt_acct    tcp           vlan
dev_snmp6  ip_mr_vif      protocols  rt_cache   tcp6          wireless
if_inet6   ipv6_route     psched     snmp       tr_rif
igmp       mcfilter       ptype      snmp6      udp
igmp6      mcfilter6      raw        sockstat   udp6

4. 查看scsi设备信息

yafang@qa:~$ ls /proc/scsi
device_info  scsi

5. 查看所有加载到内核的模块列表

root@bdsp-a-2-1-2:~# cat /proc/modules
bdspboard 8486 2 dspcontrol, live 0xe134c000
dspcontrol 9575 1 clkmon, live 0xe135b000
clkmon 6765 1 - live 0xe136c000
diagint 6635 1 - live 0xe1379000
bdsprio 10775 2 srioif,tsi577, live 0xe9389000
tsi577 17998 1 srioif, live 0xe939e000
srioif 7329 0 - live 0xe93b2000
linux_kernel_bde 54666 1 linux_user_bde, live 0xf1417000 (p)
linux_user_bde 17849 0 - live 0xf1427000 (p)
root@bdsp-a-2-1-2:~#

6. 查看已经加载的设备并分类

root@bcnmb-a:~# cat /proc/devicescharacter 
devices:  1 mem  2 pty  3 ttyp  4 /dev/vc/0  4 tty  4 ttys  5 /dev/tty  5 /dev/console  5 /dev/ptmx  7 vcs 10 misc 13 input 89 i2c 90 mtd116 linux-user-bde2117 linux-kernel-bde2126 linux-user-bde127 linux-kernel-bde128 ptm136 pts180 usb189 usb_device245 ext_alarm251 ipmidev252 usb_endpoint253 usbmon254 rtcblock devices:  1 ramdisk  8 sd 31 mtdblock 65 sd 66 sd 67 sd 68 sd 69 sd 70 sd 71 sd128 sd129 sd130 sd131 sd132 sd133 sd134 sd135 sd
root@bcnmb-a:~#

7. 查看分区中的块分配信息

root@bdsp-a-2-1-2:~# cat /proc/partitions
major minor  #blocks  name
  31        0        512 mtdblock0
  31        1        512 mtdblock1
  31        2     123904 mtdblock2
  31        3       4096 mtdblock3
  31        4       1024 mtdblock4
  31        5       1024 mtdblock5
  31        6        512 mtdblock6
  31        7        512 mtdblock7
  31        8     123904 mtdblock8
  31        9       4096 mtdblock9
  31       10       1024 mtdblock10
  31       11       1024 mtdblock11
  31       12    1048576 mtdblock12
root@bdsp-a-2-1-2:~#

8. 查看linux内核版本和gcc版本

root@bdsp-a-2-1-2:~# cat /proc/version
linux version 2.6.34.6-wr4.0.0.0_standard (satomi@charliebrown) (gcc version 4.4.1 (wind river linux sourcery g++ 4.4-291) ) #1 smp preempt fri nov 26 16:07:47 cst 2010
root@bdsp-a-2-1-2:~#

9. /proc/sys/fs/file-max
该文件指定了可以分配的文件句柄的最大数目。如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件,则可能需要增加该值。可将这个值设置成有任意多个文件,并且能通过将一个新数字值写入该文件来更改该值。默认设置时4096。
改变内核的参数,用vi编辑或echo参数重定向到文件中。

# cat /proc/sys/fs/file-max
4096
# echo 8192 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192

如果优化了参数,则可以把它们写成添加到文件rc.local中,使它在系统启动时自动完成修改。

其它例子:

1:[root@gechong proc]# more /proc/cmdline
显示了内核启动的命令行
2:[root@gechong proc]# cat /proc/cpuinfo
显示了cpu信息
3:[root@gechong proc]# cat /proc/devices
显示了字符和块设备的主设备号以及分配到这些设备号的设备名称
4:[root@gechong proc]# cat /proc/dma
显示了驱动程序保留的dma通道和保留它们的驱动程序名称
5:[root@gechong proc]# more /proc/filesystems
显示了可供使用的文件系统类型,一种类型一行
6:[root@gechong proc]# more /proc/interrupts
每一行都有一个保留的中断,内容是:中断号 中断次数 登记中断的驱动程序名称
7:[root@gechong proc]# more /proc/ioports
显示了i/o相关的设备驱动器例如磁盘驱动器、以太网卡、声卡设备等

Das obige ist der detaillierte Inhalt vonWelche Funktionen haben Unterdateien oder Unterordner im Linux-Proc-Verzeichnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen