[jboss-jira] [JBoss JIRA] (WFLY-6053) Suggested defaults for Metasize and Java 8
Brian Stansberry (JIRA)
issues at jboss.org
Mon Jan 25 16:40:00 EST 2016
[ https://issues.jboss.org/browse/WFLY-6053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Brian Stansberry updated WFLY-6053:
-----------------------------------
Component/s: Domain Management
> Suggested defaults for Metasize and Java 8
> ------------------------------------------
>
> Key: WFLY-6053
> URL: https://issues.jboss.org/browse/WFLY-6053
> Project: WildFly
> Issue Type: Enhancement
> Components: Domain Management
> Reporter: Ken Wills
> Assignee: Ken Wills
> Fix For: 10.0.0.Final
>
>
> This is the ticket to perform the analogous changes made to core in WFCORE-1319 regarding default MetasizeSpace/
> Since PermGen is no longer used, and has been replaced by Metasize, we probably need to alter the initial startup values. Current WF is using:
> -XX:MaxMetaspaceSize=256m
> After some testing with garbage collection logging on (\-verbose:gc \-Xloggc:hcgc.log \-XX:+PrintGCDateStamps \-XX:MetaspaceSize=XX), the GC logs were monitored for at least one occurrence of a full GC due to Metadata threshold (example [Full GC (Metadata GC Threshold) 39592K->20187K). Using this information, minimum levels of Metasize for various configurations were determined.
> The numbers below are the values used for \-XX:MetaspaceSize=XXM followed by the number of full GCs triggered at that amount measured during boot of WF10-full:
> Standalone:
> {quote}
> standalone.xml 52MB(1), 53MB(0)
> standalone-full.xml 64MB(1), 65MB(0)
> standalone-ha.xml 52MB(1), 54MB(0)
> standalone-full-ha.xml 79MB(1), 80MB(0)
> {quote}
> For domain mode, the corresponding values were determined to be:
> {quote}
> Process Controller: 12MB(1), 13MB(0)
> Host Controller: 39MB(1), 40MB(0)
> {quote}
> In domain mode, a very slight, non-scientifically measured boot time difference was observed (1769ms default Metasize vs 1694ms with 40m MetaSize set for host controller).
> The approximate cost of increasing MetaSize over the default is summerized below (using top to collect RSS after server boot):
> JBoss AS 7.1.1: (default permgen (-XX:PermSize=256m -XX:MaxPermSize=256m), JDK 7)
> ||Configuration||RSS(KB)||
> |standalone.xml| 182,652 |
> |standalone-ha.xml | 211,672 |
> |standalone-full.xml | 217,636 |
> |standalone-full-ha.xml | 289,524 |
> |domain:||
> | Server-one: | 227,220 |
> | Server-two: | 234,944 |
> | PC: | 37,584 |
> | HC: | 138,428 |
> Wildfly 10: (default Metasize == 21M)
> ||Configuration||RSS(KB)||
> |standalone.xml | 293,576 |
> |standalone-ha.xml | 303,344 |
> |standalone-full.xml | 388,660 |
> |standalone-full-ha.xml | 478,576 |
> |domain: ||
> | Server-one: | 379,076 |
> | Server-two: | 377,516 |
> | PC: | 55,000 |
> | HC: | 272,120 |
> Wildfly 10: (Metasize == 64M)
> |standalone.xml | 290,236 |
> |standalone-ha.xml | 306,032 |
> |standalone-full.xml | 396,596 |
> |standalone-full-ha.xml | 501,576 |
> |domain:|
> | Server-one: |
> | Server-two: |
> | PC: |
> | HC: |
> Wildfly 10: (Metasize == 96M)
> ||Configuration||RSS(KB)||
> |standalone.xml |317,996 |
> |standalone-ha.xml | 306,516 |
> |standalone-full.xml |416,008 |
> |standalone-full-ha.xml |460,952 |
> |domain: |
> | Server-one: | 380,816 |
> | Server-two: | 374,300 |
> | PC: | 55,308 |
> | HC: | 273,220 |
> Additional measurements. Using just Wildfly-core, the following RSS sizes are measured for the indicated Metasize:
> Wildfly-10 Core master
> ||Metasize || RSS(KB) ||
> |21m | 117,760|
> |64m | 120,772|
> |96m | 131,104|
> There is little boot time impact on the change:
> Wildfly-10 Core master
> ||Metasize || Boot time (MS) ||
> |21m | 2127 |
> |64m | 2066 |
> |96m | 2099 |
> Based on the memory impact of defaulting to 96M (approx 30mb initially over the default value of 21mb), it would seem to make sense to use this as a default value, which allows maintaining boot times without incurring a full GC due to Metasize and provides enough initial Metasize to both start the application server and perhaps deploy an application without incurring any performance penalty.
> An additional note: host*.xml has JVM params set to MetaspaceSize=256m, which is probably too large an initial value.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list