> On márc. 17, 2016, 4:37 du, Robert Levas wrote:
> > ambari-server/src/main/python/ambari_server_main.py, line 89
> > <https://reviews.apache.org/r/44958/diff/1/?file=1302356#file1302356line89>
> >
> >     I am not familiar with these options, but it apears like no one really 
> > knows what they do.  See https://dzone.com/articles/busting-permgen-myths 
> > for an example. 
> >     
> >     Do we really think that this is necessary?  Do we know how this will 
> > affect performance?

These options are for JVM, it can be checked in the jvm implementors webpage. 
For example IBM does not use permgen space at all, but oracle does. The first 
option has not effect from java 7, but it was useful in java 6 and before, so I 
removed that one.
However -XX:+CMSClassUnloadingEnabled is useful. When classes are loaded 
(statically or dynamically) they are stored in permgen space and remains there 
forever (well, almost...). Since we use CMS (-XX:+UseConcMarkSweepGC flag is 
already defined), we can allow GC to unload unused classes. As a result it can 
increase the free space in permGen. In normal case when permGen space is full, 
garbage collector initiates a STW (stop-the-world) action to clean permgen 
space.
Short description here: 
https://blogs.oracle.com/poonam/entry/about_g1_garbage_collector_permanent
Oracle tutorial here: 
http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html

>From Java 8 as I know there is no permGen space, so this issue relates only to 
>java 7.

So I removed -XX:+CMSPermGenSweepingEnabled, but I kept 
-XX:+CMSClassUnloadingEnabled. Performance wise you should not experience any 
difference.


- Daniel


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/44958/#review124042
-----------------------------------------------------------


On márc. 17, 2016, 2:57 du, Daniel Gergely wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/44958/
> -----------------------------------------------------------
> 
> (Updated márc. 17, 2016, 2:57 du)
> 
> 
> Review request for Ambari, Laszlo Puskas, Oliver Szabo, Robert Levas, Sandor 
> Magyari, and Sebastian Toader.
> 
> 
> Bugs: AMBARI-15465
>     https://issues.apache.org/jira/browse/AMBARI-15465
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Increased permGen size to 128m, also added **-XX:+CMSPermGenSweepingEnabled** 
> and **-XX:+CMSClassUnloadingEnabled** to allow jvm to keep permGen space 
> clean.
> 
> 
> Diffs
> -----
> 
>   ambari-server/conf/unix/ambari-env.sh e9fdcdd 
>   ambari-server/src/main/python/ambari_server_main.py 00e084b 
> 
> Diff: https://reviews.apache.org/r/44958/diff/
> 
> 
> Testing
> -------
> 
> Manual testing:
> [root@c6401 sbin]# ps -ef | grep ambari-server
> root     20769     1 27 14:47 pts/0    00:00:24 
> //usr/jdk64/jdk1.8.0_60/bin/java -server -XX:NewRatio=3 
> -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit 
> -XX:CMSInitiatingOccupancyFraction=60 **-XX:+CMSPermGenSweepingEnabled 
> -XX:+CMSClassUnloadingEnabled** -Dsun.zip.disableMemoryMapping=true -Xms512m 
> -Xmx2048m **-XX:MaxPermSize=128m** 
> -Djava.security.auth.login.config=//etc/ambari-server/conf/krb5JAASLogin.conf 
> -Djava.security.krb5.conf=/etc/krb5.conf 
> -Djavax.security.auth.useSubjectCredsOnly=false -Xms512m -Xmx2048m 
> -Djava.security.auth.login.config=//etc/ambari-server/conf/krb5JAASLogin.conf 
> -Djava.security.krb5.conf=/etc/krb5.conf 
> -Djavax.security.auth.useSubjectCredsOnly=false -cp 
> //etc/ambari-server/conf:/usr/lib/ambari-server/*:/usr/share/java/postgresql-jdbc.jar
>  org.apache.ambari.server.controller.AmbariServer
> 
> 
> Thanks,
> 
> Daniel Gergely
> 
>

Reply via email to