All Projects → jelastic-jps → java-memory-agent

jelastic-jps / java-memory-agent

Licence: Apache-2.0 license
Java Memory Agent for Container RAM Usage Optimization

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to java-memory-agent

GC
A lightweight conservative garbage collector for C/C++
Stars: ✭ 108 (+208.57%)
Mutual labels:  garbage-collector, memory-management
on-the-fly-gc
Concurrent mark-sweep garbage collector for accurate garbage collection of language runtimes in C++ 1x.
Stars: ✭ 25 (-28.57%)
Mutual labels:  garbage-collector, memory-management
mmtk-core
Memory Management ToolKit
Stars: ✭ 205 (+485.71%)
Mutual labels:  garbage-collector, memory-management
cactusref
🌵 Cycle-Aware Reference Counting in Rust
Stars: ✭ 129 (+268.57%)
Mutual labels:  garbage-collector, memory-management
wintenApps
Windows App Essentials NVDA add-on
Stars: ✭ 20 (-42.86%)
Mutual labels:  add-on
Aqeous
(Inactive, Checkout AvanaOS, Rewrite of this) This is a New Operating System (Kernel right now). Made completely from scratch, We aim to make a complete OS for Learning purpose
Stars: ✭ 23 (-34.29%)
Mutual labels:  memory-management
M2SLAM
M2SLAM: Visual SLAM with Memory Management for large-scale Environments
Stars: ✭ 38 (+8.57%)
Mutual labels:  memory-management
doc
Get usage and health data about your Node.js process.
Stars: ✭ 17 (-51.43%)
Mutual labels:  garbage-collector
Weakify
Provides a way use a method on a class as a closure value that would be referenced by some other component without causing memory leaks.
Stars: ✭ 65 (+85.71%)
Mutual labels:  memory-management
taskbar-monitor
monitoring tool with graphs (CPU, memory, disk and network) for Windows taskbar.
Stars: ✭ 121 (+245.71%)
Mutual labels:  memory-management
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+8394.29%)
Mutual labels:  garbage-collector
poireau
Poireau: a sampling allocation debugger
Stars: ✭ 76 (+117.14%)
Mutual labels:  memory-management
elasticsearch-hints
Some useful links about Elasticsearch
Stars: ✭ 21 (-40%)
Mutual labels:  garbage-collector
kernel memory management
总结整理linux内核的内存管理的资料,包含论文,文章,视频,以及应用程序的内存泄露,内存池相关
Stars: ✭ 521 (+1388.57%)
Mutual labels:  memory-management
memsec
Rust implementation `libsodium/utils`.
Stars: ✭ 39 (+11.43%)
Mutual labels:  memory-management
total
Ruby Gem to get total memory size in the system
Stars: ✭ 15 (-57.14%)
Mutual labels:  memory-management
BankOfSpring
Production ready maven based Spring Boot starter kit application with example cases of handling transactions with Spring.
Stars: ✭ 39 (+11.43%)
Mutual labels:  java-docker-optimization
visited
Securely collect browsing history over browsers.
Stars: ✭ 60 (+71.43%)
Mutual labels:  add-on
zerogc
Zero overhead tracing garbage collection for rust (WIP)
Stars: ✭ 39 (+11.43%)
Mutual labels:  garbage-collector
stampinfo
Stamp Info is a Blender add-on that ensures the tracking of the rendered images by writing all the meta information directly on them, on specific areas such as their top and bottom.
Stars: ✭ 21 (-40%)
Mutual labels:  add-on

java-memory-agent

Java Memory Agent Add-On

The Java Memory Agent package implements automatic RAM usage optimization for Java-powered stacks of any type (application servers, databases, etc) by adjusting the most essential Java memory parameters according to the amount of resources, allocated to a container.

What it is intended for?

This add-on is designed to optimize any custom Java server (i.e. hosted with Docker containers or on top of VPS). Herewith, it is applicable not only to application server stacks (e.g. Tomcat, WildFly, GlassFish, etc), but to any Java-powered instance as well (e.g. Neo4j or Cassandra databases).

Note: Jelastic-managed Java stacks are provisioned with a similar tuning out-of-box, thus their additional optimization with this add-on is not needed.

To learn more about Jelastic Add-ons and their usage, refer to the linked guide.

Java Memory Agent Add-On Specific

To implement the required configurations, the following changes are applied by this add-on upon installation:

  • supervisor.sh - intercepts java command on a shell level to analyze and substitute default start options with optimized ones
  • memoryConfig.sh - adjusts the most essential Java parameters, like: -Xmx, -Xms, -Xmn, -Xmaxf, -Xminf, -XX:MaxPermSize and GC type; herewith, parameters defined via environment variables won’t be changed
  • javaagent - performs periodical Full GC calls to reduce the memory usage and release unused RAM back to OS. To disable this functionality please define environment variable VERT_SCALING=false.

In addition, the Java Memory Agent by Jelastic considers all the specific issues of Java hosting within containers (e.g. incorrect memory limits determination, native non-heap memory usage, RAM adjustment on a fly, etc.). This allows to improve stability and reliability of your application in general.

Note: Upon add-on installation, the corresponding server should be restarted with new parameters, which will cause a brief downtime of the service it runs.

In order to avoid this, consider to increase the number of instances within a target environment layer so that the required changes could be applied sequentially, by restarting them one-by-one.

Herewith, the originally used application parameters are automatically backed up and could be easily restored with a simple add-on removal, if needed (see the details within the dedicated section below).

How to Install Java Memory Agent to Jelastic Environment

The Java Memory Agent add-on can be applied to the required server by importing the manifest.jps file above.

java-agent-installation

Within the appeared form, use the appropriate drop-down lists to specify the environment and Java-running server that should be optimized:

  • Environment name - choose a target environment within your account
  • Nodes - select the corresponding environment layer with the required server

Click Install when ready and wait a few minutes for your application memory usage to be properly adjusted by Jelastic.

java-agent-installed

After the successful installation, you can open the embedded statistic monitoring tool to track your server’s RAM consumption with new settings.

How to Restore the Initial Java Parameters

Upon installation, the Java Memory Agent add-on automatically preserves the previously used Java settings within a dedicated backup file. Consequently, these configs can be effortlessly restored through the add-on removal, if needed.

java-agent-uninstall

For that, click on the Add-ons button next to the corresponding environment layer to open the same-named tab and select the Uninstall option within the Java Memory Agent menu.

Related Articles

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].