当前位置:  技术问答>linux和unix

热贴:如何实现linux下软件对cpu的利用率??

    来源: 互联网  发布时间:2015-11-16

    本文导语:  struct   CPU_USAGE   结构中的数据是从/proc/stat中获得的, 目录下的文件中记录了许多进程信息,如何获得需要的进程信息,谢谢?? 如何获得cpu的利用率的算法,下面是一位高手查看linux系统cpu利用率的算法。那单...

struct   CPU_USAGE   结构中的数据是从/proc/stat中获得的, 目录下的文件中记录了许多进程信息,如何获得需要的进程信息,谢谢??
如何获得cpu的利用率的算法,下面是一位高手查看linux系统cpu利用率的算法。那单个软件所占用的cpu利用率的算法是什么呢?use_rate   =   (   1   -   idle   /   total   )   *   100改为
use_rate=(cpu_user+cpu_sys)/total*100,对么??谢谢~~
struct   CPU_USAGE
{
                unsigned   long   cpu_user;
                unsigned   long   cpu_sys;
                unsigned   long   cpu_nice;
                unsigned   long   cpu_idle;
};

double   Get_Cpu_Use_Rate(   const   struct   CPU_USAGE   *cur,   const   struct   CPU_USAGE   *old   )
{
double   user,   sys,   nice,   idle,   total;
double   use_rate;

user     =     (double)(cur->cpu_user   -   old->cpu_user);
sys       =     (double)(cur->cpu_sys     -   old->cpu_sys);
nice     =     (double)(cur->cpu_nice   -   old->cpu_nice);
idle     =     (double)(cur->cpu_idle   -   old->cpu_idle);

total   =     user   +   sys   +   nice   +   idle;
use_rate   =   (   1   -   idle   /   total   )   *   100;

return   use_rate;
}

double   Get_Cpu_Free_Rate(   const   struct   CPU_USAGE   *cur,   const   struct   CPU_USAGE   *old   )
{
double   user,   sys,   nice,   idle,   total;
double   free_rate;

user     =     (double)(cur->cpu_user   -   old->cpu_user);
sys       =     (double)(cur->cpu_sys     -   old->cpu_sys);
nice     =     (double)(cur->cpu_nice   -   old->cpu_nice);
idle     =     (double)(cur->cpu_idle   -   old->cpu_idle);

total   =     user   +   sys   +   nice   +   idle;
free_rate   =   (   idle   /   total   )   *   100;

return   free_rate;
}

|
论坛里搜cpu。

    
 
 

您可能感兴趣的文章:

  • 怎样实现利用fprintf,输出定长字串,位数不足时在左侧填入指定字符填充。。
  • 利用ftp,怎样在远程主机上实现类似cp的功能???
  • 求助!!!怎么实现micro2440利用独立的IP地址上互联网?
  • PXA270下利用IIS通道实现音频,重复启动死机问题求解
  • 如何利用ebtables实现Vlan Qos
  • 利用文件系统过滤驱动实现 类似还原卡功能 的原理是什么?
  • 网络技术 iis7站长之家
  • 如何利用gawk实现下列功能?
  • 利用smsmanager实现后台发送短信示例
  • C#利用反射来判断对象是否包含某个属性的实现方法
  • 我怎么利用smb实现与window的共享啊
  • 利用C++实现从std::string类型到bool型的转换
  • 菜鸟问题:请大家用简单的代码描述一下,如何利用接口实现多重继承!
  • 如何利用java实现屏幕拷贝的问题
  • 利用windows任务计划实现oracle的定期备份
  • 利用MySQL函数实现判断视频扩展名的代码
  • python利用elaphe制作二维条形码实现代码
  • 利用iptables实现简单路由的问题
  • 利用管道实现sudo命令免输入密码的方法
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下通过crond实现自动执行程序
  • Linux和Unix相对WIN、NETWARE有什么好处?他们之间有什么区别?WIN、NETWARE能实现的功能LINUX和UNIX能实现吗?
  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • linux下如实现与window下的驱动器实现文件共享??
  • Linux内存文件系统(ramdisk)的三种实现方式
  • windows 下的PortTunnel 在linux下怎么实现?或者相应的已经实现的软件?端口映射
  • linux内存文件系统ramfs实现原理
  • 在linux下如何编程实现nslookup命令实现的IP地址和域名互相转换的功能?
  • Linux 共享内存介绍及实现代码
  • 我需要一个模型,在 LINUX C 下。实现线程间的控制,执行,阻塞,再执行。。。。。不知道如何实现。
  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • 我想做linux下的还原备份,实现与还原精灵虚拟还原等一样的功能,应该怎么做?另外现在有实现这种功能的成熟产品是哪一种?
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 关于linux c程序实现自动实现telnet的问题
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 请问高手linux中用md5来实现一串字符串的加密,用c++/c实现
  • 在linux实现在任意给定的目录查找文需要的件的程序? 下面的实现思路可不可以呢????
  • 请问:有没有人在Linux下实现过计费网关?
  • 关于XP系统下批处理文件如何实现执行linux下脚本,从而实现版本的自动化编译
  • 如何在linux下实现event事件机制
  • Linux音频, Linux下能否实现 实时语音聊天 ?
  • 通过javascript实现DIV居中,兼容各浏览器版本
  • socket实现多文件并发传输,求助多线程实现问题?
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • interface 到底有什么用???实现接口,怎么实现??
  • 通过javascript库JQuery实现页面跳转功能代码
  • 怎么用Jsp实现在页面实现树型结构?
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 网站重定向用C语言实现iptables,ACL实现
  • php实现socket实现客户端和服务端数据通信源代码
  • 求在freebsd+Squid下实现pc上网的透明代理的实现方法!给出具体配置方法的高分谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3