Информация, отображаемая на панели инструментов, представляет собой стандартные номера, которые предоставляет JVM: totalMemory()
, maxMemory()
и freeMemory()
.См. этот вопрос для подробного объяснения.Три значения даны для всей JVM, а не для конкретного приложения.
В JVM Domino HTTP вы можете установить maxMemory
с параметром HTTPJVMMaxHeapSize
notes.ini.Вы не можете установить / изменить общее выделенное (totalMemory) значение, но это также не требуется.JVM просто выделит больше памяти, когда это будет необходимо (до значения maxMemory
).Когда сборка мусора будет выполнена, это в конечном итоге также освободит эту память снова.
Агенты Java не влияют на эти числа.Единственным исключением может быть агент Java, который выполняется в процессе HTTP (например, вызывается из браузера с помощью команды? OpenAgent).
На сервере вы можете столкнуться с проблемами памяти (исключения OutOfMemory), если JVM требуетсябольше памяти, которая может быть выделена.Вы можете отслеживать это значение, создав простой агент XAgent для вывода текущих значений для JVM:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" rendered="false" viewState="nostate">
<xp:this.afterRenderResponse><![CDATA[#{javascript:
var externalContext = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = externalContext.getResponse();
response.setContentType("application/json");
response.setHeader("Cache-Control", "no-cache");
var max = java.lang.Runtime.getRuntime().maxMemory();
var free = java.lang.Runtime.getRuntime().freeMemory();
var total = java.lang.Runtime.getRuntime().totalMemory();
var memory = {
max : max,
total : total,
free : free,
available : (max - total) + free
};
writer.write( toJson(memory) );
writer.endDocument();
}]]>
</xp:this.afterRenderResponse>
</xp:view>