objective-c - OSX - 如何获取 NSTask 的内存使用情况?

标签 objective-c c macos cocoa process

我需要启动一个外部程序并等待它结束。运行后,我需要峰值内存使用率和 CPU 时间或 CPU tiks。

如何在 OSX 10.11 上用 C/Objective-C 执行此操作?

我查看了 NSTask,但我不知道如何获取峰值内存使用率和 CPU 时间。

最佳答案

您可以通过调用-processIdentifier来获取PID,然后使用Mach的task_info()函数来获取您要查找的信息。请参阅:Memory used by a process under mac os x

我相信任务信息应该在等待进程之前可用,因此请务必在进程完成后执行此操作。

关于objective-c - OSX - 如何获取 NSTask 的内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34955849/

相关文章:

ios - 检查核心数据实体的属性是否为空?

c - 如何使用bool、if语句、while语句,用来检查用户输入的有效性

macos - 对持有 NSDictionary 的 NSMutableArray 进行符合 KVC 的更新

c++ - OS X 10.6.4 + Eclipse 3.5 + 最新的 CDT 不输出 cout/printf 到控制台

objective-c - 如何在 Interface Builder 中更改 UIButton 的背景图像并保留其形状?

ios - NSFetchRequest 有时只返回结果

c - 如何改变c中整数中数字的位置

c++ - 对直接从静态库创建的共享库中函数的 undefined reference

macos - 如何在 Mac OS X 中删除文件上的 "extended attributes"?

objective-c - iOS 企业应用的奇怪问题