Maximum size of the ram used by the the JVM running on a device

Dear MicroEj,

What are the main characteristics defined by the MicroEJ configuration we need to look at when we want to choose the appropriate RAM size of the target device on which the JVM must run ?

Thanks in advance for your feedback,

JB Watine

Hi @jeanBaptiste,

MicroEJ uses different buffers, you should have a look at:

  • The java heap size (defined in the run configuration, section _java_heap).
  • The immortal heap size (defined in the run configuration, section _java_immortals).
  • The java static fields (section .bss.soar)
  • Java stack blocks (defined in the run configuration, section .bss.vm.stacks.java).
  • The size of the native VM RTOS task stack
  • The internal core buffer size (internal structure, number of threads, defined by the architecture, section ICETEA_HEAP)
  • Some foundation libraries will also defined custom buffer
    • MicroUI (Image heap, defined in the run configuration)
    • Ecom
    • KF
    • Shielded plug

You can find more details in the device developer guide (section 7.10).

Regards,