Skip to content

Allow flexible configuration of balloon and JVM memory management #603

Open
@lgoldstein

Description

@lgoldstein

The current code for the balloon is disabled due to some conflicts with the garbage collection mechanism. Furthermore, the JVM memory configuration switches (e.g., -Xmx, -Xss, -XX:PermSize, etc.) only accept absolute values. The idea is that if OSV is running only the JVM, the user might be interested in controlling the memory management as a percentage of the total available memory rather than use absolute values. This way, if the VM is provisioned with more / less memory, the settings will automatically auto-adjust. Therefore, the following improvements are suggested:

  • Allow specifying JVM switches that control memory using percentage - e.g., -Xmx<MEM=80%,UNIT=M>, -XX:MaxPermSize=<MEM=15%,UNIT=G>
  • When activating the balloon, allow configuration specifying how much to "reserve" for the JVM and how much to allocate for "other consumers" (such as the filesystem, network buffers and any other) - e.g., JVM=80%, Filesystem=5%, Network=8%, etc...
  • Consult a configuration file that resides on the image for the above mentioned memory settings, so that users can affect a change by simply editing the file and re-booting instead of having to re-generate a new image with the new settings

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions