---
name: "KySdkResource"
section: "3"
platform: "linux"
package: "libkysdk-system"
version: "3.0.1.4-1"
release: "Arch Linux 2026-11-07"
platforms: ["linux"]
url: "https://carta.tech/man/KySdkResource"
---

# 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)](/man/proc/5.md), [**free**(1)](/man/free/1.md), [**top**(1)](/man/top/1.md)

## AUTHOR

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