/Proc/详解

















判断采集的数据根据|c计算的每秒均值是否符合真实值









/proc/stat

user( 从系统启动开始累计到当前时刻,处于用户态的运行时间,不包含 nice值为负的进程)

system(从系统启动开始累计到当前时刻,处于核心态的运行时间)

nice(从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间)

idle(从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间)

iowait(从系统启动开始累计到当前时刻,IO等待时间)

irq(从系统启动开始累计到当前时刻,硬中断时间)

softirq(从系统启动开始累计到当前时刻,软中断时间)

stealstolen(在虚拟化环境中运行时处理系统的时间)

guest(Linux内核控制下为客户机操作系统运行虚拟CPU的时间)







cup.busy

CPU忙碌百分比,在程序中新建一个数组计算当天系统的累积量和前一个时刻记录的差值,计算出idle的变化值占总值的百分率,然后用100-结果。数组的更新频率为1S














cpu.idle

CPU空闲百分比,计算两个时刻点idle的变化值和Total变化值的比值














cpu.iowait

IO等待百分比,计算两个时刻点iowait的变化值和Total变化值的比值














cpu.user

在用户级别(应用程序)执行时CPU占用率的百分比














cpu.nice

在优先级高的用户级别执行时CPU占用率的百分比














cpu.system

在系统级别(内核)执行时CPU利用率的百分比。














cpu.irq

CPU用于服务硬件中断所花费的时间百分比














cpu.softirq

CPU用于服务软件中断的时间百分比














cpu.steal

在虚拟机管理程序正在维护另一个虚拟处理器时虚拟CPUCPU的非自愿等待所花费的时间百分比














cpu.guest

CPU用于运行虚拟处理器的时间百分比。














cpu.switches

cpu上下文切换次数,计数器类型




























/proc/diskstats

设备号

次设备号

设备名称

成功完成读的总次数

合并读次数

读扇区的次数

读花的时间

IO的当前进度

输入输出花的时间

输入/输出操作花费的加权毫秒数


disk.io.read_requests

读完成的次数














disk.io.read_merged

合并读次数














disk.io.read_sectors

读扇区次数














disk.io.msec_read

disk读花费的时间,按照采集频率实时获取文件记录














disk.io.write_requests

写完成次数














disk.io.write_merged

写合并次数














disk.io.write_sectors

写扇区次数














disk.io.msec_write

disk写花费的时间,按照采集频率实时获取文件记录














disk.io.ios_in_progress


IO的当前进度,每次按照采集频率实时获取文件记录














disk.io.msec_total

ios_in_progress> = 1的时间














disk.io.msec_weighted_total

最近的IO完成测量完成数














disk.io.read_bytes

IO读取的数量














disk.io.write_bytes

磁盘写数量














disk.io.avgrq_sz















disk.io.avgqu-sz















disk.io.await















disk.io.svctm















disk.io.util





























/proc/loadavg

1分钟内的平均进程数

5分钟内的平均进程数

15分钟内的平均进程数

当前进程数/总进程数

最近运行的进程ID











load.1min

1分钟内的平均进程数,实时读取文件匹配对应内容














load.5min

5分钟内的平均进程数,实时读取文件匹配对应内容














load.15min

15分钟内的平均进程数,实时读取文件匹配对应内容




























/proc/meminfo

采集项














mem.memtotal

总的内存














mem.memused

总的内存使用量














mem.memfree

总的内存可用量














mem.swaptotal

总的交换空间内存














mem.swapused

交换空间使用量














mem.swapfree

交换空间剩余量














mem.memfree.percent

内存空闲百分比














mem.memused.percent

内存使用百分比














mem.swapfree.percent

交换空间空闲百分比














mem.swapused.percent

交换空间使用百分比




























/proc/net/netstat

动态监控网卡流量情况















TcpExt.PruneCalled


慢速路径中,如果不能将数据直接复制到user space,需要加入到sk_receive_queue前,会检查receiver side memory是否允许,如果rcv_buf不足就可能prune ofo queue。此时计数器加














TcpExt.LockDroppedIcmps

接收到ICMP错误报文,但tcp socketuser锁住














TcpExt.ArpFilter

TCP无关,接收到ARP packet时做一次输出路由查找(sip, tip),如果找到的路由项的device与输入device的不同,计数器加1














TcpExt.TW

TIME_WAIT超时的socket数量














TcpExt.DelayedACKLocked

三路握手最后一步完全之后,Accept queue队列超过上限时加1














TcpExt.ListenDrops

任何原因,包括Accept queue超限,创建新连接,继承端口失败等,加1














TcpExt.TCPPrequeueDropped

 如果因为内存不足(ucopy.memory < sk->rcv_buf)而加入到prequeue失败,重新由backlog处理,计数器加1














TcpExt.TCPTSReorder

Recovery状态时,接收到到部分确认(snd_una < high_seq)时但已经undo完成(undo_retrans == 0)的次数。 数量上与TCPPartialUndo相等。














TcpExt.TCPDSACKUndo

Disorder状态下,undo完成(undo_retrans == 0)的次数。














TcpExt.TCPLoss















TcpExt.TCPLostRetransmit

根据SACK数据推测出的重段包丢失计数器:在tcp_sacktag_write_queue()->tcp_mark_lost_retrans()如果发现tcp_highest_sack_seq(tp)超过某skb在重传时的snd_nxt(TCB->ack_seq),就认为这个重传包已经丢失了,加1(加的不是段数)。tcp_highest_sack_seq(tp)是被SACK过的具有最高SEQ号的skbseq














TcpExt.TCPLossFailures

 icsk_retransmit==0(第一次进入重传状态)并且处于Loss状态下,计数器加1














TcpExt.TCPFastRetrans

快速重传次数














TcpExt.TCPTimeouts

RTO timer中,从CWR/Open状态下第一次超时的次数,其余状态不计入这个计数器。SYN-ACK的超时次数














TcpExt.TCPSchedulerFailed

delay ACK处理功能内,如果prequeue中仍有数据,计数器就加1














TcpExt.TCPAbortOnMemory

在执行tcp_close()/probe timer/keepalive timer时,orphan sockets数量和tcp_memory_allocated是否超过最大值的次数。














TcpExt.TCPAbortOnTimeout

timer到达最大重试次数或者最长重试时间的次数














TcpExt.TCPAbortFailed

 alloc_skb()或者tcp_transmit_skb()失败














TcpExt.TCPMemoryPressures

在从非压力状态切换到有压力状态时计数器加1














TcpExt.TCPSpuriousRTOs

如果frto_counter !=0 && frto_counter != 1加1














TcpExt.TCPBacklogDrop

如果socketuser锁住,后退一步内核会把包加到sk_backlog_queue,但如果因为sk_rcv_buf不足的原因入队失败,计数器加1














TcpExt.TCPMinTTLDrop

在接收到TCP报文或者TCP相关的ICMP报文时,检查IP TTL,如果小于socket option设置的一个阀值,就丢包




























/proc/net/dev

通过/proc/net/dev分析网络包量,流量,错包,丢包















net.if.in.bytes

网络接受的字节数














net.if.in.packets

正确接受的包数量














net.if.in.errors

错误接受的包数量














net.if.in.dropped

丢弃的包数量














net.if.in.fifo.errs















net.if.in.frame.errs















net.if.in.compressed















net.if.in.multicast















net.if.out.bytes

网络发送的包数量














net.if.out.packets

网络正确发送的包数量














net.if.out.errors

网络发送错误的包数量














net.if.out.dropped

网络发送丢弃的包数量














net.if.out.fifo.errs















net.if.out.collisions















net.if.out.carrier.errs















net.if.out.compressed















net.if.total.bytes

总的收发字节数














net.if.total.packets

总的收发正确的包数量














net.if.total.errors

总的错误包数量














net.if.total.dropped

总的丢弃的包数量














net.if.speed.bits

网络速度














net.if.in.percent

收到的包的百分比














net.if.out.percent

发出的包的百分比




























/proc/sys/fs/file-max
















kernel.maxfiles

file-max指定了系统范围内所有进程可以打开的文件句柄的数量限制




























/proc/sys/kernel/pid_max
















kernel.maxproc

进程编号允许的最大值




























/proc/sys/fs/file-nr

系统文件句柄的信息















已分配的句柄数目

已分配但是未使用的句柄数目

文件句柄的最大数目













kernel.files.allocated

已分配的句柄的树木














kernel.files.left

已分配但是未使用的句柄数目




























/proc/net/snmp

各层网络协议的收发包的情况















snmp.Udp.InDatagrams

输入的数据报数量














snmp.Udp.NoPorts

未知端口接收数据包














snmp.Udp.InErrors

本机端口未监听之外的其他原因引起的UDP入包无法送达(应用层)目前主要包含如下几类原因: 1.收包缓冲区满 2.入包校验失败 3.其他














snmp.Udp.OutDatagrams

udp发包量














snmp.Udp.RcvbufErrors

接收缓冲区溢出的包量














snmp.Udp.SndbufErrors

发送缓冲区溢出的包




























/proc/mounts

已加载的文件列表















挂载点

挂载点路径

挂载点类型

挂载点读写模式

占位符

占位符










df.bytes.total

磁盘总大小














df.bytes.used

磁盘已用大小














df.bytes.free

磁盘可用量,int64














df.bytes.used_percent

磁盘已用大小占总量的百分比














df.bytes.free_percent

磁盘可用量占总量的百分比














df.inodes.total

inode总数














df.inodes.used

已用的inode数据














df.inodes.free

可用inode数目














df.inodes.used_percent

已用inode占比














df.inodes.free_percent

可用inode占比














df.statistics.total















df.statistics.used















df.statistics.used.percent














你可能感兴趣的:(Linux)