概述
// 这里是linux 2.3.48以上版本的内核的信息
#include <sys/sysinfo.h> // 需要包含的头文件
int sysinfo(struct sysinfo *info);// 需要用到的函数的原型
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的补丁
};
// 一份简单的测试代码
#include <stdio.h>
#include <sys/sysinfo.h>
int main(void)
{
struct sysinfo info;
int iRetVal = -1;/*用于获取函数的返回值,默认为-1*/
iRetVal = sysinfo(&info);
printf("return val : %dn",iRetVal);//打印函数返回值,成功为0,失败为-1
printf("uptime : %ldn",info.uptime);//打印从设备开启到现在的时间,单位为秒
printf("1 min load average : %lun",info.loads[0]);
printf("5 min load average : %lun",info.loads[1]);
printf("15 min load average: %lun",info.loads[2]);//平均负载
printf("totalram : %lun",info.totalram);//总可用内存大小
printf("freeram : %lun",info.freeram); //剩余内存
printf("procs : %un",info.procs); //进程数
return 0;
}
// ————————————————
// 版权声明:本文为CSDN博主「行者三个石」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
// 原文链接:https://blog.csdn.net/qq_33706673/article/details/78187559
最后
以上就是香蕉盼望为你收集整理的嵌入式linux学习笔记--sysinfo获取linux的开机时间的全部内容,希望文章能够帮你解决嵌入式linux学习笔记--sysinfo获取linux的开机时间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复