目录
2.1 /proc/cpuinifo CPU的信息(型号、家族、缓存大小等)
2.5 /proc/filesystems 被支持的文件系统
2.8 /proc/cmdline 系统启动时输入的内核命令行参数
2.10 /proc/sys/kernel/ostype 操作系统类型
2.11 /proc/sys/kernel/osrelease 内核版本
2.12 /proc/sys/kernel/hostname 主机名
2.13 /proc/partitions 硬盘设备分区信息
3.6 /proc/N/fd 包含进程相关的所有的文件描述符
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: kB VmallocTotal: kB VmallocUsed: 3116 kB VmallocChunk: 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 0xc0 libcomposite 27010 2 usb_f_printer,g_printer, Live 0xc0 thermal_printer_nt310 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,n8 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 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 448 0 4 0 84 182 0 0 20 0 2 0 454 394 0 0 4102 0 0 0 18 0 0 0 0 0 0 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: 00000000000000000000000 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
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208962.html原文链接:https://javaforall.net
