Linux proc目录详解

目录

1. 什么是proc

2.proc目录介绍

2.1 /proc/cpuinifo CPU的信息(型号、家族、缓存大小等)

2.2 /proc/meminfo物理内存、交换空间

2.3 /proc/mounts      已加载的文件系统的列表

2.4 /proc/devices 可用设备的列表

2.5 /proc/filesystems 被支持的文件系统

2.6 /proc/modules 已加载的模块

2.7 /proc/virsion 内核版本

2.8 /proc/cmdline 系统启动时输入的内核命令行参数

2.9 /proc/uptime 获取系统的正常运行时间

2.10 /proc/sys/kernel/ostype 操作系统类型

2.11 /proc/sys/kernel/osrelease 内核版本

2.12 /proc/sys/kernel/hostname  主机名

2.13 /proc/partitions   硬盘设备分区信息

3. 进程信息查看

3.1 /proc/N pid为N的进程信息

3.2 /proc/N/cmdline 进程启动命令

3.3  /proc/N/exe 链接到进程的执行命令文件

3.4 /proc/N/cwd 链接到进程当前工作目录

3.5 /proc/N/environ 进程环境变量列表

3.6 /proc/N/fd 包含进程相关的所有的文件描述符

3.7 /proc/N/stat 进程的状态

3.8 /proc/N/status 进程状态信息,比stat/statm更具可读性

1. 什么是proc

proc是Linux系统下一个很重要的目录。 它跟/etc, /home等这些系统目录不同, 它不是一个真正的文件系统, 而是一个虚拟的文件系统。 它不存在于磁盘, 而是存在于系统内存中。 所以当你使用 ls -al /proc这条命令来查看proc目录时, 会看到其下面的所有文件的大小都为0字节。 proc以文件系统的方式为访问系统内核的操作提供接口。 很多系统的信息, 如内存使用情况, cpu使用情况, 进程信息等等这些信息,都可以通过查看/proc下的对应文件来获得。 proc文件系统是动态从系统内核读出所需信息的。

2.proc目录介绍

2.1 /proc/cpuinifo CPU的信息(型号、家族、缓存大小等)

# cat /proc/cpuinfo
system type             : sepal_v10
machine                 : Unknown
processor               : 0
cpu model               : Ingenic Xburst V0.0  FPU V0.0
BogoMIPS                : 858.52
wait instruction        : yes
microsecond timers      : no
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 1, address/irw mask: [0x0fff]
isa                     : mips32r1
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 7
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

Hardware                : sepal
Serial                  : 00000000 00000000 00000000 00000000

2.2 /proc/meminfo物理内存、交换空间

# cat /proc/meminfo
MemTotal:          58720 kB
MemFree:            2628 kB
Buffers:            1624 kB
Cached:            17120 kB
SwapCached:            0 kB
Active:            26260 kB
Inactive:           9276 kB
Active(anon):      17188 kB
Inactive(anon):     2832 kB
Active(file):       9072 kB
Inactive(file):     6444 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         16816 kB
Mapped:            10392 kB
Shmem:              3228 kB
Slab:               6756 kB
SReclaimable:       1960 kB
SUnreclaim:         4796 kB
KernelStack:         816 kB
PageTables:          540 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       29360 kB
Committed_AS:     471412 kB
VmallocTotal:    1048372 kB
VmallocUsed:        3116 kB
VmallocChunk:    1044980 kB

2.3 /proc/mounts      已加载的文件系统的列表

# cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=29224k,nr_inodes=7306,mode=755 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
tmpfs /tmp tmpfs rw,relatime 0 0
/dev/ubi0_0 /data ubifs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
/dev/mtdblock6 /home squashfs ro,relatime 0 0

2.4 /proc/devices 可用设备的列表

# cat /proc/devices
Character 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 mtd
108 ppp
116 alsa
128 ptm
136 pts
153 spi
180 usb
188 ttyUSB
189 usb_device
246 USB printer gadget
247 tph
248 ubi0
249 bsg
250 watchdog
251 ptp
252 pps
253 rtc
254 hwinfo

Block devices:
259 blkext
  8 sd
 50 mtdblock
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc

2.5 /proc/filesystems 被支持的文件系统

# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   debugfs
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   configfs
nodev   devpts
        squashfs
nodev   ramfs
        vfat
        fuseblk
nodev   fuse
nodev   fusectl
nodev   mqueue
nodev   mtd_inodefs
nodev   ubifs

2.6 /proc/modules 已加载的模块

# cat /proc/modules
usb_f_printer 10416 3 - Live 0xc034c000
g_printer 1872 0 - Live 0xc0342000
libcomposite 27010 2 usb_f_printer,g_printer, Live 0xc0334000
thermal_printer_nt310 1932531 1 - Live 0xc014b000

2.7 /proc/virsion 内核版本

# cat /proc/version
Linux version 3.10.14 (lizj@SM2534) (gcc version 4.7.2 (Ingenic r2.3.3 2016.12) ) #1 PREEMPT Wed Mar 23 16:52:34 CST 2022

2.8 /proc/cmdline 系统启动时输入的内核命令行参数

# cat /proc/cmdline
console=ttyS1,115200n8 mem=65504K@0x0 rmem=32K@0x3FF8000 ip=off init=/linuxrc ubi.mtd=8 root=/dev/mtdblock5 rootfstype=squashfs ro

2.9 /proc/uptime 获取系统的正常运行时间

# cat /proc/uptime
14985.88 11766.31

2.10 /proc/sys/kernel/ostype 操作系统类型

# cat /proc/sys/kernel/ostype
Linux

2.11 /proc/sys/kernel/osrelease 内核版本

# cat /proc/sys/kernel/osrelease
3.10.14

2.12 /proc/sys/kernel/hostname  主机名

# cat /proc/sys/kernel/hostname
alex

2.13 /proc/partitions   硬盘设备分区信息

# cat /proc/partitions
major minor  #blocks  name

  50        0       1024 mtdblock0
  50        1       1024 mtdblock1
  50        2       4096 mtdblock2
  50        3       4096 mtdblock3
  50        4       8192 mtdblock4
  50        5       8192 mtdblock5
  50        6       4096 mtdblock6
  50        7       4096 mtdblock7
  50        8     227328 mtdblock8

3. 进程信息查看

3.1 /proc/N pid为N的进程信息

# ls /proc/
1        46            。。。。。。

3.2 /proc/N/cmdline 进程启动命令

# cat  /proc/153/cmdline
APP1

3.3  /proc/N/exe 链接到进程的执行命令文件

# ls -al  /proc/153/exe
lrwxrwxrwx    1 root     root             0 Aug 21  2014 /proc/153/exe -> /home/bin/APP1

3.4 /proc/N/cwd 链接到进程当前工作目录

# ls   /proc/153/cwd/
bin      etc      lib32    mnt      root     sys      var
data     home     linuxrc  opt      run      tmp
dev      lib      media    proc     sbin     usr

3.5 /proc/N/environ 进程环境变量列表

# cat   /proc/153/environ
USER=rootSHLVL=2LD_LIBRARY_PATH=.:/home/libHOME=/TERM=vt102PATH=/sbin:/usr/sbin:/bin:/usr/bin:/home/bin:/data/binSHELL=/bin/shPWD=/

3.6 /proc/N/fd 包含进程相关的所有的文件描述符

# ls   /proc/153/fd
0  1  2  3  4  5  6

3.7 /proc/N/stat 进程的状态

# cat   /proc/153/stat
153 (APP1) S 1 152 152 0 -1 1077960960 448 0 4 0 84 182 0 0 20 0 2 0 454 14049280 394 2147483647 4194304 4228320 2147352704 2147352312 2002778740 0 0 4102 0 4294967295 0 0 18 0 0 0 0 0 0 4296704 4297032 4300800 2147356509 2147356514 2147356514 2147356653 0

3.8 /proc/N/status 进程状态信息,比stat/statm更具可读性

# cat   /proc/153/status
Name:   APP1
State:  S (sleeping)
Tgid:   153
Pid:    153
PPid:   1
TracerPid:      0
Uid:    0       0       0       0
Gid:    0       0       0       0
FDSize: 32
Groups:
VmPeak:    13720 kB
VmSize:    13720 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      1584 kB
VmRSS:      1576 kB
VmData:     8376 kB
VmStk:       136 kB
VmExe:        36 kB
VmLib:      4300 kB
VmPTE:        16 kB
VmSwap:        0 kB
Threads:        2
SigQ:   1/456
SigPnd: 00000000000000000000000000000000
ShdPnd: 00000000000000000000000000000000
SigBlk: 00000000000000000000000000000000
SigIgn: 00000000000000000000000000001006
SigCgt: 00000000000000000000000180000000
CapInh: 0000000000000000
CapPrm: 0000001fffffffff
CapEff: 0000001fffffffff
CapBnd: 0000001fffffffff
Seccomp:        0
Cpus_allowed:   1
Cpus_allowed_list:      0
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        16359
nonvoluntary_ctxt_switches:     284

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值