KySdkResource(3) System Resource Monitoring Library KySdkResource(3)

KySdkResource - 获取当前系统资源占用信息类

#include <kysdkdbus.h>

KySdkResource 类用于获取系统资源占用信息,包括:

  • 物理内存总大小、使用率和使用量
  • 实际可用和空闲的物理内存大小
  • 所有应用申请的虚拟内存总量
  • Swap 分区总大小、使用率和空闲大小
  • CPU 瞬时使用率
  • 操作系统开机时长

该类继承自 QObject.

double getMemTotalKiB () const

获取系统中物理内存总大小。

返回值:

物理内存大小,KiB 为单位

double getMemUsagePercent () const

获取物理内存使用率。

返回值:

物理内存使用率

double getMemUsageKiB () const

获取物理内存使用大小,注意 Buffer/Cache 被计算为已使用内存。

返回值:

物理内存使用大小,KiB 为单位

double getMemAvailableKiB () const

获取实际可用的物理内存大小,该数值约等于 Free + Buffer + Cache。

返回值:

可用物理内存大小,KiB 为单位

double getMemFreeKiB () const

获取实际空闲的物理内存大小,注意 Buffer/Cache 被计算为已使用内存。

返回值:

空闲的物理内存大小,KiB 为单位

double getMemVirtAllocKiB () const

获取所有应用申请的虚拟内存总量。

返回值:

虚拟内存总申请量,KiB 为单位

double getMemSwapTotalKiB () const

获取系统中 Swap 分区总大小。

返回值:

Swap 分区大小,KiB 为单位

double getMemSwapUsagePercent () const

获取 Swap 分区使用率。

返回值:

Swap 分区使用率

double getMemSwapUsageKiB () const

获取 Swap 分区使用量。

返回值:

Swap 分区使用量,KiB 为单位

double getMemSwapFreeKiB () const

获取 Swap 分区空闲大小。

返回值:

Swap 分区空闲大小,KiB 为单位

double getCpuCurrentUsage () const

获取 CPU 瞬时使用率。

返回值:

CPU 瞬时使用率,该值 < 1.00

QString getUpTime () const

获取操作系统开机时长。

返回值:

开机时长

Linux 系统内存使用说明:

系统总内存大小
完全空闲的内存
实际可用的内存(MemFree + Buffers + Cached)
内核缓冲区使用的内存
当物理内存不足时使用的磁盘空间

#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;
}

  • 所有内存大小单位均为 KiB (1024 bytes)
  • CPU 使用率返回值为 0.0 到 1.0 之间的小数
  • 内存使用率计算时 Buffer/Cache 被计入已使用内存
  • MemAvailable 是实际可用的内存估算值

QObject(3qt5), D-Bus(1), proc(5), free(1), top(1)

Generated automatically by Doxygen for kysdkdbus.h from the source code.

Wed Sep 20 2023 1.0