Linux-/proc目录简介
Linux /proc目录简介
1.简单了解
以文件系统的方式为访问系统内核数据的操作提供接口
由linux内核提供:通过/proc文件系统,在运行时访问内核内部数据结构、改变内核设置的一种机制
proc文件系统是一个虚拟文件系统,只存在于内存当中,而不占用外存空间。
用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息是动态改变的(如进程),所以用户和系统程序读取proc时,proc文件系统是动态从内核读出所需信息并提交的。
2.proc下面的文件或子文件夹
proc下面的文件或文件夹取决于内核配置和装载的模块。比较重要的三个目录如下:
sys:可写,通过它来访问或修改内核参数
net与scsi:依赖于内核配置,若系统不支持scsi,则scsi目录不存在
还有一些以数字命名的目录,属于进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的PID号为目录号,他们是读取进程信息的接口。
self目录就是读取进程本身的信息接口,是一个link,你可以去/proc目录下看一下,你会发现self软链的进程pid会变动。说明当前正在获取此pid的信息。
# ll self
lrwxrwxrwx 1 root root 0 8月 23 09:55 self -> 18728/
# ll self
lrwxrwxrwx 1 root root 0 8月 23 09:55 self -> 18729/
# ll self
lrwxrwxrwx 1 root root 0 8月 23 09:55 self -> 18730/
# ll self
lrwxrwxrwx 1 root root 0 8月 23 09:55 self -> 18731/
再来看看其他目录吧
buddyinfo:每个内存区中的每个order有多少块可用,和内存碎片问题有关
cmdline:启动时传递给kernel的参数信息
more cmdline
BOOT_IMAGE=/boot/vmlinuz-4.2.0-27-generic.efi.signed root=UUID=396873ff-c6f0-44ba-9c8f-a40e5e1c5c67 ro quiet splash vt.handoff=7
```
cpuinfo: cpu的信息
crypto:内核使用的所有已安装的加密密码及细节
devices:已经加载的设备并分类
dma:已注册使用的ISA DMA频道列表
execdomains:Linux内核当前支持的execution domains
fb:帧缓冲设备列表,包括数量和控制它的驱动
filesystems:内核当前支持的文件系统类型
interrupts:X86架构中每个IRQ中断数
iomem:每个物理设备当前在系统内存中的映射
ioports:一个设备输入输出所使用的注册端口范围
kcore:代表系统的物理内存,存储为核心文件格式,里面显示的是字节数,等于RAM大小加上4kb
kmsg:记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
loadavg:根据过去一段时间内cpu和io的状态得出的负载状态,与uptime命令有关
more loadavg
0.02 0.09 0.16 1/800 19755
root@ruanyang-HP-ProDesk-680-G2-MT:/proc# uptime
14:48:59 up 10 days, 4:53, 11 users, load average: 0.02, 0.09, 0.16
root@ruanyang-HP-ProDesk-680-G2-MT:/proc# ps -ef | grep 19755
root 19758 32401 0 14:49 pts/42 00:00:00 grep --color=auto 19755
```
- loadavg文件里面一共五个值,前三个值分别是前1分钟、5分钟、15分钟内的平均负载,第四个数表示当前运行的进程数与总进程数的比例,最后一个数字表示的是最近运行的进程id
- 系统平均负载:在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:
- 没有在等待I/O操作的结果
- 没有主动进入等待状态(就是没有调用wait)
- 没有被停止(eg:等待终止)
一般来讲,每个CPU内核当前活动进程数不大于3,则系统运行表现良好,这里说的是每个CPU内核,就是说如果主机是四核CPU的话,就是12个,当大于12的时候,系统负载就会很严重。最直接的表现就是特别慢,甚至出现卡死的情况。
locks:内核锁住的文件列表
mdstat:多硬盘,RAID配置信息
meminfo:RAM使用的相关信息
misc:其他的主要设备(设备号为10)上注册的驱动
modules:所有加载到内核的模块列表
mounts:系统中使用的所有挂载
mtrr:系统使用的Memory Type Range Registers (MTRRs)
partitions:分区中的块分配信息
pci:系统中的PCI设备列表
slabinfo:系统中所有活动的slab缓存信息
stat:所有的CPU活动信息
sysrq-trigger:
见博客sysrq-trigger的详解
参考文献:
linux中uptime命令查看linux系统负载
Linux-/proc目录简介的更多相关文章
- 添砖加瓦:Linux /proc目录简介
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系 ...
- [转帖]linux /proc目录下的文件为何无法用vi编辑保存
linux /proc目录下的文件为何无法用vi编辑保存 https://blog.51cto.com/xlogin/1216914 学习一下 之前看过书 这一点 没太仔细看.. xlogin关注8人 ...
- Linux下/proc目录简介
文章转载至:http://blog.csdn.net/zdwzzu2006/article/details/7747977 1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在 ...
- Linux下/proc目录简介(转)
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- linux下目录简介——/proc
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- [转]Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- linux /proc目录
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文 ...
- linux /proc目录说明(访问内核数据结构,修改内核设置)
1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...
- Linux /proc目录详解
Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过 ...
- linux proc目录和常用操作
------------------------------------------------/proc----------------------------------------------- ...
随机推荐
- iOS 组件化漫谈
1.准备工作 由于工程越来越大,里面的文件也越来越多.很多时候merge代码的时候工程文件起了冲突之后,若 .xcodeproj文件冲突 打开之后很难以修改. 架构其实相对开发来说还是比较难于下手的东 ...
- Android源码——应用程序的消息处理机制
Android应用程序在启动每个线程时,都会创建一个消息队列.线程的生命周期分为创建消息队列和进入消息循环两个阶段. 消息循环分为:发送消息和处理消息. Android系统主要通过MessageQue ...
- fastclick 源码注解及一些基础知识点
在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...
- OVGap iOS与Javascript交互(H5与原生APP交互)
源代码:https://github.com/windshg/OVGap OVGap:一个轻量级的类库,能够让iOS应用和远程网页的 Javascript 代码进行通信,也就是说,远程的 Javasc ...
- writing
1.作文类型和结构2.作文的四个评分标准3.作文的常用句型4.作文的逻辑观点 大作文分为几类:1.A类(Argument): 这类作文实际上是比较常见的,比如:Caring for children ...
- oracle中临时表是用来做什么的
oracle中临时表是用来做什么的 某些情况下, 需要 多个非常大的表关联的情况下, 但是需要检索的, 是少量的数据的时候.可以先把 大表的数据, 检索出那一小部分, 然后插入到 临时表中, 最后再关 ...
- 第八章 交互技术,8.1 VR电商购物(作者:宋五)
8.1 VR电商购物 前言 GM LAB在2016年3月成立,是一个旨在探索最新电商购物体验的实验室.在探索VR购物的过程中,有两个需要核心解决的问题:一个是VR购物的产品形态是什么,另一个是VR环境 ...
- zabbix安装
在服务器10.128.17.136上安装 1.安装mysql \# yum -y install mysql mysql-server mysql-devel MySQL 配置文件/etc/my.cn ...
- Oracle以15分钟为界,统计一天内各时间段的数据笔数
db.table替换为自己的表名,StartTime为date字段 select count(*), (case floor((to_char(StartTime,'mi'))/15) when 0 ...
- 关于TableView上有一段留白的解决方法
当cell的类型是plaint类型时 直接设置self.automaticallyAdjustsScrollViewInsets=NO; 还有要注意检查你自己设置的frame是否正确 当cel ...