linux下计算pod的cpu利用率与mem使用情况

本文介绍了如何在Linux环境下计算Pod的CPU利用率,遵循与`top`指令相同的计算方式。首先,计算宿主机的CPU核心数,然后通过读取进程文件中的使用时间与总时间来得到CPU利用率的C语言实现。至于内存使用情况的部分,文章表示内容尚未完成。
摘要由CSDN通过智能技术生成

一、计算CPU利用率(计算方式与top指令源码方式相同)

1.计算宿主机的cpu核数

2. 从文件中读取本身进程的一段时间使用情况,即隔一段时间分别获取使用情况,通过这段时间的(使用时间)/(总时间),即可得到cpu利用率,代码如下:

 

#include "stdlib.h"
#include "stdio.h"
#include "unistd.h"
#include <iostream>
#include <string>
#include <fstream>

typedef struct cpu_usage_info
{
    unsigned long cpu_total_usage;
    unsigned long system_useage;
}CPU_USAGE_INFO;

typedef struct cpu_sys_info
{
    char szName[16];
    unsigned long user; // 从系统启动开始累计到当前时刻,用户态的CPU时间(单位:jiffies) ,不包含 nice值为负进程。1jiffies=0.01秒
    unsigned long nice; // 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间(单位:jiffies)
    unsigned long system; // 从系统启动开始累计到当前时刻,核心时间(单位:jiffies)
    unsigned long idle; // 从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间(单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值