以编程方式访问 MacOS 系统性能统计信息

Posted

技术标签:

【中文标题】以编程方式访问 MacOS 系统性能统计信息【英文标题】:Getting programmatic access to MacOS system performance statistics 【发布时间】:2010-09-22 01:24:49 【问题描述】:

当您在 Mac OS X 上运行 top 或 Activity Monitor 时,您会看到整个系统的各种性能数据 - 当前和历史 CPU 使用情况、物理内存和交换空间使用情况、磁盘活动等等。在 Linux 和其他一些类 Unix 系统上,您可以通过使用内核系统调用或查看/proc 和/或/sys 伪文件系统,在自己的程序中访问这些数据。

不幸的是,MacOS 缺少/proc/sys,并且一些网络搜索没有发现许多提供整机性能数据的系统调用。因此这个问题:

您如何从您的 C 程序访问 MacOS 系统性能数据?

【问题讨论】:

【参考方案1】:

获取此信息的函数和结构在/usr/include/libproc.h/usr/include/sys/proc.h 中进行了描述。 libproc.h 有这个警告

/*
 * This header file contains private interfaces to obtain process information.  
 * These interfaces are subject to change in future releases.
 */

这些函数可以在 libSystem 中找到。它们看起来非常易于使用。

【讨论】:

以上是关于以编程方式访问 MacOS 系统性能统计信息的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式获取堆栈内存统计信息?

在 Windows 上以编程方式获取每个进程的磁盘 io 统计信息?

以编程方式更改 PDS 成员的 ISPF 统计信息中的用户 ID

获取 ext3 和其他文件系统的类似 nfsstat 的统计信息

Oracle自动性能统计

Oracle自动性能统计