22. 6. 2015

Jak na OpenShiftu zvýšit Tomcatu PermGen space

Přes nastavitelnou proměnnou prostředí JAVA_OPTS_EXT:

rhc env-set JAVA_OPTS_EXT="-XX:MaxPermSize=512M -Duser.timezone=Europe/Prague" -a appName
Využitá a maximální hodnota paměti se dá v aplikaci zjistit například takto:

import java.lang.management.ManagementFactory;
import java.lang.management.MemoryPoolMXBean;
/**
* Inspects and prints the memory info.
*/
public static void inspectMemory() {
System.out.println("======================== MEMORY INSPECTION ============================");
for (MemoryPoolMXBean mx : ManagementFactory.getMemoryPoolMXBeans()) {
System.out.println(mx.getName() + ": " + mx.getUsage());
if ("Perm Gen".equals(mx.getName())) {
mx.getUsage().getMax();
}
}
System.out.println("======================= MEMORY INSPECTION END =========================");
}
Výstup:

======================== MEMORY INSPECTION ============================
Code Cache: init = 2359296(2304K) used = 2468928(2411K) committed = 2523136(2464K) max = 50331648(49152K)
PS Eden Space: init = 11010048(10752K) used = 6017296(5876K) committed = 12320768(12032K) max = 87818240(85760K)
PS Survivor Space: init = 1572864(1536K) used = 655360(640K) committed = 1048576(1024K) max = 1048576(1024K)
PS Old Gen: init = 28049408(27392K) used = 36738056(35877K) committed = 39321600(38400K) max = 178782208(174592K)
PS Perm Gen: init = 16777216(16384K) used = 34831232(34014K) committed = 41943040(40960K) max = 536870912(524288K)
======================= MEMORY INSPECTION END =========================

Žádné komentáře:

Okomentovat