栏目分类
系统管理 | 安装启动 | xwindow | 基础知识 | 存储备份 | 内核技术 | 桌面应用 | 设备驱动 | Linux汉化 | 系统管理 | PAM认证 | drivers | rpm | quota | 灾难恢复
Linux数据库 | oracle | 数据库理论 | MYSQL | PostGreSQL
网络管理 | ssh | ntp | nis技术 | 多媒体 | dhcp | 网络基础 | ldap | 美化汉化 | proxy | samba | bind | iptables | 集群 | nfs | cvs | ftp服务 | email | 网络配置 | 网络安全 | apache | vpn | 网络管理 | Linux服务器 | Linux安全 | subversion | 网络监控
编辑工具 | emacs | vi | eclipse
linux新手入门 | 指令大全 | 输入法类 | Linux安装 | 常用命令 | 软件使用
发行版 | 其它Unix | bsd | Gentoo/lFS | windows | solaris | IBM | debian
其他 | 非技术类 | 业界动态 | 小说笑话 | 杂项工具 | 速度优化 | Linux认证 | 资讯动态 | 办公自动化 | xml | vc | 学习方法 | 手机技巧
Linux编程 | shell | python | 编程技术 | kernel | C/C++编程 | Python编程 | Perl编程 | PHP编程 | discuz | java/jsp | zope | html技术
排行榜
·linux一句话精彩问答
·最新linux下载地址
·tar和gzip
·如何安装和使用wine
·linux入门教程
·linux常见问题
·在VMware安装RedHat新手教程
·unix基础教程
·BIOS知识大全
·/etc/fstab释疑
·/dev/null是什么设备
·linux文件系统基础
·用nero刻录系统光盘及MD5校验
·使用mc恢复被删除文件
·Linux下的中文显示和支持常见问题解答
·Linux内存使用的体会
·linux入门教程(1)
·全面卸载linux并删除它的分区
·个人linux总结
·什么是MIS

    您现在的位置: Linux宝库 >> Linux >> 系统管理 >> 基础知识 >> 文章正文
当前Linux系统运行的各种参数
Linux宝库 收集整理  作者:Linux宝库  时间:2008-05-09  收藏本站
来自:http://doc.linuxpk.com/81130.html
联系:linuxmine#gmail.com
分类:[基础知识]

1、CPU

在文件”/proc/stat”里面就包含了CPU的信息。每一个CPU的每一 tick用在什么地方都在这个文件里面记着。后面的数字含义分别是: user、nice、sys、idle、iowait。有些版本的kernel没有iowait这一项。这些数值表示从开机到现在,CPU的每tick用 在了哪里。例如:

cpu0 256279030 0 11832528 1637168262

就是cpu0从开机到现在有 256279030 tick用在了user消耗,11832528用在了sys消耗。所以如果想计算单位时间(例如1s)里面CPU的负载,那只需要计算1秒前后数值的差除 以每一秒的tick数量就可以了。gkrellm就是这样实现的:((200 * (v2 - v1) / CPU_TICKS_PER_SECOND) + 1) /2

 

例如,第一次读取/proc/stat,user的值是256279030;一秒以 后再读一次,值是256289030,那么CPU在这一秒的user消耗就是:((200 * (256289030 - 256279030) / CPU_TICKS_PER_SECOND) + 1) /2 = ((10000 * 200 / 1000000) + 1) / 2 = 1%了。

 

2、内存消耗

文件”/proc/meminfo”里面包含的就是内存的信息,还包括了swap的信息。例如:

$ cat /proc/meminfo

total: used: free: shared: buffers: cached:

Mem: 1057009664 851668992 205340672 0 67616768 367820800

Swap: 2146787328 164429824 1982357504

MemTotal: 1032236 kB

MemFree: 200528 kB

MemShared: 0 kB

……

不过从gkrellm的源代码看,有些版本没有前面那两行统计的信息,只能够根据下面的Key: Value这种各式的数据收集。

 

3、磁盘空间

从gkrellm的源代码看,这个是一个很复杂的数据。磁盘分区的数据有可能分布 在:/proc/mounts、/proc/diskstats、 /proc/partitions等等。而且如果想要检查某几个特定的路径,还需要通过mount、df等命令的帮助。为了减少麻烦,这个数据我就直接用 statfs函数直接获得了。

int statfs(const char *path, struct statfs *buf);

这个函数只需要输入需要检查的路径名称,就可以返回这个路径所在的分区的空间使用情况:

总空间:buf.f_bsize * buf.f_blocks

空余空间:buf.f_bsize * buf.f_bavail

 

4、磁盘I/O

磁盘I/O的数据也同样比较复杂,有些版本看/proc/diskstats,有些版本看/proc/partitions,还有些版本至今我也不知道在那里看……不过可以看到数据的版本也像CPU那样,需要隔一段时间取值,两次取值的差就是流量。

 

5、网络流量

网络流量也是五花八门,不过基本上都可以在/proc/net/dev里面获得。同样也是需要两次取值取其差作为流量值。

本文来自:http://doc.linuxpk.com/81130.html
发表您的高见!

·上一篇:
Linux ext2/ext3文件系统详解
·下一篇:Linux系统下临时文件TMP清理
 
     最新更新
·openSUSE10、SUSE EVAL10和SUSE10的区别
·用Jigdo下载Debian光盘
·Debian双击挂载Windows分区
·Linux下hosts、host.conf、resolv.conf的区别
·介绍两款超级小的linux,可以安装在u盘里玩
·在浏览系统文件时偶尔发现的:ReadMe.debian
·几个重要的RedHat Linux内核文件详细介绍
·Linux下系统温度等的监控与调整
·MIT-pthreads注意事项
·对fedora9的小抱怨
·投靠Linux第一步 Windows数据向Linux迁移(7)
·投靠Linux第一步 Windows数据向Linux迁移(6)
·投靠Linux第一步 Windows数据向Linux迁移(5)
·投靠Linux第一步 Windows数据向Linux迁移(4)
·投靠Linux第一步 Windows数据向Linux迁移(3)
·投靠Linux第一步 Windows数据向Linux迁移(2)
·投靠Linux第一步 Windows数据向Linux迁移(1)
·debian登陆提示信息
·cramfs根文件系统的使用
·ubuntu8.04下USB转UART接口的使用
·centos下进入单用户模式
·centos5.1挂载ntfs分区
·解决Fedora 8中的设备权限问题
·Fedora8中修改磁盘卷标
·Linux 终端操作之简要快速指南
·红旗Linux下xxx is not in the sudoers file的解决方法
·Linux释放cache内存
·释放linux系统的内存
·Linux文件系统 一分钱一分货
·最新ubuntu7.04体验