工具/软件:Code Composer Studio
版本:9.3.0.00012
它使用的容量超过1GB (!!!!!) 首次启动时、但在使用它几个小时左右之后、它使用超过2GB。
检查您的参考资料。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
版本:9.3.0.00012
它使用的容量超过1GB (!!!!!) 首次启动时、但在使用它几个小时左右之后、它使用超过2GB。
检查您的参考资料。
您好!
我还没有(目前)经历过这种内存泄漏。 虽然正如您所说的、它开始消耗了相当多的 RAM、但我没有看到您所描述的急剧增加、尽管在几个小时内大量使用。 您能否启用'Window -> Preferences -> General'下的"Show heap status"选项、然后在 CCS 使用超过2GB+时提供 CCS IDE 右下角(-ish)显示的堆使用情况的详细信息?
谢谢
Ki
我当前的做法是、这是由表达式窗口造成的。 添加表达式会增加 RAM 的使用量。 删除表达式后、RAM 不会释放。
我们的项目有数千个对象(有些对象相当大)、因此每当我们将对象加载到表达式窗口中时、它都会使用大量 RAM。 我刚加载了几个对象、堆从348 MB 变为468 MB、任务管理器内存使用量高达1.5G。 删除这些对象后堆不会减少。
我在手持编码 C++的时代已经很长时间了、其中程序仅使用几 MB、而且速度非常快。 现在,我们对 Java“祝福”了,一切都是一个膨胀的、不易管理的内存日志,打开一个简单的编辑器窗口需要5秒钟。
[引用 user="lemmwinks"]经过长时间的调试会话后,内存使用率现在几乎为2GB。
当 CCS 空闲时、系统内存使用量是否增加? 还是在 CCS 的有效使用期间增长? 在我主动使用 CCS 时、我的内存使用率可能会激增。 但是、当我让它空闲时、它不会增长... 并将自行减小一个位。
[引用 user="lemmibwinks"]堆显示了203M 的1228M。
请注意、在 CCSv9.3中、我们将 最大堆容量 从768MB 增加到了2048MB。 因此、CCS 的整体系统内存使用量将大于您在之前版本中看到的内存使用量。 768m 的大小始终较小 、但我们在设置最大值的大小方面受到限制、因为 CCS 过去是 Windows 上的32位应用程序。 但 CCSv9及更高版本是一个64位应用程序。 这使我们能够增加最大堆容量(我们从 CCSv9.3开始)。 这提高了 CCS 的性能、并极大地减少 了过去弹出的"Java 低堆"和"内存不足"类型错误。
这种做法的副作用是、随着最大堆容量的增加、堆容量的增加使得堆容量的增加大于过去的容量、系统内存使用量也会增加。
[引用 user="lemmiwinks"]运行垃圾收集对系统内存没有影响。
这会清除已使用的堆数量、但不会清除整个堆大小。
默认情况下、堆不会自行收缩。 但可以使用 JVM 的其他参数来支持此功能:
https://stackoverflow.com/questions/22480749/how-to-shrink-java-heap-space
https://stackoverflow.com/questions/4952568/is-there-a-way-to-lower-java-heap-when-not-in-use
另一种选择是将最大堆容量值降低到更适合的值。 我认为原来的768m 太小了、但它和电流值中间有些东西。