簡體   English   中英

如何使用 Swift 在 macOS 中獲取 cpu 使用百分比?

[英]How to get cpu usage percentage in macos with Swift?

我正在嘗試為MacOS做一個活動監視器(我知道有一個名為活動監視器的 mac 應用程序可以告訴我)所以我想用 Swift 獲得 cpu 使用百分比。我發現了一些類似的問題,但它們只適用於 iOS .我在Objective-C也發現了一個問題,Swift沒有,我也不是很懂Objective-C(我是Swift的人)。

您應該能夠結合使用mach庫中的Task_infomach_msg_type_number_t函數來獲取 CPU 使用率……至少 AI 是這么說的。 :)

例子:

import Foundation
import mach

func getCPUUsage() -> Float {
    var kern: kern_return_t
    var task_info_count: mach_msg_type_number_t

    task_info_count = mach_msg_type_number_t(TASK_INFO_MAX)
    var tinfo = [integer_t](repeating: 0, count: Int(task_info_count))

    kern = task_info(mach_task_self_, task_flavor_t(TASK_BASIC_INFO), &tinfo, &task_info_count)
    if kern != KERN_SUCCESS {
        return -1
    }

    var taskInfo = task_basic_info()
    memcpy(&taskInfo, &tinfo, Int(task_info_count))

    let cpuUsage = Float(taskInfo.cpu_usage) / Float(TH_USAGE_SCALE * 100.0)

    return cpuUsage
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM