Bug 882968
Summary: | high cpu consumption by multi threaded GC. Option -XX:+UseSerialGC fixes the problem. | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Need Real Name <mal> |
Component: | java-1.7.0-openjdk | Assignee: | Andrew Haley <aph> |
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 23 | CC: | ahughes, aph, dbhole, extras-orphan, jerboaa, jvanek, omajid, sgehwolf |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-02-03 11:29:43 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Need Real Name
2012-12-03 14:10:58 UTC
typical -verbosegc activity [GC 205164K->88888K(529792K), 0.0322330 secs] [GC 256952K->111116K(563456K), 0.0326090 secs] [GC 312844K->99364K(592128K), 0.0111930 secs] [GC 341476K->102581K(643776K), 0.0101070 secs] [GC 393141K->106848K(715264K), 0.0118210 secs] [GC 448096K->99468K(724480K), 0.0086280 secs] [GC 449996K->127873K(722624K), 0.0199200 secs] [GC 478401K->96847K(800192K), 0.0053250 secs] [GC 517519K->120997K(800384K), 0.0227900 secs] [GC 541669K->136976K(879168K), 9.7114270 secs] [GC 634640K->133554K(886336K), 15.3138190 secs] [GC 631218K->121857K(988800K), 55.5103740 secs] [GC 719105K->113634K(989632K), 16.8052030 secs] [GC 710882K->115767K(1100416K), 142.1581620 secs] [GC 832503K->121082K(1103296K), 32.7212000 secs] [GC 837818K->100876K(1246080K), 26.8942670 secs] [GC 960972K->131807K(1246080K), 158.6862940 secs] [GC 991903K->97159K(1421440K), 20.1908390 secs] [GC 1128967K->139502K(1421760K), 179.5423220 secs] [GC 1171310K->98999K(1633344K), 0.0037880 secs] looks like the option -XX:+UseSerialGC cures the issue. Looks like multi-thead GC is unusable on Linux x64 Typical memory/CPU usage for -XX:+UseSerialGC option so much better better than the defaults. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7921 mal 20 0 8942m 554m 9.9m S 99.8 1.7 15:34.95 java 7920 mal 20 0 8942m 584m 9.9m S 99.5 1.8 15:35.57 java Almost no spikes >120% CPU. The 120-130% CPU usage goes for less than a second (single thread GC activity). Than back to 100% as expected, when GC is not active. The multi thread GC is definitely broken on Linux x64. I was not able to run just 3 unit tests at once at 3.4 Ghz 32Gb memory computer. Also, note memory usage by programs when multi-threaded GC is used. There is no way the unit tests can consume 3.3 Gbytes of memory. Most likely leakage in multi-threaded GC. I will wait what single threaded GC would show, but it expect should never exceed 0.2-0.5Gb. Some time later. memory usage with single threaded GC is still lower than with multi threaded GC, what may be an indication of memory leak in multi threaded GC (in addition to high CPU consumption). PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7921 mal 20 0 8949m 650m 10m S 100.1 2.0 1005:28 java 7920 mal 20 0 8942m 605m 10m S 99.4 1.9 1005:27 java Also, the issue is may well be glibc related. Because I do not remember this issue back in August 2012 with java6. It may be some strange interaction between glibc and java. More time later. Again, no memory footprint increase. Still about 2% usage, not 10% as it was when multi-thread GC was used. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7920 mal 20 0 8942m 606m 10m S 99.7 1.9 1233:46 java 7921 mal 20 0 8949m 651m 10m S 99.7 2.0 1233:48 java By the way. when javac is invoked it may consume >500% CPU because javac uses multi-threaded GC by default. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 16947 mal 20 0 9804m 141m 10m S 502.7 0.4 0:19.86 javac 7921 mal 20 0 8949m 651m 10m S 85.1 2.0 1304:06 java 7920 mal 20 0 8942m 606m 10m S 76.1 1.9 1304:05 java just on compiler stage. javac consumes all the CPU and it takes 5 minutes to compile a trivial program. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 13234 mal 20 0 9804m 143m 10m S 738.4 0.5 11:41.04 javac I am not completely sure, but looks that javac -g -J-XX:+UseSerialGC file.java does not cause this all the CPU consumption by javac problem. confirmed that this option: javac -g -J-XX:+UseSerialGC file.java cause no single high CPU consumption case by javac. without -J-XX:+UseSerialGC once in a while it takes >5 min to compile a trivial program. This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle. Changing version to '23'. (As we did not run this process for some time, it could affect also pre-Fedora 23 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora23 |