Linux - 深入理解/proc及一些使用场景

文章目录前言背景一、二、使用场景1.文件恢复① 文件被删除时,有进程在访问2.文件被删除时,没有进程在访问总结前言本文主要关于Linux下/proc目录的理解及一些用法。背景在做YARN改造优化时,需要自动判断NM是否部署在docker上,采用的方法是读/proc/1/cgroup文件,发现在/proc下有很多对NM改造有用的信息如meminfo, cpuinfo,并且即使是root用户也是无法手动修改这些内容。一、示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任
摘要由CSDN通过智能技术生成


前言

本文主要关于Linux下/proc目录的理解及一些用法。

背景

在做YARN改造优化时,需要自动判断NM是否部署在docker上,采用的方法是读/proc/1/cgroup文件,发现在/proc下有很多对NM改造有用的信息如meminfo, cpuinfo,并且即使是root用户也是无法手动修改这些内容。

一、作用和意义

每个进程在/proc/下都有自己的文件夹,会存放一些环境变量、依赖、cgroup等等。
而/proc/中也有会meminfo、cpuinfo、diskstats等常用信息,也是我们熟知的free、top、iostat等工具的底层数据来源。

1. 目录解析

① /proc

-r--r--r--   1 root         root                  0 Feb 26 19:49 buddyinfo
cat buddyinfo 使用buddy算法解决物理内存的外碎片问题,用11个链表记录内存空余,大小为2的n次方的page,如Node 0第二列为915*(2^2)*PAGE_SIZE
Node 0, zone      DMA      1      1      0      1      1      0      0      0      1      1      3
Node 0, zone    DMA32    196   4546   2646   1914    457    143    126     34     11      1      0
Node 0, zone   Normal  11994    915      0      0      0      0      0      0      0      0      0
Node 1, zone   Normal  23136  47404  19481    683    114     51      4      0      0      0      0
dr-xr-xr-x   4 root         root                  0 Feb 26 19:49 bus
-r--r--r--   1 root         root                  0 Feb 26 19:49 cgroups
-r--r--r--   1 root         root                  0 Jun 22  2017 cmdline
内核启动的命令行,和/proc/PID/cmdline用于进程的cmdline项非常相似。
-r--r--r--   1 root         root                  0 Feb 26 19:49 consoles
-r--r--r--   1 root         root                  0 Feb 26 19:49 cpuinfo
cpu相关信息,每一颗的型号,制造商、型号、版本、频率等。
-r--r--r--   1 root         root                  0 Feb 26 19:49 crypto
内核使用的所有已安装的加密密码及细节
-r--r--r--   1 root         root                  0 Feb 26 19:49 devices
这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称
-r--r--r--   1 root         root                  0 Feb 26 19:49 diskstats

-r--r--r--   1 root         root                  0 Feb 26 19:49 dma
每个正在使用且注册的ISA DMA(Direct Memory Access)通道的信息列表
dr-xr-xr-x   2 root         root                  0 Feb 26 19:49 driver
-r--r--r--   1 root         root                  0 Feb 26 19:49 execdomains
当前支持的execution domains
-r--r--r--   1 root         root                  0 Feb 26 19:49 fb
帧缓冲设备列表,包括数量和控制它的驱动
-r--r--r--   1 root         root                  0 Feb 26 19:49 filesystems
内核当前支持的文件系统类型
dr-xr-xr-x   6 root         root                  0 Feb 26 19:49 fs
-r--r--r--   1 root         root                  0 Feb 26 19:49 interrupts
每个IRQ中断数,哪些中断正在使用和每个处理器各被中断了多少次
-r--r--r--   1 root         root                  0 Feb 26 19:49 iomem
每个物理设备当前在系统内存中的映射
-r--r--r--   1 root         root                  0 Feb 26 19:49 ioports
dr-xr-xr-x   3 root         root                  0 Feb 26 19:49 ipmi
dr-xr-xr-x 112 root         root                  0 Feb 26 19:49 irq
-r--r--r--   1 root         root                  0 Feb 26 19:49 kallsyms
-r--------   1 root         root    140737486266368 Feb 26 19:49 kcore
128T一个文件?kcore和其他文件一样只是一个虚拟文件,没有占用实际空间,它代表内核最多能分配的内存数。
-r--r--r--   1 root         root                  0 Feb 26 19:49 keys
-r--r--r--   1 root         root                  0 Feb 26 19:49 key-users
密钥相关
-r--------   1 root         root                  0 Feb 26 19:49 kmsg
内核日志,可以通过dmesg查看
-r--------   1 root         root                  0 Feb 26 19:49 kpagecount
-r--------   1 root         root                  0 Feb 26 19:49 kpageflags
-r--r--r--   1 root         root                  0 Feb 26 19:49 loadavg
cpu和io负载统计
-r--r--r--   1 root         root                  0 Feb 26 19:49 locks
这个文件包含在打开的文件上的加锁信息。文件中的每一行描述了特定文件和文档上的加锁信息以及对文件施加的锁的类型。内核也可以需要时对文件施加强制性锁。
-r--r--r--   1 root         root                  0 Feb 26 19:49 mdstat
磁盘RAID信息,没做raid:
Personalities :
unused devices: <none>
-r--r--r--   1 root         root                  0 Feb 26 19:49 meminfo
内存详细信息,YARN统计vmem、pmem就是读取这个文件,free命令也是
-r--r--r--   1 root         root                  0 Feb 26 19:49 misc
记录内核函数misc_regist
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值