不懂就要问,如何用 C++跨平台获取 CPU、内存使用率?

2020 年 5 月 6 日
 liuguangxuan

想用 C++获取 CPU 、内存的使用率,要求跨平台( Windows 、Linux )。查到的解决办法如下:

  1. sigar 库,但是作者好像已经放弃维护了,没有文档可以参考,官网打不开。
  2. ACE 网络库提供了接口,但是只是获取 CPU 、内存使用率,显得有点儿太笨重了。
  3. 自己实现,根据宏来判断平台。然后调用系统接口。

请教各位大佬,有没有更好的解决办法?

5822 次点击
所在节点    C++
27 条回复
Dlad
2020 年 5 月 6 日
有参考 cacti 吗?
snmp 协议能实现吗?
gamexg
2020 年 5 月 6 日
c 的不知道,go 我用的是 https://github.com/shirou/gopsutil,windows 、linux 等系统都支持,可以参考下。
wzzzx
2020 年 5 月 6 日
我之前用 Qt 也有这个需求,查资料时说是这些东西太平台相关性了,所以即便是 Qt 也没提供。自己写也不麻烦
xcstream
2020 年 5 月 6 日
选 3
tianshiyeben
2020 年 5 月 7 日
sigar 用着没有问题啊。这个监控工具就用 sigar 来采集系统信息的,这就是我写的监控系统。
https://github.com/tianshiyeben/wgcloud
paoqi2048
2020 年 5 月 7 日
@tianshiyeben sigar 在 GitHub 上的最后一次更新是 Jan 4, 2016
devtk
2020 年 5 月 13 日
@gamexg 这个库我也用 感觉还不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/668858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX