Tool/software: Code Composer Studio
Version: 9.3.0.00012
It uses over a 1GB (!!!!!) when first launched but after using it for a couple hours or so it's using over 2GB.
Check your references.
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.
Tool/software: Code Composer Studio
Version: 9.3.0.00012
It uses over a 1GB (!!!!!) when first launched but after using it for a couple hours or so it's using over 2GB.
Check your references.
Hello,
I have not (yet) experienced this memory leak. While it does start up consuming quite a bit of RAM as you said, I have not seen the drastic increase you describe despite heavy use for a few hours. Can you enable the option to "Show heap status" under 'Window -> Preferences -> General' and then provide the details of the heap usage displayed in the lower right(-ish) corner of the CCS IDE when CCS is using over 2GB+?
Thanks
ki
My current hunch is that this is due to the Expressions window. Adding an expression increases the RAM usage. The RAM is not released when the expression is deleted.
Our project has thousands of objects (some are quite large) so any time we load an object into the Expressions window it uses a lot of RAM. I just loaded a couple objects and the heap went from 348 to 468 MB and Task Manager memory usage went up to 1.5G. The heap did not decrease after deleting those objects.
I long for the days of hand-coded C++ where programs only used a few MB and were lightning fast. Now we're "blessed" with Java and everything is a bloated, clunky memory hog that takes five seconds to open a simple editor window.
Memory usage is now almost 2GB after a long debug session. The heap shows 203M of 1228M. Running garbage collection has no effect on system memory. There's definitely a nasty leak in there somewhere.
lemmiwinks said:Memory usage is now almost 2GB after a long debug session.
Did the system memory usage grow when CCS is idle? Or is the growth during active usage of CCS? My memory usage can spike up as I actively use CCS. But when I let it idle, it does not grow... and will decrease a bit on its own.
lemmiwinks said:The heap shows 203M of 1228M.
Note that in CCSv9.3, we increased the max heap size from 768mb to 2048mb. Hence the overall system memory usage of CCS will be larger than what you've seen in prior versions. 768m was always a bit on the low size but we were limited in how large we can set the max value because CCS used to be a 32-bit application on Windows. But CCSv9 and greater is a 64-bit application. This allowed us to increase the max heap size (which we did starting with CCSv9.3). This improved the performance of CCS and greatly reduced the "java low heap" and "out of memory" type errors that used to pop up in the past.
The side effect of this is the increased system memory usage as the increased max heap size allowed the heap to grow larger than it used to.
lemmiwinks said:Running garbage collection has no effect on system memory.
This would clean up the used heap amount, but not the overall heap size.
By default, the heap doesn't shrink on its own. But additional parameters to the JVM may be used to support this:
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
Another option is to simply lower the max heap size value to something you are more comfortable with. I think the original 768m was too small but something in the middle of that and the current value.