使用大量内存的Xcode仪器。
好的,这是我的问题,如果是重复的,我道歉。我搜索了一下,但找不到任何我认为相关的东西 当我从xcode运行instruments并开始测试我的应用程序的内存泄漏或分配时,我的iMac最终开始运行得非常慢 这导致我在使用仪器时运行activity monitor,我注意到仪器每打开一秒钟就会占用越来越多的实际内存。大约每秒100MB 没过多久,它就消耗掉了我所有的iMac可用内存(2GB),然后开始延迟 无论如何,并非每个应用程序都会出现这种情况。我对我下载的一些应用程序/项目做了同样的测试,仪器似乎只使用了大约250MB的空间,并且没有显著增加 有没有什么明显的错误?任何帮助都将不胜感激使用大量内存的Xcode仪器。,xcode,ios-simulator,instruments,activity-monitor,Xcode,Ios Simulator,Instruments,Activity Monitor,好的,这是我的问题,如果是重复的,我道歉。我搜索了一下,但找不到任何我认为相关的东西 当我从xcode运行instruments并开始测试我的应用程序的内存泄漏或分配时,我的iMac最终开始运行得非常慢 这导致我在使用仪器时运行activity monitor,我注意到仪器每打开一秒钟就会占用越来越多的实际内存。大约每秒100MB 没过多久,它就消耗掉了我所有的iMac可用内存(2GB),然后开始延迟 无论如何,并非每个应用程序都会出现这种情况。我对我下载的一些应用程序/项目做了同样的测试,仪器
谢谢 仪器消耗大量内存 根据您录制的内容,您可以减少其内存使用。例如,通常可以指定要记录的内容(或不记录的内容),或指定较低的采样频率(如果适用) 100MB/s是异常高的。你能更准确地描述一下你当时录制的内容吗?(您使用的仪器、您记录的过程等) Xcode 3使用了更少的内存-不确定仪器是否也是如此 通过将工具集作为32位进程运行,可以在一定程度上减少内存使用 最后,2GB物理内存对于Xcode+Instruments+iOS Sim来说算不了什么。fwiw,我经常用8 GB或更多GB耗尽物理内存。喝倒采幸运的是,当您需要4或8GB时,内存是便宜的 更新
我试着用仪器进行分配、泄漏和僵尸 如果必须,您可以单独运行这些测试 分配 如果你的应用程序没有创建大量的分配,那么分配本身就不应该消耗大量内存 为了减少本仪器的内存,您可以禁用一些不感兴趣的选项:
- 不要记录每个参考计数操作
- 仅跟踪活动allocs
- 禁用僵尸检测 < LI>不识别C++对象< /LI>
- 仅当您需要泄漏历史记录时,才使用该仪器
- 这意味着分配工具
- 最前沿的开发工具版本可能非常不稳定。如果你有问题,坚持官方发布会有帮助
- 我可以单独使用分配运行osx单元测试(主要是c/c++API),它在录制时消耗大约1MB/s。似乎有点不对劲,但这可能表明您的程序中存在问题(许多临时分配?)
- 更改数据显示方式和/或充电/聚焦设置可能需要大量内存。e、 g.“全部还原”可能需要几GB的空间来处理大样本
- 如果100MB/s是一个准确的数字,我会提交一个bug。我知道仪器会消耗大量内存,但对于录制空闲应用程序来说,这是非常高的,即使预计仪器会消耗大量内存
祝你好运我曾尝试使用工具进行分配、泄漏和僵尸,但不管怎样,它似乎消耗的内存量都差不多。一旦仪器达到约1.7GB,它似乎停止了,但在这一点上它的拉吉,以适当地测试我的游戏。我对空闲内存有点不清楚。我的意思是,当我第一次启动仪器时,我有2GB的空闲空间,这意味着应该包括xcode和模拟器。我知道你们总共有4GB,这是一款相当新的iMac。我只是在玩我的iPhone游戏。我甚至不需要做任何事情。只是坐在第一个菜单屏幕上。我知道我的旧iMac没有这个问题,它有Xcode 3。但我不确定它是Xcode还是我对游戏所做的更改。但我会试试你的建议,然后回来。谢谢。我已经升级到12GB的内存。它似乎保持了每秒100MB的速度,仪器消耗10GB大约需要一分半的时间,然后速度又变慢了。无论如何,非常感谢你。如果我能想出其他的办法,我会再补充一点。不客气。如果你能很容易地重新制作和记录这个,我肯定会向苹果提交一个bug。祝你好运