| KySdkResource(3) | System Resource Monitoring Library | KySdkResource(3) |
NAME
KySdkResource - 获取当前系统资源占用信息类
SYNOPSIS
#include <kysdkdbus.h>
DESCRIPTION
KySdkResource 类用于获取系统资源占用信息,包括:
- 物理内存总大小、使用率和使用量
- 实际可用和空闲的物理内存大小
- 所有应用申请的虚拟内存总量
- Swap 分区总大小、使用率和空闲大小
- CPU 瞬时使用率
- 操作系统开机时长
该类继承自 QObject.
PUBLIC SLOTS
double getMemTotalKiB () const
double getMemUsagePercent () const
double getMemUsageKiB () const
double getMemAvailableKiB () const
double getMemFreeKiB () const
double getMemVirtAllocKiB () const
double getMemSwapTotalKiB () const
double getMemSwapUsagePercent () const
double getMemSwapUsageKiB () const
double getMemSwapFreeKiB () const
double getCpuCurrentUsage () const
QString getUpTime () const
MEMORY USAGE EXPLANATION
Linux 系统内存使用说明:
- MemTotal
- 系统总内存大小
- MemFree
- 完全空闲的内存
- MemAvailable
- 实际可用的内存(MemFree + Buffers + Cached)
- Buffers/Cache
- 内核缓冲区使用的内存
- Swap
- 当物理内存不足时使用的磁盘空间
EXAMPLE USAGE
#include <kysdkdbus.h>
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
KySdkResource resource;
// 获取内存信息
double memTotal = resource.getMemTotalKiB();
double memUsage = resource.getMemUsagePercent();
double memAvailable = resource.getMemAvailableKiB();
// 获取 CPU 使用率
double cpuUsage = resource.getCpuCurrentUsage();
// 获取系统运行时间
QString uptime = resource.getUpTime();
qDebug() << "内存总量:" << memTotal << "KiB";
qDebug() << "内存使用率:" << (memUsage * 100) << "%";
qDebug() << "可用内存:" << memAvailable << "KiB";
qDebug() << "CPU 使用率:" << (cpuUsage * 100) << "%";
qDebug() << "系统运行时间:" << uptime;
return 0;
}
NOTES
- 所有内存大小单位均为 KiB (1024 bytes)
- CPU 使用率返回值为 0.0 到 1.0 之间的小数
- 内存使用率计算时 Buffer/Cache 被计入已使用内存
- MemAvailable 是实际可用的内存估算值
SEE ALSO
AUTHOR
Generated automatically by Doxygen for kysdkdbus.h from the source code.
| Wed Sep 20 2023 | 1.0 |