linux proc

/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。

/proc/cmdline

这个文件给出了内核启动的命令行。

/proc/cpuinfo

这个文件提供了有关系统CPU的多种信息。

/proc/devices

这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称。

/proc/dma

这个文件列出由驱动程序保留的DMA通道和保留它们的驱动程序名称。casade项供用于把次DMA控制器从主控制器分出的DMA行所使用;这一行不能用于其它用途。

/proc/filesystems

这个文件列出可供使用的文件系统类型,一种类型一行。虽然它们通常是编入内核的文件系统类型,但该文件还可以包含可加载的内核模块加入的其它文件系统类型。

/proc/interrupts

中断

/proc/net/dev

最左边的表示接口的名字,Receive表示收包,Transmit表示收包;

bytes表示收发的字节数;

packets表示收发正确的包量;

errs表示收发错误的包量;

drop表示收发丢弃的包量;

/proc/net/snmp

平均每秒新增TCP连接数

 

通过/proc/net/snmp文件得到最近240秒内PassiveOpens的增量,除以240得到每秒的平均增量 

机器的TCP连接数

 

通过/proc/net/snmp文件的CurrEstab得到TCP连接数

平均每秒的UDP接收数据报

 

通过/proc/net/snmp文件得到最近240秒内InDatagrams的增量,除以240得到平均每秒的UDP接收数据报。

平均每秒的UDP发送数据报

 

通过/proc/net/snmp文件得到最近240秒内OutDatagrams的增量,除以240得到平均每秒的UDP发送数据报。

  • InDatagrams:UDP收包量
  • NoPorts:未知端口接收数据包
  • InErrors:RFC4113描述:本机端口未监听之外的其他原因引起的UDP入包无法送达(应用层)目前主要包含如下几类原因: 1.收包缓冲区满 2.入包校验失败 3.其他
  • OutDatagrams:UDP发包量
  • RcvbufErrors:接收缓冲区溢出的包量
  • SndbufErrors:发送缓冲区溢出的包

 

/proc/stat

该文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。

第一行的数值表示的是CPU总的使用情况。

总的cpu时间totalCpuTime = user + nice + system + idle + iowait + irq + softirq + stealstolen + guest

/proc/<pid>

/proc/[pid]/environ显示进程的环境变量。

/proc/[pid]/limits显示当前进程的资源限制。

/proc/[pid]/maps显示进程的内存区域映射信息。

/proc/[pid]/syscall显示当前进程正在执行的系统调用。

/proc/[pid]/wchan显示当进程sleep时,kernel当前运行的函数。

/proc/[pid]/statm显示进程所占用内存大小的统计信息,包含七个值,度量单位是page(page大小可通过getconf PAGESIZE得到)。

/proc/[pid]/status包含进程的状态信息。

  • VmRSS:应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值
原文地址:https://www.cnblogs.com/shhnwangjian/p/7813175.html