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

怎么获取linux的cpu和内存占有率的数据??

    来源: 互联网  发布时间:2017-02-24

    本文导语:  我想自己写个命令,这个命令显示cpu和内存的使用情况,可是cpu和内存占用率的数据信息怎么获得?? | static int sysGetCpuTime (SYS_CPU_INFO_S *cpust) {        FILE *fd;            char buff[2...

我想自己写个命令,这个命令显示cpu和内存的使用情况,可是cpu和内存占用率的数据信息怎么获得??

|
static int sysGetCpuTime (SYS_CPU_INFO_S *cpust)
{   
    FILE *fd;       
    char buff[256]; 
    SYS_CPU_INFO_S *cpu_occupy;
    cpu_occupy=cpust;
                                                                                                               
    fd = fopen("/proc/stat", "r"); 
    if(!fd)
        return ERROR;
    fgets (buff, sizeof(buff), fd);    
    sscanf (buff, "%s %u %u %u %u", 
        cpu_occupy->name, &cpu_occupy->user, &cpu_occupy->nice,
        &cpu_occupy->system, &cpu_occupy->idle);    
    fclose(fd);    
    return OK;
}

static int sysCalcCpuUsage (SYS_CPU_INFO_S *o, SYS_CPU_INFO_S *n) 
{   
    _UINT32 oTotal, nTotal;
    _UINT32 user, system;
    int cpu_use = 0;   
    
    oTotal = o->user + o->nice + o->system +o->idle;
    nTotal = n->user + n->nice + n->system +n->idle;
      
    user = n->user - o->user;
    system = n->system - o->system;
    
    if((nTotal-oTotal) != 0)
        cpu_use = (int)((user+system)*10000)/(nTotal-oTotal);
    else 
        cpu_use = 0;
    DBG_INFO(("sysCalcCpuUsage: cpu usage=%dn", cpu_use));
    return cpu_use;
}

/*return usage, eg: 5230 (52.3%)*/
int sysCpuInfoGet(void)
{
    int ret = ERROR;
    SYS_CPU_INFO_S cpust1, cpust2;
    ret = sysGetCpuTime(&cpust1);
    if(ret != OK)
        return ERROR;
    sleep(2);
    sysGetCpuTime(&cpust2);
    if(ret != OK)
        return ERROR;
    return sysCalcCpuUsage(&cpust1, &cpust2);
}

|
直接top即可

|
还是 top   

这个命令吧,不知道就是不知道,知道的就永远知道了 ...

|
读取这些文件
/proc/stat

/proc/mem   ???

|
top -n 1  | sed -n '3,4p'

|
top -bn 1 查看当前秒的
百度下top吧

|
/************************************************************************
函数名称:LinuxSdk_Info_GetMemory
函数功能:获取磁盘信息
  参数一:pSt_Memory_Infomation
   In/Out:Out
   类型:结构体指针
   可空:N
   意思:获取到的内存信息
返回值
  类型:逻辑型
  意思:是否获取成功
备注:
************************************************************************/
extern "C" BOOL LinuxSdk_Info_GetMemory(LINUXSDK_MEMORY_INFOMATION *pSt_Memory_Infomation);
/************************************************************************
函数名称:LinuxSdk_Info_GetCpuUsage
函数功能:获取CPU利用率
  参数一:pSt_LinuxSdk_CpuInfo
   In/Out:In
   类型:指向结构体的指针
   可空:N
   意思:CPU信息结构体
返回值
  类型:逻辑型
  意思:是否成功获取得到
备注:注意,此结构提在内部是一个结构体数组,基于现在多核心的流行,每个结构体保存了一个CPU信息,你需要调用
     LinuxSdk_Info_GetCpuCount() 函数来取得CPU个数,并且开始循环获取
************************************************************************/
extern "C" BOOL LinuxSdk_Info_GetCpuUsage(LINUXSDK_CPU_INFOMATION *pSt_LinuxSdk_CpuInfo);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • scounix中获取内存信息大小的问题,急,请高手指点
  • 急,,,怎样获取远程系统的CPU和内存使用率
  • linux /proc 的问题。以及获取子进程虚拟内存信息。
  • C程序如何获取系统剩余内存
  • linux C语言 如何获取系统可用内存?
  • 请问, 怎样通过程序方式,获取到当前系统的CPU,内存等情况
  • 请教一个定时获取cpu、内存占用率
  • 怎样获取物理内存在地址总线中的起始地址?
  • unix/linux下通过c/c++获取内存大小的方法。
  • 哪位编程高手知道如何编程实现获取进程的内存使用量信息(linux)
  • linux中,获取系统的CPU、内存、硬盘使用情况该用什么函数?
  • 如何编程实现获取当前系统中占用的内存总数,空闲百分比
  • 请问,怎样通过程序方式,获取AIX系统当前的CPU, 内存使用情况?
  • linux进程(线程)运行过程中如何获取本进程当前的内存使用状况,统计信息?
  • 如何在编程中获取某个进程的cpu占用率和内存占用率,急!
  • 如何在内核中获取当前进程的内存使用及CPU占用率
  • 怎么写个CGI程序获取远程linux主机的信息,如cpu使用率,内存使用等?
  • Linux下C编程获取可用内存大小,请指点!
  • 如何在LINUX中获取进程中某个虚拟地址所在物理内存地址
  • linux系统使用python获取内存使用信息脚本分享
  • Python获取网页编码的方法及示例代码
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • java Servlet获取和设置cookie实例代码
  • 关于获取在jsp上获取客户端时间的问题
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 关于Ganglia中的gmond组件收集到的资源信息如何获取(如何获取telnet后返回的信息)
  • php获取访客ip地址原理及提供七段代码供参考
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • 利用sender的Parent获取GridView中的当前行(获取gridview的值)
  • php获取本机ip地址 php获取远程IP地址
  • linux获取主机名后用gethostbyname() 不能获取主机ip


  • 站内导航:


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

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

    浙ICP备11055608号-3