[jboss-jira] [JBoss JIRA] (WFCORE-1319) Suggested defaults for Metasize and Java 8

Ken Wills (JIRA) issues at jboss.org
Fri Jan 22 13:40:00 EST 2016


    [ https://issues.jboss.org/browse/WFCORE-1319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13152668#comment-13152668 ] 

Ken Wills commented on WFCORE-1319:
-----------------------------------

[~andy.miller] Andrig, thanks for your input. What is your opinion on the setting for servers in the <jvm> section of host.xml? We used to use 256m for permgen, but using this for Metaspace appears to cause server processes that are about 100mb bigger than previously. Do you think we could have this set to 128mb?

> Suggested defaults for Metasize and Java 8
> ------------------------------------------
>
>                 Key: WFCORE-1319
>                 URL: https://issues.jboss.org/browse/WFCORE-1319
>             Project: WildFly Core
>          Issue Type: Enhancement
>            Reporter: Ken Wills
>            Assignee: Ken Wills
>
> 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