Xcode Instruments使用大量内存.

Xcode Instruments使用大量内存.,第1张

概述好的,这是我的问题,如果它重复,我道歉.我搜索但找不到任何我认为相关的内容. 当我从xcode运行仪器并开始测试我的应用程序的内存泄漏或分配时,我的iMac最终开始运行得非常慢. 这导致我在使用乐器时运行活动监视器,我注意到每个第二个乐器都打开它会占用越来越多的实际内存.大约每秒100MB. 它不需要很长时间就可以消耗我所有的iMacs免费内存(2gbs)然后开始滞后. 无论如何,每次申请都不会发 好的,这是我的问题,如果它重复,我道歉.我搜索但找不到任何我认为相关的内容.

当我从xcode运行仪器并开始测试我的应用程序的内存泄漏或分配时,我的iMac最终开始运行得非常慢.

这导致我在使用乐器时运行活动监视器,我注意到每个第二个乐器都打开它会占用越来越多的实际内存.大约每秒100MB.

它不需要很长时间就可以消耗我所有的iMacs免费内存(2gbs)然后开始滞后.

无论如何,每次申请都不会发生这种情况.我已经完成了与我下载的一些应用程序/项目相同的测试,仪器似乎只使用了大约250mbs的空间并且没有显着增加.

有什么明显的东西我做错了吗?任何帮助,将不胜感激.

谢谢.

解决方法 乐器消耗大量内存.

根据您录制的内容,您可以减少其内存使用量.例如,您通常可以指定记录什么(或不记录),或者降低采样频率(如果适用).

100MB / s非常高.你能否更准确地描述你当时录制的内容? (您使用的工具,您记录的过程是什么,等等).

Xcode 3使用了更少的内存 – 不确定是否也是仪器的情况.

您可以通过将工具集作为32位进程运行来减少内存使用量.

最后,2GB物理内存对Xcode Instruments iOS Sim来说毫无意义. fwiw,我经常用8 GB或更多GB耗尽物理内存.嘘.幸运的是,当你需要4或8GB时,内存很便宜.

更新

I trIEd using instruments for Allocations,Leaks and ZombIEs

如果必须,您可以单独运行这些测试.

分配

如果您的应用程序没有创建大量分配,分配本身不应消耗大量内存.

要使用此仪器减少内存,您可以禁用一些您不感兴趣的选项:

>不记录每个引用计数 *** 作
>仅跟踪活动分配
>禁用僵尸检测
>不识别c对象

泄漏

>暗示分配工具仅在您需要泄漏历史记录时.

泄漏检测本身会占用大量内存,因为它会扫描内存,基本上会克隆您的分配.假设你有100MB的分配 – 泄漏将定期暂停进程,克隆内存并扫描它的模式.这可能比你的应用消耗更多的内存. iirc,它作为乐器中的子进程执行.

植物大战僵尸

>暗示分配工具.

僵尸检测通常意味着参考计数记录.调试僵尸时,永远不要释放它们是最有效的.如果你释放它们,你可能只会发现瞬态僵尸(不确定是否有一个选项可用于乐器……).永远不会释放objc分配显然会消耗更多内存.然后,在进程上运行泄漏会消耗更多内存,因为堆大小会更大 – 不应该组合泄漏和僵尸.

您应该能够通过禁用其中一些选项并单独测试它们来减少总消耗.

笔记

>最新的开发者工具版本可能非常不稳定.如果您遇到问题,可以坚持正式发布.
>我可以单独使用分配运行osx单元测试(主要是c / c APIs),录制时消耗大约1MB / s.看似错误的东西,但也许这表明你的程序存在问题(很多瞬态分配?).
>更改数据的显示方式和/或充电/对焦设置可能需要大量内存.例如“全部还原”可能需要几GB才能处理大样本.
>如果100MB / s是一个准确的数字,我会提交一个错误.我知道仪器消耗了大量内存,但这对于录制空闲应用来说非常高,即使期望乐器消耗大量内存.

祝好运

总结

以上是内存溢出为你收集整理的Xcode Instruments使用大量内存.全部内容,希望文章能够帮你解决Xcode Instruments使用大量内存.所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1021400.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存