Simplicity Studio is based on Eclipse which uses a Java Virtual Machine (JVM) as the underlying platform. The JVM Java heap space by default is limited to 1/4 of the physical memory on the computer. With recent SDK releases the memory requirements during the AppBuilder "Generate" function and other memory intensive operations may exceed the default Java heap space maximum (see image below). This is especially true on computers that have 8 GB or less of memory, as the default maximum heap space would be 2 GB (1 GB for a 4 GB computer) on these computers.
The following are guidelines for reducing the amount of memory that Simplicity Studio uses in general as well as how to increase the maximum heap space Simplicity Studio will try to use based on memory availability in the system. Note the allocated memory will be released after the operation that allocated it finishes - so the memory is not permanently allocated to Simplicity Studio.
1. If there is less than 16 GB of RAM installed, then use a text editor to edit the studio.ini file from the Simplicity Studio installation directory and add the line
line. This will allow Simplicity Studio to try and allocate up to 3 GB of RAM for the Java heap space. If you still get an out of memory error (GC overhead limit exceeded) with the above setting then it can be changed to -Xmx4096m. For computers with 16 GB or more of memory, Simplicity Studio will use up to 4 GB of RAM by default (the default is to use up to 1/4 of the available memory), but this can be increased to a higher limit if issues are seen. Note that for 32-bit Windows installations the maximum Java heap size is 2 GB, so this setting will not work for 32-bit installations.
2. On some Windows systems there is a _java_options system environment variable that will limit Java applications to only using a small amount (256 or 512 MB) of Java heap space. Look for this variable under Look under [System] > [Advanced system settings] > [Environment Variables] in the [Systems variables] section for a _java_options variable and if it exists increase the value to 2g or 3g.
3. Only enable 1 or 2 SDKs per workspace (This is done at [Window] > [Preferences] > [Simplicity Studio] > [SDKs] and uncheck (disable) SDKs that are not being used). This change will make a big reduction in how much memory Simplicity Studio uses.
At the end of this KBA there are some tips for using multiple workspaces: https://www.silabs.com/community/software/simplicity-studio/knowledge-base.entry.html/2018/08/22/gecko_sdk_suite_tool-qlc4
4. Only have a few projects open in the Simplicity Studio project explorer. Other projects can be closed by right clicking the project folder and selecting [Close Project] or [Close Unrelated Projects].
5. Minimize the number of open files in the Simplicity IDE, especially .isc or .hwconf files.
6. Enable display of heap status ([Window] > [Preferences] > [General] and select [Show heap status]). Then periodically and especially before creating or generating a project with AppBuilder click the trashcan icon to run the garbage collector to free up memory.
7. Change the JVM Garbage Collector to a more aggressive garbage collector than the default one. Use a text editor to edit studio.ini and add this line
After the line
Note changing the garbage collector could slow down the Generate and other operations.