[ 
https://issues.apache.org/jira/browse/IGNITE-4374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15832092#comment-15832092
 ] 

Vyacheslav Daradur commented on IGNITE-4374:
--------------------------------------------

*Jvm options are checked:*
||Option||Type of check||
|Heap size > 30,5Gb, JVM| outputs the warning|
|-server| JDK name doesn't contain "server" 
|-Xmx / -mx| absent in args |
|-XX:MaxDirectMemorySize| absent in args |
|-XX:+DisableExplicitGC| absent in args |
|-XX:+UseTLAB| absent in args |
|-XX:+PrintGCDetails| absent in args |
|-XX:+PrintGCTimeStamps| absent in args |
|-XX:+PrintGCDateStamps|  absent in args |
|-XX:+UseGCLogFileRotation| absent in args |
|-XX:NumberOfGCLogFiles| absent in args |
|-XX:GCLogFileSize| absent in args |
|-Xloggc| absent in args |
|-XX:+UseG1GC| absent in args & JDK8|

*OS parameters are cheked (only RedHat family):*
||Option||Type of check||Notes||
|vm.dirty_writeback_centisecs| !=500 |if exists in system|
|vm.dirty_expire_centisecs| !=500 |if exists in system|
|vm.swappiness| !=10 |if exists in system|
|vm.zone_reclaim_mode| !=0 |if exists in system|
|vm.extra_free_kbytes| !=1240000 |if exists in system|

*Output example*
{code}
[19:14:47] 
[19:14:47] Message queue limit is set to 0 which may lead to potential OOMEs 
when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to 
message queues growth on sender and receiver sides.
[19:14:47] Security status [authentication=off, tls/ssl=off]
[19:14:47] Heap size is greater than 30.5Gb, JVM will not use compressed oops.
[19:14:50] JVM Garbage Collection logging is not configured properly.
[19:14:50] Please, add the following parameters to the JVM configuration:
[19:14:50]     -XX:+PrintGCDetails
[19:14:50]     -XX:+PrintGCTimeStamps
[19:14:50]     -XX:+PrintGCDateStamps
[19:14:50]     -XX:+UseGCLogFileRotation
[19:14:50]     -XX:NumberOfGCLogFiles=10
[19:14:50]     -XX:GCLogFileSize=100M
[19:14:50]     -Xloggc:/path/to/gc/logs/log.txt
[19:14:50] Use the following JVM-options to increase Ignite performance:
[19:14:50]     -server
[19:14:50]     -Xmx<size>[g|G|m|M|k|K]
[19:14:50]     -XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]
[19:14:50]     -XX:+UseTLAB
[19:14:50]     -XX:+DisableExplicitGC
[19:14:50] For JDK 1.8 use the G1 garbage collector:
[19:14:50]     -XX:+UseG1GC
[19:14:50] Please, use the following commands to configure your OS:
[19:14:50]     sysctl –w vm.dirty_writeback_centisecs=500
[19:14:50]     sysctl –w vm.dirty_expire_centisecs=500
[19:14:50]     sysctl –w vm.swappiness=10
[19:14:50]     sysctl –w vm.zone_reclaim_mode=0
[19:14:50]     sysctl –w vm.extra_free_kbytes=1240000
[19:14:50] Consult with your IT department before making changes at the Linux 
kernel level in production!
[19:14:50] Get more information on performance tuning: 
https://apacheignite.readme.io/docs/jvm-and-system-tuning
[19:14:50] 
[19:14:50] To start Console Management & Monitoring run ignitevisorcmd.{sh|bat}
[19:14:50] 
[19:14:50] Ignite node started OK (id=f3749d16)
{code}

Build by JDK7 - passed
[Latest 
ci.ignite-tests|http://ci.ignite.apache.org/viewQueued.html?itemId=427361&buildTypeId=IgniteTests_RunAll&tab=queuedBuildOverviewTab]

[~yzhdanov], please review it again.

> Ignite should validate JVM and OS configuration and output warning in log
> -------------------------------------------------------------------------
>
>                 Key: IGNITE-4374
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4374
>             Project: Ignite
>          Issue Type: Improvement
>          Components: documentation
>            Reporter: Yakov Zhdanov
>            Assignee: Vyacheslav Daradur
>         Attachments: x32_not_optimized.png, x32_optimized.png, 
> x64_not_optimized.png, x64_optimized.png
>
>
> Currently we have GridPerformanceSuggestions that output suggestions to logs 
> on Ignite start on how Ignite can be improved.
> I suggest to go a little bit deeper and validate more configuration options 
> and add validation for JVM and OS settings.
> Ignite should output warning if:
> * GC logging is not enabled
> * MaxDirectMemorySize is not set (-XX:MaxDirectMemorySize)
> * Heap size is greater than 30,5G and JVM cannot use compressed oops
> * Any of the recommended OS setting described here 
> https://apacheignite.readme.io/docs/jvm-and-system-tuning are not properly 
> set 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to