>운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux proc 디렉토리에 있는 하위 파일 또는 하위 폴더의 기능은 무엇입니까?

Linux proc 디렉토리에 있는 하위 파일 또는 하위 폴더의 기능은 무엇입니까?

王林
王林앞으로
2023-05-13 10:49:121445검색

1.linux /proc 디렉토리 소개
Linux 커널은 /proc 파일 시스템을 통해 런타임에 커널의 내부 데이터 구조에 액세스하고 커널 설정을 변경하는 메커니즘을 제공합니다. proc 파일 시스템은 메모리에만 존재하고 외부 메모리 공간을 차지하지 않는 의사 파일 시스템입니다. 파일 시스템 형태로 시스템 커널 데이터에 접근하기 위한 인터페이스를 제공합니다.
사용자와 애플리케이션은 proc을 통해 시스템 정보를 얻고 커널의 특정 매개변수를 변경할 수 있습니다. 프로세스 등 시스템 정보는 동적으로 변경되므로 사용자나 애플리케이션이 proc 파일을 읽으면 proc 파일 시스템은 시스템 커널에서 필요한 정보를 동적으로 읽어 제출합니다. 커널 구성 및 로드된 모듈에 따라 아래 나열된 파일 또는 하위 폴더 중 일부가 시스템에 존재하지 않을 수도 있습니다. 또한 /proc 아래에는 net, scsi 및 sys라는 매우 중요한 세 개의 디렉터리가 있습니다. sys 디렉토리는 쓰기 가능하며 커널 매개변수에 액세스하거나 수정하는 데 사용할 수 있는 반면, net 및 scsi는 커널 구성에 따라 다릅니다. 예를 들어, 시스템이 scsi를 지원하지 않으면 scsi 디렉토리가 존재하지 않습니다.
위에 소개한 디렉토리 외에도 숫자로 명명된 디렉토리도 있는데, 이는 프로세스 디렉토리입니다. 현재 시스템에서 실행 중인 각 프로세스에는 /proc 아래에 해당 디렉터리가 있으며, 해당 디렉터리 이름은 프로세스의 pid 번호입니다. 이는 프로세스 정보를 읽기 위한 인터페이스입니다. self 디렉터리는 링크인 프로세스 자체를 읽기 위한 정보 인터페이스입니다.
2. /proc 디렉토리의 하위 파일 또는 하위 폴더의 역할
/proc/buddyinfo 메모리 조각화 문제와 관련하여 각 메모리 영역의 각 주문에 사용할 수 있는 블록 수
/proc/cmdline이 전달됩니다. 커널 매개변수 정보
/proc/cpuinfo CPU 정보
/proc/crypto 설치된 모든 암호화 비밀번호 및 커널에서 사용하는 세부정보
/proc/devices 로드된 장치 및 분류
/proc/dma 등록된 isa dma 채널 목록
/proc/execdomains 현재 Linux 커널에서 지원되는 실행 도메인
/proc/fb 이를 제어하는 ​​번호 및 드라이버를 포함한 프레임 버퍼 장치 목록
/proc/filesystems 현재 커널에서 지원되는 파일 시스템 유형
/proc/interrupts x86 아키텍처
/proc/iomem의 각 irq에 대한 인터럽트 시스템 메모리에 있는 각 물리적 장치의 현재 매핑
/proc/ioports 장치의 입력 및 출력에 사용되는 등록된 포트 범위
/proc/kcore는 시스템의 물리적 메모리를 나타냅니다. , 코어 파일 형식으로 저장되며 내부에 표시되는 바이트 수는 RAM 크기에 4kb
/proc/kmsg를 더한 것과 같습니다. 커널에서 생성된 정보는 /sbin/klogd 또는 /bin/dmesg
/를 통해 처리될 수 있습니다. proc/loadavg 지난 기간의 CPU 및 IO 상태에서 파생된 로드 상태는 uptime 명령과 관련이 있습니다
/proc/locks 커널에 의해 잠긴 파일 목록
/proc/mdstat 다중 하드 디스크, raid 구성 정보 (md=다중 디스크)
/proc /meminfo 램 사용 관련 정보
/proc/misc 기타 주요 장치에 등록된 드라이버(장치 번호 10)
/proc/modules 커널에 로드된 모든 모듈 목록
/proc/mounts 모두 시스템에서 사용되는 마운트
/proc/mtrr 시스템에서 사용되는 메모리 유형 범위 레지스터(mtrrs)
/proc/partitions 파티션의 블록 할당 정보
/proc/pci 시스템의 PCI 장치 목록
/proc/slabinfo 모두 활성 시스템의 slab 캐시 정보
/proc/stat 모든 CPU 활동 정보
/proc/sysrq-trigger echo 명령을 사용하여 이 파일을 작성하면 원격 루트 사용자는 대부분의 시스템 요청 키 명령을 로컬 터미널에서 실행하는 것처럼 실행할 수 있습니다. . 이 파일에 쓰려면 /proc/sys/kernel/sysrq가 0으로 설정되어서는 안 됩니다. 이 파일은 루트에서도 읽을 수 없습니다
/proc/uptime 시스템이 실행된 시간
/proc/swap 스왑 공간 사용량
/proc/version Linux 커널 버전 및 gcc 버전
/proc/bus 시스템 버스(버스) 정보 , pci/usb 등
/proc/driver 드라이버 정보
/proc/fs 파일 시스템 정보
/proc/ide IDE 장치 정보
/proc/irq 인터럽트 요청 장치 정보
/proc/net 네트워크 카드 장치 정보
/proc/ scsi scsi 장치 정보
/proc/tty tty 장치 정보
/proc/net/dev 네트워크 어댑터 및 통계 정보 표시
/proc/vmstat 가상 메모리 통계
/proc/vmcore 커널 패닉 시 메모리 이미지
/proc/ diskstats 디스크 정보 얻기
/proc/schedstat 커널 스케줄러의 통계 정보
/proc/zoneinfo 가상 메모리 동작을 분석하는 데 유용한 메모리 공간의 통계 정보를 표시합니다.
다음은 /proc 디렉토리에 있는 프로세스 n의 정보입니다
/proc/n pid n
/proc/n/cmdline 프로세스 시작 명령에 대한 프로세스 정보
/proc/n/cwd 프로세스의 현재 작업 디렉터리에 대한 링크
/proc/n/environ 프로세스 환경 변수 목록
/proc/ n/exe 프로세스 실행 명령 파일에 대한 링크
/proc/n/fd는 프로세스와 관련된 모든 파일 설명자를 포함합니다.
/proc/n/maps 프로세스와 관련된 메모리 매핑 정보
/proc/n/mem은 메모리를 나타냅니다. 프로세스에 의해 보유되며 읽을 수 없습니다.
/proc/n/root는 프로세스의 루트 디렉터리에 연결되어 있습니다.
/proc/n/stat는 프로세스의 상태입니다.
/proc/n/statm은 메모리의 상태입니다. 프로세스에서 사용되는
/proc/n/status는 stat/statm보다 읽기 쉬운 프로세스 상태 정보입니다.
/proc/self는 현재 실행 중인 프로세스에 연결됩니다
3. 아래의 모든 파일을 나열하세요. /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. 시스템 정보 및 커널 매개변수 보기

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相关的设备驱动器例如磁盘驱动器、以太网卡、声卡设备等

위 내용은 Linux proc 디렉토리에 있는 하위 파일 또는 하위 폴더의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제