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

LINUX如何获得当前CPU的占用率?

    来源: 互联网  发布时间:2015-05-15

    本文导语:  除了TOP命令可以查看CPU的占用率外 1.有实时记录CPU占用情况的日志文件吗? 2.有其它命令可以获得吗? 3.有底层的API函数可以调用吗? (因当前用一个BUSYBOX命令集,其中的TOP命令无法加入参数。而程序需要实时读取...

除了TOP命令可以查看CPU的占用率外
1.有实时记录CPU占用情况的日志文件吗?
2.有其它命令可以获得吗?
3.有底层的API函数可以调用吗?
(因当前用一个BUSYBOX命令集,其中的TOP命令无法加入参数。而程序需要实时读取当前CPU的占用率)

|
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;
}

struct CPU_USAGE 结构中的数据是从/proc/stat中获得的,需要你自己去读文件。

|
纠正一下:vmstat 1

    
 
 

您可能感兴趣的文章:

  • 请问:Linux下用C编程计算CPU利用率和内存利用率?
  • 如何获得Linux的CPU使用率
  • 跪求linux下CPU平均占用率获得方法
  • 请教:linux下有统计CPU的个数和CPU利用率的函数吗???(急!!!)
  • 请问我的linux的内存占用率怎么老是接近100%啊?
  • linux下程序启动后cpu占用率达到101%--102%
  • 有谁知道linux操作系统察看cpu使用率的命令,回答正确给高分,急,在线等待!!!
  • 在linux下如何将cpu和内存的使用率保存到mysql或者日志文件中?
  • 弱弱的问:如何得到某一时刻linux的cpu使用率以及使用曲线
  • linux取的cpu的占用率
  • 如何限制linux服务器用户cpu和mem的使用率
  • linux下如何获取cpu的利用率??或用什么系统调用?
  • 在linux下如何通过编程获得网络流量或cpu占用率?
  • 求助:java实现显示linux下的cpu占用率,内存使用情况,硬盘占用情况
  • 如何在Linux下实现取得虚拟内存的使用率?
  • linux多线程程序cpu占用率问题
  • 怎么样用程序取得Linux系统的CPU利用率和内存的使用情况呀?
  • 在linux下取系统信息,网卡带宽,内存使用率,CPU,I/O状态,网络状态的命令分别是什么?
  • Red Hat Linux 9在图形界面下内存使用率为什么很高?
  • linux中到底有没有获取CPU使用率的API?
  • 没有LINUX经验如何获得一份LINUX工作
  • linux下什么语言获得参数是~1
  • 如何获得linux下 命令行长度最长是多少?或者如何知道linux下,一个文件的一行最长是多少?
  • Linux下怎么用程序获得U盘盘符文件
  • 请教:如何在Linux下获得EDID信息
  • 如何获得linux系统中,usb设备的id
  • 急!在Linux下获得硬盘剩余空间的c函数是什么?
  • 在linux中,如何在程序中获得分辨率!
  • 如何获得Linux下所有顶层窗口的句柄,急急急!
  • Linux怎么获得局域网终其他windows机器的时间?
  • linux下如何获得一个目录下的文件数(包含子目录中的文件数)?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在LINUX下怎么查看CPU有多少个及CPU是多少G
  • 求意见如何在linux的应用软件中实现一个cpu调度框架,使得多个cpu调度算法可以在同一个系统中实现无缝整合?(分数不够还能再加)
  • 怎样让linux8.0认两个cpu
  • linux下cpu的问题?
  • 如何升级linux服务器至双CPU
  • 求助!!多谢帮忙!Linux上CPU的问题。
  • linux下通讯进程启动后cpu占用100%
  • 在 linux 下查看 cpu 温度的问题
  • Linux 如何判断cpu是否持续偏高
  • 双核cpu能否安装RedHat Linux9?
  • Linux提到指定区间的字符命令如何写(cpu MHz: 2262.000)
  • linux 7.3 在 cpu P4 1.7 的机器上安装问题/
  • linux下如何设置双cpu
  • 客户机linux用halt关机后主机CPU 100%问题?
  • 请问linux系统能不能限制用户的cpu使用上限
  • 关于LINUX SOCKET连接CPU占用问题
  • windows下死循环需要加sleep,否则CPU爆满, linux下呢?
  • 怎样以日志的形式记录Linux上CPU以及Memory的利用情况.
  • unix linux对cpu的种类有要求吗?
  • linux c程序运行cpu时间不包括 i/o时间
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 如何获得linux系统中,usb设备的id iis7站长之家
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


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

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

    浙ICP备11055608号-3