Linux中,sysinfo是用来获取系统相关信息的结构体,返回系统的统计信息。
头文件:
#include <sys/sysinfo.h>
函数声明:
int sysinfo (struct sysinfo *info);
功能:用来获取系统相关信息的结构体
参数:@info 结构体变量地址
返回值:0 - 操作成功;-1 - 操作错误,errno被设置
结构体信息(linux2.2.16):
struct sysinfo {
long uptime;                  /* 启动到现在经过的时间 */
unsigned long loads[3];       /* 1, 5, and 15 分钟平均负载 */
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字节的补丁结构 */
};

结构体信息(linux2.2.23/48):
struct sysinfo
long uptime;                  /* 启动到现在经过的时间 */ 
unsigned long loads[3];       /* 1, 5, and 15 分钟平均负载 */ 
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的补丁 */
};

例子:
#include <stdio.h> 
#include <sys/sysinfo.h>
int main(int argc, char *agrv[]) 
struct sysinfo s_info; 
int error; 
error = sysinfo(&s_info); 
printf("\n\ncode error=%d\n",error); 
printf("Uptime = %lus\nLoad: 1 min %lu / 5 min %lu / 15 min %lu\n"
"RAM: total %lu / free %lu /shared %lu\n" 
"Memory in buffers = %lu\nSwap:total %lu/free %lu\n" 
"Number of processes = %lu\n",
s_info.uptime, s_info.loads[0], 
s_info.loads[1], s_info.loads[2], 
s_info.totalram, s_info.freeram, 
s_info.totalswap, s_info.freeswap, 
s_info.procs); 
return 0; 
}

输出:
code error=0
Uptime = 1923558s
Load: 1 min 16896 / 5 min 87808 / 15 min 183488
RAM: total 67440422912 / free 461295616 /shared 68618809344
Memory in buffers = 67717144576
Swap:total 139878494897114/free 140733791327256
Number of processes = 4892906176

【C函数】sysinfo获取系统相关信息相关推荐

  1. Qt开发中获取系统相关信息的方法,值得收藏参考

    本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...

  2. JAVA获取系统相关信息

    获取JRE系统相关参数 java 通过System.getProperties()获取系统参数 Properties props=System.getProperties(); //系统属性 //   ...

  3. 获取Java系统相关信息

    1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.ju ...

  4. Python中的psutil:一个用于获得处理器和系统相关信息的模块

    http://www.crifan.com/try_python_psutil/ 无意间得知了psutil模块,去网上找了下,找到: http://pypi.python.org/pypi/psuti ...

  5. GetVersionEx 获取系统版本信息

    转自:http://blog.csdn.net/yyingwei/article/details/8286658 最近在windows 8上获取系统版本信息需要调用系统API,于是用到了GetVers ...

  6. Linux下使用fstatfs/statfs查询系统相关信息

    Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, ...

  7. 金蝶EAS登录获取用户相关信息失败、EAS默认用户名、密码

    1.sql2005,新装的EAS7.0服务器,新建一个帐套,都弄好了以后,客户端登陆的时候提示错误:获取用户相关信息失败!  日志里说该游标未声明 解决方法:在SQL SERVER执行alter ta ...

  8. youtube根据vedioId获取视频相关信息

    根据vedioId获取视频相关信息 https://www.googleapis.com/youtube/v3/videos?key=xxx&id=I6uBoYJxf4k&part=s ...

  9. muduo:获取进程相关信息

    muduo里面有专门获取进程信息的类,记录一下. // Use of this source code is governed by a BSD-style license // that can b ...

最新文章

  1. android检测本地是否安装,在本地测试模块的安装
  2. 样式集(五)微信朋友圈样式模拟
  3. 对象存储HTML自定义属性,设置对象属性_对象存储服务 OBS_SDK参考_Node.js_上传对象_华为云...
  4. Linux Anaconda断网创建虚拟环境
  5. SQL Server 2005 Sa 用户的启用
  6. C++实现字符全排列
  7. Drawable 添加过滤色,改变图片颜色
  8. 【Win10 应用开发】自定义应用标题栏
  9. 操作系统 ——进程的状态与转换
  10. 【Unity】第5章 3D坐标系和天空盒
  11. 《学习之道》第十一章创造记忆情景
  12. SI4463软件开发记录
  13. 【公基】口算提速,java 自动生成:加、减、乘、除、混合运算题目
  14. paip 破解网站手机验证码
  15. 下载微信视频号视频的憨批方法
  16. 自媒体运营中千万不能做的四件事情
  17. SRS 对接GB28181 token防盗链配置
  18. 计算机控制技术注册二建,中央空调系统运行培训
  19. Directional Adversarial Training for Recommender Systems
  20. NodeJS设计模式( 二 )

热门文章

  1. (阅读笔记)PARE:A Simple and Strong Baseline for Monolingual and MultilingualDistantly Supervis
  2. 经纬恒润加盟中国汽车芯片产业创新战略联盟,助力国产汽车芯片做大做强
  3. 地理信息系统名词解释大全(四)
  4. 使用Excel和Jupyter绘制线性走势图
  5. Cordova使用实例cordova-plugin-app-version取app版本号
  6. python摄像头拍照比对_如何使用Python控制摄像头拍照并发邮件?
  7. 甘肃省能源产业发展动向及十四五建设现状分析报告2021版
  8. 接口测试框架之Karate
  9. 【图神经网络DGL】GCN在Karate Club上的实战(消息传递范式 | 生成训练可视化动图)
  10. 澳大利亚成为ICO理想地