Linux proc目录详解

2023-05-16

目录

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux proc目录详解 的相关文章

  • QT 线程,实现生产者-消费者模式

    一 两种启动线程方式 xff1a 1 QThread 2 QObject moveToThread 函数 可以让 调用者的 槽中的代码 xff0c 在单独的线程执行 注 xff1a 如果该对象有 父对象 xff0c 那么它无法被移动 二 线
  • 【easyui学习笔记】3.easyui布局之边框布局

    学习参考 xff1a EasyUI 为网页创建边框布局 建设稍微实用点的界面都离不开布局 xff08 layout xff09 xff0c 我们先来了解最简单的一种布局 xff1a 边框布局 xff08 border layout xff0
  • Android的四种启动模式以及onNewIntent方法

    前言 想起来写这个是因为之前在开发过程中遇到在onStart 方法中使用getIntent 方法无法获取到启动activity时传入的数据 xff0c 也是纳闷了很久 xff0c 然后就决定好好看一下这个地方 xff0c 本文章会结合简单的
  • selenium webdriver 页面css和xpath定位

    对于html来说 xff0c 不管用什么浏览器打开 xff0c 他的架构是不变的 xff0c 所以对于编写自动化测试程序来说 xff0c 基于什么浏览器开发 xff0c 差异不大 xff0c 所以这里推荐使用chrome 65或以后版本浏览
  • Ubuntu 18.04 +Nvidia gtx 1650 显卡驱动安装

    1 Adding this PPA to your system You can update your system with unsupported packages from this untrusted PPA by adding
  • 详解https请求Nginx转发tomcat变成http问题

    概述 分享一个最近处理的nginx转发问题 xff0c 简单记录下 一 问题现象 简单架构为nginx做负载均衡 xff0c 后端用tomcat做容器 浏览器和 Nginx 之间走的 HTTPS 通讯 xff0c 而 Nginx 到 Tom
  • Zookeeper启动出现闪退问题解决

    1 检查环境变量是否配置了JAVA HOME xff0c 若是没有配置 xff0c 需配置才可以 xff08 由于zkEnv cmd文件中使用了JAVA HOME xff09 2 打开zkEnv cmd文件 xff0c 加上pause xf
  • WIN10下全新的部署和映像处理工具DISM

    DISM xff08 Deployment Image Servicing and Management xff09 就是部署映像服务和管理 DISM exe 用于安装 卸载 配置和更新脱机 Windows R 映像和脱机 Windows
  • 富文本显示不全自动省略

    使用富文本时 xff0c 文字一行 xff08 n行 xff09 显示不全 xff0c 末尾文字省略 简介 CGSize maxSize 61 CGSizeMake MAX MAXFLOAT 调整行间距 NSMutableParagraph
  • 普通用户安装管理Keepalived

    普通用户安装管理Keepalived 介绍安装授权给普通用户修改配置文件keepalived 配置检测脚本配置普通用户启动keepalived 介绍 负载均衡 Load Balance xff0c 简称LB 是一种服务或基于硬件设备等实现的
  • Arch Linux 安装小记

    Arch Linux 安装小记 这只是一篇随笔 xff0c 用来记录从全新安装 Arch Linux 开始 xff0c 到在使用过程中各种软件配置的过程 其实对于 Arch Linux 这样滚动更新的 Linux xff0c 很少需要重新安
  • Java Collections的min和max方法

    方法一 public static lt T extends Object amp Comparable lt super T gt gt T min Collection lt extends T gt coll 此方法需要传入一个实现了
  • 【高效工作】Sublime Text 3 美化

    参考 xff1a 炫酷的sublime text3主题 准备一个良好的工作环境会让人更加乐于工作 xff0c 现代的程序猿都有一颗geek的心 xff0c 谁能忍受整天在一个丑陋的UI下coding xff1f xff01 所以今天就简单介
  • oom killer &lmkd killer

    目录 oom killer amp reaper task 进程内存回收 杀进程内存回收 lmkd killer psi vmpressure 事件通知 内核psi 实现 内核vmpressure oom killer amp reaper
  • O 上新增 TaskSnapshot

    任务快照 https source android google cn devices tech perf task snapshots examples and source android P https developer andro
  • 2021.08.29_Android_设备配置改变和Activity处理

    Android设备那些配置会改变 xff1f 34 mcc 34 IMSI 移动国家 地区代码 MCC 发生了变化 检测到了 SIM 并更新了 MCC 34 mnc 34 IMSI 移动网络代码 MNC 发生了变化 检测到了 SIM 并更新
  • arcolinux使用i3wm窗口管理器

    arcolinux使用i3wm窗口管理器 i3wm手册 安装i3 一条命令 sudo pacman S i3 然后在arcolinux里面自己选择窗口管理器 arcolinux的文件管理器默认是 dolphin Dolphin使用就是直接
  • 我的 archinstall 使用手册

    我的 archinstall 使用手册 1 使用放大字体 xff0c 保护你的眼睛 archlinux 里面 tty 默认的字体是非常小的 setfont usr share kbd consolefont LatGrkCyr 12x22
  • Spring配置详解

    Spring 配置详解 1 配置bean元素 基本属性 lt 配置bean元素 name xff1a 给对象起个名字 class 类的完整路径 id 唯一 里面不初选特殊字符 struts sadfAction gt lt bean nam
  • 企业微信公众账号自定义应用模块中撤回历史消息的方法

    企业微信 xff0c 公众账号自定义应用模块中撤回历史消息的方法 注意 xff1a 此方法适用于撤回超过24小时的历史消息 下载这个工具 xff1a postman xff1a http www downza cn soft 205171

随机推荐

  • windows的BAT或者linux的VI下批量更改替换文件名的脚本

    windows 的BAT 或者linux 的VI 下批量更改替换文件名的脚本 本来离开写脚本有些日子了 xff0c 倒是现在有些文件处理或者EXCEL 工作簿要处理的话 xff0c 还是会用简化流程来处理 脚本函数则帮我解决了很多麻烦事 昨
  • 室内定位技术及机场方案建议

    室内定位技术发展现状 在1996年左右 xff0c 美国联邦通信委员会 xff08 FCC xff09 要求移动运营商为移动电话用户提供E 911 xff08 紧急救援 xff09 服务 1999年 xff0c FCC又对定位精度做出新的要
  • 如何让ActiveXObject( "Microsoft.XmlDom ")对象在非IE浏览器下显示数据?firefox(火狐)

    在IE浏览器下 xff0c xmlDom对象一般这样被定义 xff1a var xmlDom 61 new ActiveXObject 34 Microsoft XMLDOM 34 为了兼容Firefox xff0c 需要修改为 xff1a
  • 【easyui学习笔记】4.动态添加标签页

    参考 xff1a EasyUI 动态添加标签页 xff08 Tabs xff09 1 静态添加标签页 xff08 tabs xff09 静态添加标签页十分简单 xff0c 使用class属性为easyui tabs的div即可 xff0c
  • BIM+GIS建设与运维管理工作建议

    背景 xff1a BIM 43 GIS项目的建设意见 xff0c 就弱电的建设和运维方向提出相关需求 xff1b 在BIM模型建设时期 xff0c 面向弱电专业的建设建议 参考行业规范 xff1a 在机场工程项目的建设阶段 xff0c 各参
  • 修改svn默认端口

    Subversion有两种不同的配置方式 xff0c 一种基于它自带的轻量级服务器svnserve xff0c 一种基于非常流行的Web服务器Apache 根据不同的配置方式 xff0c Subversion使用不同的端口对外提供服务 基于
  • 项目、系统开发中的需求分析说明书和需求规格说明书的区别

    项目组成员在针对要开发的系统做需求调研后 xff0c 就要编写对应的需求说明书 作为软件工程师 xff0c 你就得知道需求分析说明书和需求规格说明书的区别 xff0c 以期在正确的时候编写正确的需求文档 两者有何不同 xff1a xff08
  • C/C++内存管理详解[转载]

    我觉得这是一篇很不错的文章 xff0c 对C和C 43 43 的程序员来说 xff0c 很有实用价值 xff0c 故推荐给大家 作者 xff1a PingPong 文档来源 xff1a CSDN 伟大的Bill Gates 曾经失言 xff
  • 项目启动会应该注意的几点

    摘要 xff1a 开个好头 xff0c 万事不难 项目启动会作为项目建设生命周期的开始 xff0c 其意义和难度不言而喻 作为项目管理办公室的负责人 xff0c 需要特别重视项目启动会的召开 xff0c 杜绝走过场 xff0c 避免虽然知道
  • 飞机的航班代码/航班号码的编号规则

    以下内容来源于网络 xff0c 并整理而得 一 国内航班 中国国内航班号的编号规则 xff1a 航空公司的两字代码 43 4位数字 其中 xff0c 后面四位数字的第一位代表航空公司的基地所在地区 第二位代表航班基地外终点所在地区 xff0
  • 机场生产运行数据统计指标-第四篇-机场运行保障类

    机场运行保障类 1 民航航班正常统计 1 1 统计说明 xff08 1 xff09 统计范围的相关说明 xff1a 1 民航航班正常统计范围 xff1a 国内外运输航空公司执行的客货运航班 xff0c 包括正班 加班 包机 港澳台地区及国际
  • Python入门学习--环境配置

    工作将近两年了 xff0c 做过B S结构的项目 xff0c 也做过android xff0c 也做过C S结构的项目 xff0c 相信无论是那种项目都是基于Java 学习运用Java也已经好多年了 xff0c 虽然也接触过C C 43 4
  • Python入门学习-数据类型

    一 类型的概念 首先 xff0c 对于一个数据1011100 xff0c 改怎么解释呢 xff1f 同Java等变成语言类型 xff0c 首先我们要明确数据的类型 xff0c 程序设计语言不允许语法歧义 xff0c 因此需要明确数据的类型
  • 流年似水 启航2019

    凌晨1点无意间看到一个演讲视频 感谢你给我机会上场 xff0c 很久之前的一个演讲视频 xff0c 看完除了羡慕还是羡慕吧 xff0c 也许就是一句话吧 xff0c 开挂的人生不需要解释 30多年的生活他做了很多事 xff0c 也做成了很多
  • 使用Python代码下载网易音乐歌曲

    刚刚写了一堆 xff0c 最终放弃了 xff0c 后来百度查找到一个接口 xff0c http music 163 com song media outer url id 61 这里填歌曲id mp3 这个URL就可以下载了 xff0c 现
  • Spring是如何管理Bean

    常常听老师说容器 xff0c 容器是什么 xff1f spring中是如何体现的 xff1f 一直有疑惑 xff0c 这两天看了一下Spring管理bean的Demo xff0c 对于Spring中的容器有了简单的认识 我们知道 xff0c
  • Python如何用TKinter搭建图形界面窗口,并通过多进程的方式调用功能函数

    用Python开发图形界面和程序时 xff0c 经常会对图形界面的搭建感到失望 xff0c 或许是由于对图形界面不熟悉的原因吧 xff0c 总之一想到图形界面 xff0c 就感觉会很费时 费力 xff0c 编程的积极性大幅下降 最近 xff
  • 巧用 Matplotlib 动画,让你的 Python 可视化大放异彩

    柠檬2069 点击右侧关注 xff0c 遇见更好的自己 xff01 巧用 Matplotlib 动画 让你的 Pyt
  • ubuntu里设置从串口登录

    1 Create a file called etc init ttyS0 conf containing the following ttyS0 getty This service maintains a getty on ttyS0
  • Linux proc目录详解

    目录 1 什么是proc 2 proc目录介绍 2 1 proc cpuinifo CPU的信息 型号 家族 缓存大小等 2 2 proc meminfo物理内存 交换空间 2 3 proc mounts 已加载的文件系统的列表 2 4 p