账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go语言如何获取Windows进程所占用的cpu?
    49
    0

    使用 wmi 可行否?有尝试使用:

    package main
    
    import (
        "fmt"
        "github.com/StackExchange/wmi"
        "log"
        "time"
    )
    
    type Win32_Process struct {
        Name                 string
        TimeStamp_Sys100NS   uint64
        PercentProcessorTime uint64
    }
    
    func main() {
        var dst []Win32_Process
    
        var N1 uint64 = 0
        var D1 uint64 = 0
    
        for ; ; time.Sleep(time.Second) {
            str := "SELECT * FROM Win32_PerfFormattedData_PerfProc_Process WHERE Name = 'cpu-test'"
            err := wmi.Query(str, &dst)
            if err != nil {
                log.Fatal(err)
            }
    
            N2 := dst[0].PercentProcessorTime
            D2 := dst[0].TimeStamp_Sys100NS
    
            // D1/D2 一直是0
            fmt.Println(D1, D2, N1, N2)
    
            N1 = dst[0].PercentProcessorTime
            D1 = dst[0].TimeStamp_Sys100NS
        }
    }

    好像说这两个值可以计算CPU占用率?可是要怎么算呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 、悲, 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部