sysinfo: 获得系统统计信息

sysinfo: 获得系统统计信息

sysinfo 系统调用会填充一个有关系统统计信息的结构。它唯一的参数是一个指向 struct sysinfo 对象的指针。下列是 struct sysinfo 中一些比较有趣的域:

uptime
从系统启动开始已流逝的时间,以秒为单位。
totalram
可用的物理内存总空间。
freeram
空闲的物理内存空间。
procs
系统进程的数量。

查看man 2 sysinfo可以得到关于 struct sysinfo 的完整描述。当您使用 sysinfo 时请引入<linux/kernel.h>、<linux/sys.h> 和 <sys/sysinfo.h> 头文件。

代码 8.12 的程序打印了当前系统的一些统计信息。

代码 8.12 (sysinfo.c) 打印系统统计

#include <Linux/kernel.h>
#include <Linux/sys.h>
#include <stdio.h>
#include <sys/sysinfo.h>

int main ()
{
  /* 用于进制转换的常量。*/
  const long minute = 60;
  const long hour = minute * 60;
  const long day = hour * 24;
  const double megabyte = 1024 * 1024;
  /* 获得系统统计。 */
  struct sysinfo si;
  sysinfo (&si);
  /* 输出关注信息的概要。 */
  printf (“system uptime : %ld days, %ld:%02ld:%02ld\n”,
           si.uptime / day, (si.uptime % day) / hour,
          (si.uptime % hour) / minute, si.uptime % minute);
  printf (“total RAM      : %5.1f MB\n”, si.totalram / megabyte);
  printf (“free RAM       : %5.1f MB\n”, si.freeram / megabyte);
  printf (“process count : %d\n”, si.procs);
  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值