首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>系统管理>正文

Linux下如何查看某一进程的CPU占用率

http://www.oklinux.cn  2007-04-25  来源:    会员收藏  游客收藏  【 】 

/proc下每个进程有一个目录,目录下的stat文件可以得到关于该进程的信息,比如:

# cat /proc/2122/stat

2122 (sshd) S 6599 2122 2122 0 -1 8448 1110 217 0 1 20 3 12 0 15 0 1 0 242306177 8482816 592 4294967295 134512640 134795532 3221224656 3221220240 4294960144 0 0 4096 73728 0 0 0 17 0 0 0

具体每一项的内容可以看man:

man 5 proc

cpu的占用率似乎并不能直接得到,你需要自己去计算,我猜想ps的做法是从/proc得到所有进程的信息,通过每个进程的运行时间,可以计算出某个进程的占用率

 

正好做过点这个,给你参考一下,恕未整理:

 

 

char buf[64];
    sprintf(buf,"/proc/%d/stat",pid);
    FILE* fid = fopen(buf,"r");
    if(fid){
    fscanf(fid,"%d %s %c %d %d %d %d %d %lu %lu "
    "%lu %lu %lu %lu %lu %ld %ld %ld %ld %ld "
    "%ld %ld %lu %lu %ld %lu %lu %lu %lu %lu",
     &pstat[0],buf,&pstat[2],&pstat[3],&pstat[4],&pstat[5],&pstat[6],&pstat[7],
    &pstat[8],&pstat[9],&pstat[10],&pstat[11],&pstat[12],&pstat[13],&pstat[14],&pstat[15],
     &pstat[16],&pstat[17],&pstat[18],&pstat[19],&pstat[20],&pstat[21],&pstat[22],&pstat[23],
     &pstat[24],&pstat[25],&pstat[26],&pstat[27],&pstat[28],&pstat[29],&pstat[30]);
     fclose(fid);
。。。。。
    ut = pstat[13];
    st = pstat[14];
    cut = pstat[15];
    cst = pstat[16];
。。。。。
   ts = time(NULL) - lasttime;
   百分比=(ut+st-sut-sst)/ts

上一篇:UNIX设置MySql数据同步 实现复制功能   下一篇:精彩全记录 推荐100个最佳的Linux站点


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·OpenSSL中对称加密算法的统一接口详解
·深入浅出 Linux字符设备驱动程序解析
·Linux系统环境下的高级隐藏技术介绍
·Linux操作系统下SAMBA服务的搭建过程
·Linux操作系统下NFS服务的搭建过程
·如何在非root状态下用root身份执行命令
·Samba服务典型的三种共享配置
·在RHEL4上的日志服务器配置案例解析
·Fedora Core6中IPtables日志管理技巧
·配置文件/etc/syslog.conf的实例解析
·让Linux操作系统可以Mount NTFS分区
·Linux AS4系统下LVM的使用详细解析
·如何在Subversion系统中运行hook脚本
·用Subversion软件进行个人文档管理
·linux的运行模式:Runlevel详细解析
·Linux系统启动引导程序配置文件解析
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·系统管理:如何禁止RHEL AS4的图形启动
·Windows和Linux Fedora8双系统安装过程
·Linux通过ndiswrapper安装无线网卡驱动
·Linux系统利用Crontab命令实现定时重启
·Ubuntu Linux系统设定服务自行开机启动
·在Linux系统下查看端口的使用情况及启
·Linux系统下安装Perl及Perl模块方法
·Qtopia应用程序与Linux内核数据通信介
·Ubuntu下NVIDIA驱动安装及3D桌面的设置
·修改VMware下Ubuntu界面分辨率过高问题
·在Linux系统下如何调整文件打开方式
·如何在Linux系统下更改文件使用权限
  阅读排行
·使用源代码将 Glibc 升级到 2.6
·Linux下推荐的常用应用程序列表
·使用 ActiveScaffold 增强 Ruby on Rai
·LVS集群学习笔记(NAT\DR\IP tunnel)
·什么是Linux?Linux与UNIX之间的关系
·防火墙也能DIY----免费的专业级防火墙M
·Linux系统邮件服务器常见错误报告列表
·应用:postfix邮件服务器安全策略
·提高Linux系统性能加速网络应用程序
·Linux用户(User)和用户组管理概述
·Linux操作系统的内核引导程序详细解析
·在 Linux on POWER 上利用透明大内存页
·linux下文件服务Vsftp详细介绍
· 快速架设apache/vsftpd/samba/sendmai
· Linux下Tomcat配置技巧详解分析
网摘收藏: