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

要得到进程的虚拟内存使用率,请问linux系统下有哪几个函数可用?

    来源: 互联网  发布时间:2016-07-23

    本文导语:  先谢了! |     struct sysinfo minfo;     //这个函数sysinfo就是linux获取系统信息     if ( sysinfo( &minfo ) == -1 )     {         return 0;     }     return   ( 100 - 100 * ( float ) ...

先谢了!

|
    struct sysinfo minfo;
    //这个函数sysinfo就是linux获取系统信息
    if ( sysinfo( &minfo ) == -1 )
    {
        return 0;
    }

    return   ( 100 - 100 * ( float ) minfo.freeram / minfo.totalram + 0.5 );
 //上面这句话是获取内存剩余大小的计算。

一下是struct sysinfo结构体的一些参数,你可以使用如下

结构体信息:

在Linux 2.3.16中,结构体的信息是(单位是字节):

              struct sysinfo {

                  
long
uptime;            
/* 启动到现在经过的时间 */

                  
unsigned long loads[3];  /* 1, 5, and 15 minute load averages

*/

                  
unsigned long totalram;  /* 总的可用的内存大小 */

                  
unsigned long freeram;   /* 还未被使用的内存大小 */

                  
unsigned long sharedram; /* 共享的存储器的大小 */

                  
unsigned long bufferram; /* 缓冲区大小 */

                  
unsigned long totalswap; /* 交换区大小 */

                  
unsigned long freeswap;  /* 还可用的交换区大小 */

                  
unsigned short procs;    /* 当前进程数目 */

                  
char
_f[22];            
/* 64字节的补丁结构 */

              };


在Linux 2.3.23(i386), 2.3.48 (all architectures)中,结构体的信息是(单位是mem_unit字节):

struct sysinfo {

      long
uptime;            
/* 启动到现在经过的时间 */

      unsigned long loads[3];  /* 1, 5, and 15 minute load averages


      unsigned long totalram;  /* 总的可用的内存大小 */

      unsigned long freeram;   /* 还未被使用的内存大小 */

      unsigned long sharedram; /* 共享的存储器的大小*/

      unsigned long bufferram; /* 共享的存储器的大小 */

      unsigned long totalswap; /* 交换区大小 */

      unsigned long freeswap;  /* 还可用的交换区大小 */

      unsigned short procs;    /* 当前进程数目 */

      unsigned long totalhigh; /* 总的高内存大小 */

      unsigned long freehigh;  /* 可用的高内存大小 */

      unsigned int mem_unit;   /* 以字节为单位的内存大小 */

      char _f[20-2*sizeof(long)-sizeof(int)]; /* libc5的补丁


};


返回值:

操作成功返回0,错误返回-1;



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












  • 相关文章推荐
  • 如果知道一个函数的地址或函数名,如何得到函数所在的文件名?
  • 主线程怎样得到子线程中跑的函数的返回值?
  • 苦恼的中文乱码!!!在servlet中用request.getParameter("xingming")得到的姓名域值就变成了乱码"???",更别提下面的转化函数得到的结果了。
  • 怎样得到linux下库函数的列表?
  • 用哪些函数可以得到执行一个程序的系统CPU时间,用户CPU时间,时钟时间啊?
  • 在Solaris上使用Motif开发,有什么函数可以得到当前程序运行的目录?
  • 怎么用函数得到一个文件的创建者
  • 求教Linux下得到device,memory,net的信息的函数?
  • 请问在内核态调用什么函数得到mac地址?
  • mini2440中使用函数atan2得到错误结果
  • shell 得到函数所有参数
  • 编程技术其它 iis7站长之家
  • 各位大侠帮忙,linux下面有类似 GetTickcount 的函数吗?就是得到从开机到当前的滴答(time tick)值。谢谢啦
  • 用jsp那个函数可以得到用户的IP地址,急救。谢谢!!!!!
  • 请问有没有函数可以得到当前执行程序的路径的。。。。
  • 用什么函数能得到当前工作的路径
  • 请问已知进程的PID,通过什么函数可以得到进程的名字?
  • 内核里如何得到tick,用哪个函数,不是jiffies,要tick
  • 如何得到一个格林威治时间,返回32位的一个整数。有这样的函数调用么?
  • snmp中的执行linux系统命令如uname的函数,其返回的结果怎么得到啊????
  • 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例?
  • 怎样得到当前目录(不是在java程序中得到)
  • File类的getLastModify()得到的是长型整数,如何才能得到一个已知文件日期?
  • DateFormat的用法?比如说现在想要得到21:38,我老是得到9:38
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 我用JFileChooser得到了某个文件夹名,但如何得到此文件夹下的所有文件名
  • linux下如何编程得到网卡的硬件描述,如得到某块网卡为“3Com 3c590/3c595....”
  • 如何得到一个终端的终端号/标示?
  • 菜问一则:请问用什么命令可得到系统路径
  • getInitParameter为什么得到null
  • 请问调用那个方法能够得到变量类型的返回值?


  • 站内导航:


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

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

    浙ICP备11055608号-3