KySdkResource(3)

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

SYNOPSIS
#include <kysdkdbus.h>

DESCRIPTION

KySdkResource 类用于获取系统资源占用信息，包括：

    •   物理内存总大小、使用率和使用量

    •   实际可用和空闲的物理内存大小

    •   所有应用申请的虚拟内存总量

    •   Swap 分区总大小、使用率和空闲大小

    •   CPU 瞬时使用率

    •   操作系统开机时长

该类继承自 QObject.

PUBLIC SLOTS

double getMemTotalKiB () const

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

    返回值:

        double
            物理内存大小，KiB 为单位

double getMemUsagePercent () const

    获取物理内存使用率。

    返回值:

        double
            物理内存使用率

double getMemUsageKiB () const

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

    返回值:

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

double getMemAvailableKiB () const

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

    返回值:

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

double getMemFreeKiB () const

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

    返回值:

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

double getMemVirtAllocKiB () const

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

    返回值:

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

double getMemSwapTotalKiB () const

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

    返回值:

        double
            Swap 分区大小，KiB 为单位

double getMemSwapUsagePercent () const

    获取 Swap 分区使用率。

    返回值:

        double
            Swap 分区使用率

double getMemSwapUsageKiB () const

    获取 Swap 分区使用量。

    返回值:

        double
            Swap 分区使用量，KiB 为单位

double getMemSwapFreeKiB () const

    获取 Swap 分区空闲大小。

    返回值:

        double
            Swap 分区空闲大小，KiB 为单位

double getCpuCurrentUsage () const

    获取 CPU 瞬时使用率。

    返回值:

        double
            CPU 瞬时使用率，该值 < 1.00

QString getUpTime () const

    获取操作系统开机时长。

    返回值:

        QString
            开机时长

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
QObject(3qt5), D-Bus(1), proc(5), free(1), top(1)

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