包括对proc根目录下stat,uptime,swaps三个文件的解析。

  • /proc/stat

文件包含了系统启动后的一些系统统计信息。

Cat /proc/stat:
cpu 77781 1077 7602 390390 13232 216 100 0 0
cpu0 77781 1077 7602 390390 13232 216 100 0 0
intr 401502 313 2041 0 2 1 0 0 0 3 0 0 0 323410 0 50372 0 0 0 0 0 0 24632 728 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 4495297
btime 1225100748
processes 6295
procs_running 2
procs_blocked 0

上面是我机子上的文件内容。
第一行的CPU是你所有CPU负载信息的总和。后面的CPUn(n是数字)表示你那个CPU的信息,我这里只有一个CPU,所以是CPU0。也就是说我的前两行信息相同。
其中的每一个数字代表一个相关信息,可以用如下数据结构表示:

struct cpu_info
{
U64 user;
U64 system;
U64 nice;
U64 idle;
U64 iowait;
U64 irq;
U64 softirq;
};

user : 从系统启动开始累计到当前时刻,用户态的CPU时间(单位:jiffies) ,不包含 nice值为负进程。1jiffies=0.01秒
nice: 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间(单位:jiffies)
system : 从系统启动开始累计到当前时刻,核心时间(单位:jiffies)
idle : 从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间(单位:jiffies)
iowait : 从系统启动开始累计到当前时刻,硬盘IO等待时间(单位:jiffies) ,
irq: 从系统启动开始累计到当前时刻,硬中断时间(单位:jiffies)
softirq : 从系统启动开始累计到当前时刻,软中断时间(单位:jiffies)
从2.6.11加了第8列stealstolen time:which is the time spent in other operating systems when running in a virtualized environment
从 2.6.24加了第9列 guest: which is the time spent running a virtual  CPU  for  guest operating systems under the control of the Linux kernel.

intr:这行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数,依次对应的是0号中断发生的次数,1号中断发生的次数……
ctxt:给出了自系统启动以来CPU发生的上下文交换的次数
btime:给出了从系统启动到现在为止的时间,单位为秒
processes:自系统启动以来所创建的任务的个数目
procs_running:当前运行队列的任务的数目
procs_blocked:当前被阻塞的任务的数目
可以从这个文件提取一些数据来计算处理器的使用率。
处理器使用率 :
从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处理器时间(idle)。它们均位于/proc/stat文件的第一行。CPU的利用率使用如下公式来计算。
CPU利用率   =   100   *(user   +   nice   +   system)/(user   +   nice   +   system   +   idle)

  • /proc/uptime

cjf@xiyoulinux-desktop:/proc$ cat uptime
6114.49 5070.61

2个数字的意义,第一个数值代表系统总的启动时间,第二个数值则代表系统空闲的时间,都是用秒来表示的。
由上面的显示来计算,开机1.698469444小时, 0.829277667%的时间都是空闲的。

  • /proc/swaps

这个文件显示的是交换分区的使用情况。例如我的机子上交换分区的情况如下:

cjf@xiyoulinux-desktop:/proc$ cat swaps
Filename Type Size Used Priority
/dev/sda2 partition 996020 37260 -1

看下面的英文解释:
/proc/swaps provides a snapshot of every swap file name(我的是/dev/sda2), the type of swap space(类型是:partition), the total size(我的交换分区总大小996020KB), and the amount of space in use (in kilobytes)(使用了37260KB).
The priority column is useful when multiple swap files are in use. The lower the
priority, the more likely the swap file is to be used.
如果有多个交换分区,如果它的优先级(priority)越小,越容易被使用。

from:http://www.kerneltravel.net/?p=300

proc文件系统探索 之 根目录下的文件[二]的更多相关文章

  1. proc文件系统探索 之 根目录下的文件[三]

    包括对proc根目录下meminfo文件的解析. > cat /proc/meminfo   读出的内核信息进行解释,下篇文章会简单对读出该信息的代码进行简单的分析. MemTotal: 507 ...

  2. proc文件系统探索 之 根目录下的文件[1]

    2.1根目录下的文件2.1.1lock文件内核锁,记录与被打开的文件有关的锁信息. 该文件显示当前被内核锁定的文件.该文件包含的内容是内核调试数据,根据使用的系统的这些数据会变化很大.一个/proc/ ...

  3. Linux系统根目录下各文件夹介绍

    参考自:[1]Linux 系统根目录下各个文件夹的作用 https://www.cnblogs.com/jiangfeilong/p/10538795.html[2]了解Linux根目录"/ ...

  4. asp.net在网站根目录下创建文件夹

    假设要在asp.net网站的根目录下建立文件夹hovertree,C#代码如下: string m_keleyiFolderName = Server.MapPath("/hovertree ...

  5. 【转】忙里偷闲写的小例子---读取android根目录下的文件或文件夹

    原文网址:http://www.cnblogs.com/wenjiang/p/3140055.html 最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还 ...

  6. 【转】读取android根目录下的文件或文件夹

    原文网址:http://my.oschina.net/Ccx371161810/blog/287823 读取android根目录下的文件或文件夹 SDK的操作 读取android根目录下的文件或文件夹 ...

  7. 用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载

    用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载,将一个完整的项目进行展示,主要有以下几个部分: 1.servlet部分   Export 2.工具类:TxtFileU ...

  8. 忙里偷闲写的小例子---读取android根目录下的文件或文件夹

    最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和 ...

  9. proc文件系统探索 之 以数字命名的目录

    在proc根目录下,以数字命名的目录表示当前一个运行的进程,目录名即为进程的pid.其内的目录和文件给出了一些关于该进程的信息. niutao@niutao-desktop:/proc/6584$ l ...

随机推荐

  1. win10下 github+hexo搭建个人博客.md

    我的博客地址 https://chenxianfu.github.io/ 遇到的坑 hexo 问题 4000端口打不开,可能端口占用,请输入一下命令 hexo server -p 4001 针对很多人 ...

  2. css befroe after 尾类技术器

    CSS counter计数器(content目录序号自动递增)详解 这篇文章发布于 2014年08月26日,星期二,15:54,归类于 css相关. 阅读 44148 次, 今日 11 次 by zh ...

  3. js 的作用域 域解析 分析

    作用域链   函数每次执行时,浏览器都会在函数中开启一个地方用来存储函数内的局部数据.(声明在函数内的局部变量),这个地方就叫做作用域([scopes])   作用域链 变量与函数的查找规则:当我们在 ...

  4. Log4j1.2配置详解

    Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志的输出到控制台,或者文件等等. 同时,在各大框架中也主要是使用log4j来进行日志的输出. 下面是log4j1.x版本的详细 ...

  5. [HNOI 2002]跳蚤

    Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个 ...

  6. POJ - 3264:Balanced Lineup

    ST表模版 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring&g ...

  7. 51 nod 1421 最大MOD值

    1421 最大MOD值 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 有一个a数组,里面有n个整数.现在要从中找到两个数字(可以 ...

  8. HDU 4641 K-string

    Description Given a string S. K-string is the sub-string of S and it appear in the S at least K time ...

  9. 51Nod 1781 跑的比谁都快

    香港记者跑的比谁都快是众所周知的常识. 现在,香港记者站在一颗有 n 个点的树的根结点上(即1号点),编号为 i 的点拥有权值 a[i] ,数据保证每个点的编号都小于它任意孩子结点的别号. 我们假定这 ...

  10. SPOJ DQUERY树状数组离线or主席树

    D-query Time Limit: 227MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Submit Status ...