From Antonios.Printezis at sun.com Mon Mar 2 10:30:51 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Mon, 02 Mar 2009 13:30:51 -0500 Subject: Code review request: 6810698: G1: two small bugs in the sparse remembered sets XXXS (updated) In-Reply-To: <49A6D9C7.3050208@sun.com> References: <49A6D9C7.3050208@sun.com> Message-ID: <49AC25DB.3040305@sun.com> New webrev here: http://cr.openjdk.java.net/~tonyp/6810698/webrev.01/ I also resolved a related small issue (and I changed the title of the CR to reflect that; I didn't think it was worth opening a second one): There is an additional issue with the sparse RSets. When we iterate over a sparse RSet, we actually use the _next table, instead of the _cur one. This creates a race between the _next table being expanded and the iteration. The whole point of having two tables is to have a stable one (_cur) and one that might be modified (_next) so that we can look at the stable one safely during a GC. Iterating over _next is plain wrong. This fix, along with the fix related to the _expanded check, seem to have resolved all the "missing rem set" issues related to sparse tables. Tony Tony Printezis wrote: > From the CR blurb: > > Each sparse RSet has two tables: cur and next. At the beginning, both > tables are the same (i.e., the two references _cur and _next point to > the same table). When a sparse table needs to be expanded during a GC, > the flag _expanded on the table is set, a new table is created > (pointed to by _next) and the RSet is added to the expanded list. > After the collection (in fact, at the beginning of the next > collection), we iterate over the expanded list, we get rid of the _cur > tables, and set _cur to point to _next (so the _next table basically > replaces the _cur table). Unfortunately, at that time, the _expanded > flag is not reset. So, if the sparse table is expanded again, it is > not added to the expanded list (that operation is conditional on > !_expanded, so that the table is not added twice during the same GC). > As a result, some of the sparse tables are left in an inconsistent > state, which causes some entries not to be scanned correctly during a GC. > > http://cr.openjdk.java.net/~tonyp/6810698/webrev.00/ > > (one line change!!!) > > Tony > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From pdu at cse.unl.edu Mon Mar 2 13:20:45 2009 From: pdu at cse.unl.edu (Peng Du) Date: Mon, 02 Mar 2009 15:20:45 -0600 Subject: Memory Accesses in Old Generation Message-ID: <1236028845.7284.8.camel@localhost> Hello, everyone If I want to trace the frequencies of memory accesses (read/write) in the old generation in Hotspot with page granularity(say 4K), what do you think is the best way to do it? For example: GC: ParallelOldGC OldGen: 0x849e0000 -> 0x873c0000 Output: ======= Page ======= == Freq == 0x849e0000-0x849e1000 34 0x849e1000 0x849e2000 53 0x849e2000 0x849e3000 23 0x849e3000 0x849e4000 56 0x849e4000 0x849e5000 788 ...... ...... Thanks in advance! Peng Du 03/02/2009 From Antonios.Printezis at sun.com Mon Mar 2 14:16:31 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Mon, 02 Mar 2009 17:16:31 -0500 Subject: Memory Accesses in Old Generation In-Reply-To: <1236028845.7284.8.camel@localhost> References: <1236028845.7284.8.camel@localhost> Message-ID: <49AC5ABF.10009@sun.com> Well, you can protect the entire old gen and update your stats when you trap. It will be very slow though. I'm curious what you'd like to do with the stats. Tony Peng Du wrote: > Hello, everyone > > If I want to trace the frequencies of memory accesses (read/write) in > the old generation in Hotspot with page granularity(say 4K), what do you > think is the best way to do it? > > For example: > > GC: ParallelOldGC > OldGen: 0x849e0000 -> 0x873c0000 > > Output: > ======= Page ======= == Freq == > 0x849e0000-0x849e1000 34 > 0x849e1000 0x849e2000 53 > 0x849e2000 0x849e3000 23 > 0x849e3000 0x849e4000 56 > 0x849e4000 0x849e5000 788 > ...... ...... > > > Thanks in advance! > > > Peng Du > 03/02/2009 > > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From y.s.ramakrishna at sun.com Mon Mar 2 19:18:50 2009 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Tue, 03 Mar 2009 03:18:50 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6797870: Add -XX:+{HeapDump, PrintClassHistogram}{Before, After}FullGC Message-ID: <20090303031855.ED53AE627@hg.openjdk.java.net> Changeset: c6c601a0f2d6 Author: ysr Date: 2009-03-02 16:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c6c601a0f2d6 6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC Summary: Call newly created CollectedHeap::dump_{pre,post}_full_gc before and after every stop-world full collection cycle on GenCollectedHeap and ParallelScavengeHeap. (Support for G1CollectedHeap forthcoming under CR 6810861.) Small modifications to existing heap dumping and class histogram implementation, especially to allow multiple on-the-fly histos/dumps by the VM thread during a single safepoint. Reviewed-by: jmasa, alanb, mchung ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/includeDB_gc ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/heapDumper.hpp From Antonios.Printezis at sun.com Tue Mar 3 08:17:55 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Tue, 03 Mar 2009 11:17:55 -0500 Subject: Code Review Request: 6812428: G1: Error: assert(ret or obj_in_cs(obj),"sanity") (XXXS) Message-ID: <49AD5833.3000604@sun.com> From the CR blurb: The problem is caused by my fix for the evacuation pause efficiency improvements (6484956 ). When I set up the byte vector which denotes which regions are in the collection set (the vector for the fast cset test), I used n_regions() to decide its size. However, the number of regions can actually be increased during the GC. If this happens and we try to look up into the fast cset test vector, we'll fall off its edge and read junk. The very straightforward fix is to use max_regions() (i.e., the number of reserved regions) instead of n_regions() (i.e., the number of committed regions at the beginning of the GC) when setting up the fast cset test vector. I won't bother with a webrev. Here's the diff: --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @@ -2493,7 +2493,7 @@ G1CollectedHeap::do_collection_pause_at_ guarantee(_in_cset_fast_test == NULL, "invariant"); guarantee(_in_cset_fast_test_base == NULL, "invariant"); - _in_cset_fast_test_length = n_regions(); + _in_cset_fast_test_length = max_regions(); _in_cset_fast_test_base = NEW_C_HEAP_ARRAY(bool, _in_cset_fast_test_length); memset(_in_cset_fast_test_base, false, Tony -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From Igor.Veresov at Sun.COM Tue Mar 3 08:45:48 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Tue, 03 Mar 2009 08:45:48 -0800 Subject: Code Review Request: 6812428: G1: Error: assert(ret or obj_in_cs(obj),"sanity") (XXXS) In-Reply-To: <49AD5833.3000604@sun.com> References: <49AD5833.3000604@sun.com> Message-ID: <200903030845.48548.igor.veresov@sun.com> Looks good. igor On Tuesday 03 March 2009 08:17:55 Tony Printezis wrote: > From the CR blurb: > > The problem is caused by my fix for the evacuation pause efficiency > improvements (6484956 ). > When I set up the byte vector which denotes which regions are in the > collection set (the vector for the fast cset test), I used n_regions() to > decide its size. However, the number of regions can actually be increased > during the GC. If this happens and we try to look up into the fast cset > test vector, we'll fall off its edge and read junk. > > The very straightforward fix is to use max_regions() (i.e., the number of > reserved regions) instead of n_regions() (i.e., the number of committed > regions at the beginning of the GC) when setting up the fast cset test > vector. > > I won't bother with a webrev. Here's the diff: > > --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp > +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp > @@ -2493,7 +2493,7 @@ G1CollectedHeap::do_collection_pause_at_ > > guarantee(_in_cset_fast_test == NULL, "invariant"); > guarantee(_in_cset_fast_test_base == NULL, "invariant"); > - _in_cset_fast_test_length = n_regions(); > + _in_cset_fast_test_length = max_regions(); > _in_cset_fast_test_base = > NEW_C_HEAP_ARRAY(bool, > _in_cset_fast_test_length); > memset(_in_cset_fast_test_base, false, > > Tony From John.Coomes at sun.com Tue Mar 3 18:31:27 2009 From: John.Coomes at sun.com (John Coomes) Date: Tue, 3 Mar 2009 18:31:27 -0800 Subject: review request (XS) - 6810474 par compact summary phase crash Message-ID: <18861.59391.195509.358548@sun.com> The bug eval hasn't propagated to bugs.sun.com yet, so details are in the webrev. Testing is still in progress. http://cr.openjdk.java.net/~jcoomes/6810474-pc-summary-phase-crash/ -John From john.coomes at sun.com Fri Mar 6 01:06:21 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:06:21 +0000 Subject: hg: jdk7/hotspot-gc: Added tag jdk7-b50 for changeset 5111e13e44e5 Message-ID: <20090306090621.7EB13E8D3@hg.openjdk.java.net> Changeset: 28ba432554f4 Author: xdono Date: 2009-03-05 09:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/28ba432554f4 Added tag jdk7-b50 for changeset 5111e13e44e5 ! .hgtags From john.coomes at sun.com Fri Mar 6 01:10:50 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:10:50 +0000 Subject: hg: jdk7/hotspot-gc/corba: Added tag jdk7-b50 for changeset 0edbd0074b02 Message-ID: <20090306091052.21C10E8D8@hg.openjdk.java.net> Changeset: 12f178e7737f Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/12f178e7737f Added tag jdk7-b50 for changeset 0edbd0074b02 ! .hgtags From john.coomes at sun.com Fri Mar 6 01:18:49 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:18:49 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: Added tag jdk7-b50 for changeset e8514e2be76d Message-ID: <20090306091850.CEDA5E8DD@hg.openjdk.java.net> Changeset: e2da22440463 Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/e2da22440463 Added tag jdk7-b50 for changeset e8514e2be76d ! .hgtags From john.coomes at sun.com Fri Mar 6 01:23:20 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:23:20 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: Added tag jdk7-b50 for changeset 5be52db581f1 Message-ID: <20090306092323.210BFE8E4@hg.openjdk.java.net> Changeset: 3f309316d6bf Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/3f309316d6bf Added tag jdk7-b50 for changeset 5be52db581f1 ! .hgtags From john.coomes at sun.com Fri Mar 6 01:28:44 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:28:44 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 23 new changesets Message-ID: <20090306093335.3AC06E8F2@hg.openjdk.java.net> Changeset: 40ce81649cd6 Author: poonam Date: 2009-02-10 03:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/40ce81649cd6 6755621: Include SA binaries into Windows JDK Summary: These changes will enable inclusion of sa-jdi.jar and sawindbg.dll into Windows JDK bundle. Reviewed-by: never, jjh, alanb ! make/common/Defs-windows.gmk Changeset: 043dfafc41a5 Author: chegar Date: 2009-02-11 13:16 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/043dfafc41a5 6799040: Portability issues in src/solaris/native/java/net/Inet4AddressImpl.c Reviewed-by: alanb Contributed-by: christos at zoulas.com ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: f06f30b29f36 Author: alanb Date: 2009-02-15 12:25 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f06f30b29f36 6781363: New I/O: Update socket-channel API to jsr203/nio2-b99 4313887: New I/O: Improved filesystem interface 4607272: New I/O: Support asynchronous I/O Reviewed-by: sherman, chegar ! make/docs/CORE_PKGS.gmk ! make/docs/NON_CORE_PKGS.gmk ! make/java/nio/Exportedfiles.gmk ! make/java/nio/FILES_c.gmk ! make/java/nio/FILES_java.gmk ! make/java/nio/Makefile ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/mksample/nio/Makefile + make/mksample/nio/file/Makefile + src/share/classes/com/sun/nio/file/ExtendedCopyOption.java + src/share/classes/com/sun/nio/file/ExtendedOpenOption.java + src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java + src/share/classes/com/sun/nio/file/SensitivityWatchEventModifier.java ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/net/StandardProtocolFamily.java ! src/share/classes/java/net/StandardSocketOption.java + src/share/classes/java/nio/channels/AsynchronousByteChannel.java + src/share/classes/java/nio/channels/AsynchronousChannel.java + src/share/classes/java/nio/channels/AsynchronousChannelGroup.java + src/share/classes/java/nio/channels/AsynchronousDatagramChannel.java + src/share/classes/java/nio/channels/AsynchronousFileChannel.java + src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java + src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/Channels.java + src/share/classes/java/nio/channels/CompletionHandler.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/FileLock.java ! src/share/classes/java/nio/channels/MembershipKey.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java + src/share/classes/java/nio/channels/SeekableByteChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/channels/exceptions ! src/share/classes/java/nio/channels/package-info.java + src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java ! src/share/classes/java/nio/channels/spi/SelectorProvider.java ! src/share/classes/java/nio/channels/spi/package.html + src/share/classes/java/nio/file/AccessDeniedException.java + src/share/classes/java/nio/file/AccessMode.java + src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java + src/share/classes/java/nio/file/ClosedDirectoryStreamException.java + src/share/classes/java/nio/file/ClosedFileSystemException.java + src/share/classes/java/nio/file/ClosedWatchServiceException.java + src/share/classes/java/nio/file/CopyOption.java + src/share/classes/java/nio/file/DirectoryNotEmptyException.java + src/share/classes/java/nio/file/DirectoryStream.java + src/share/classes/java/nio/file/DirectoryStreamFilters.java + src/share/classes/java/nio/file/FileAction.java + src/share/classes/java/nio/file/FileAlreadyExistsException.java + src/share/classes/java/nio/file/FileRef.java + src/share/classes/java/nio/file/FileStore.java + src/share/classes/java/nio/file/FileSystem.java + src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java + src/share/classes/java/nio/file/FileSystemException.java + src/share/classes/java/nio/file/FileSystemNotFoundException.java + src/share/classes/java/nio/file/FileSystems.java + src/share/classes/java/nio/file/FileTreeWalker.java + src/share/classes/java/nio/file/FileVisitOption.java + src/share/classes/java/nio/file/FileVisitResult.java + src/share/classes/java/nio/file/FileVisitor.java + src/share/classes/java/nio/file/Files.java + src/share/classes/java/nio/file/InvalidPathException.java + src/share/classes/java/nio/file/LinkOption.java + src/share/classes/java/nio/file/LinkPermission.java + src/share/classes/java/nio/file/NoSuchFileException.java + src/share/classes/java/nio/file/NotDirectoryException.java + src/share/classes/java/nio/file/NotLinkException.java + src/share/classes/java/nio/file/OpenOption.java + src/share/classes/java/nio/file/Path.java + src/share/classes/java/nio/file/PathMatcher.java + src/share/classes/java/nio/file/Paths.java + src/share/classes/java/nio/file/ProviderMismatchException.java + src/share/classes/java/nio/file/ProviderNotFoundException.java + src/share/classes/java/nio/file/ReadOnlyFileSystemException.java + src/share/classes/java/nio/file/SecureDirectoryStream.java + src/share/classes/java/nio/file/SimpleFileVisitor.java + src/share/classes/java/nio/file/StandardCopyOption.java + src/share/classes/java/nio/file/StandardOpenOption.java + src/share/classes/java/nio/file/StandardWatchEventKind.java + src/share/classes/java/nio/file/WatchEvent.java + src/share/classes/java/nio/file/WatchKey.java + src/share/classes/java/nio/file/WatchService.java + src/share/classes/java/nio/file/Watchable.java + src/share/classes/java/nio/file/attribute/AclEntry.java + src/share/classes/java/nio/file/attribute/AclEntryFlag.java + src/share/classes/java/nio/file/attribute/AclEntryPermission.java + src/share/classes/java/nio/file/attribute/AclEntryType.java + src/share/classes/java/nio/file/attribute/AclFileAttributeView.java + src/share/classes/java/nio/file/attribute/AttributeView.java + src/share/classes/java/nio/file/attribute/Attributes.java + src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java + src/share/classes/java/nio/file/attribute/BasicFileAttributes.java + src/share/classes/java/nio/file/attribute/DosFileAttributeView.java + src/share/classes/java/nio/file/attribute/DosFileAttributes.java + src/share/classes/java/nio/file/attribute/FileAttribute.java + src/share/classes/java/nio/file/attribute/FileAttributeView.java + src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributeView.java + src/share/classes/java/nio/file/attribute/FileStoreSpaceAttributes.java + src/share/classes/java/nio/file/attribute/GroupPrincipal.java + src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java + src/share/classes/java/nio/file/attribute/PosixFileAttributes.java + src/share/classes/java/nio/file/attribute/PosixFilePermission.java + src/share/classes/java/nio/file/attribute/PosixFilePermissions.java + src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java + src/share/classes/java/nio/file/attribute/UserPrincipal.java + src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java + src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java + src/share/classes/java/nio/file/attribute/package-info.java + src/share/classes/java/nio/file/package-info.java + src/share/classes/java/nio/file/spi/AbstractPath.java + src/share/classes/java/nio/file/spi/FileSystemProvider.java + src/share/classes/java/nio/file/spi/FileTypeDetector.java + src/share/classes/java/nio/file/spi/package-info.java ! src/share/classes/java/util/Scanner.java + src/share/classes/sun/nio/ch/AbstractFuture.java + src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java + src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java + src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java + src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java + src/share/classes/sun/nio/ch/Cancellable.java + src/share/classes/sun/nio/ch/CompletedFuture.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/ExtendedSocketOption.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java + src/share/classes/sun/nio/ch/FileDispatcher.java ! src/share/classes/sun/nio/ch/FileLockImpl.java + src/share/classes/sun/nio/ch/FileLockTable.java + src/share/classes/sun/nio/ch/Groupable.java ! src/share/classes/sun/nio/ch/IOUtil.java + src/share/classes/sun/nio/ch/Invoker.java ! src/share/classes/sun/nio/ch/MembershipKeyImpl.java ! src/share/classes/sun/nio/ch/MembershipRegistry.java ! src/share/classes/sun/nio/ch/NativeThreadSet.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/OptionKey.java + src/share/classes/sun/nio/ch/PendingFuture.java ! src/share/classes/sun/nio/ch/Reflect.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java + src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java + src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java + src/share/classes/sun/nio/ch/ThreadPool.java ! src/share/classes/sun/nio/ch/Util.java + src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java + src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java + src/share/classes/sun/nio/fs/AbstractPoller.java + src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java + src/share/classes/sun/nio/fs/AbstractWatchKey.java + src/share/classes/sun/nio/fs/AbstractWatchService.java + src/share/classes/sun/nio/fs/Cancellable.java + src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java + src/share/classes/sun/nio/fs/Globs.java + src/share/classes/sun/nio/fs/MimeType.java + src/share/classes/sun/nio/fs/NativeBuffer.java + src/share/classes/sun/nio/fs/NativeBuffers.java + src/share/classes/sun/nio/fs/PollingWatchService.java + src/share/classes/sun/nio/fs/Reflect.java ! src/share/classes/sun/security/util/SecurityConstants.java ! src/share/native/sun/nio/ch/genSocketOptionRegistry.c + src/share/sample/nio/file/AclEdit.java + src/share/sample/nio/file/Chmod.java + src/share/sample/nio/file/Copy.java + src/share/sample/nio/file/DiskUsage.java + src/share/sample/nio/file/FileType.java + src/share/sample/nio/file/WatchDir.java + src/share/sample/nio/file/Xdd.java ! src/solaris/classes/sun/nio/ch/DatagramDispatcher.java + src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java ! src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java + src/solaris/classes/sun/nio/ch/EPoll.java ! src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java + src/solaris/classes/sun/nio/ch/EPollPort.java ! src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java - src/solaris/classes/sun/nio/ch/FileDispatcher.java + src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java + src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java ! src/solaris/classes/sun/nio/ch/PollSelectorImpl.java + src/solaris/classes/sun/nio/ch/Port.java ! src/solaris/classes/sun/nio/ch/SinkChannelImpl.java ! src/solaris/classes/sun/nio/ch/SocketDispatcher.java + src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java + src/solaris/classes/sun/nio/ch/SolarisEventPort.java ! src/solaris/classes/sun/nio/ch/SourceChannelImpl.java + src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java + src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java + src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java + src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java + src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java + src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java + src/solaris/classes/sun/nio/fs/LinuxFileStore.java + src/solaris/classes/sun/nio/fs/LinuxFileSystem.java + src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java + src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java + src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java + src/solaris/classes/sun/nio/fs/LinuxWatchService.java + src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java + src/solaris/classes/sun/nio/fs/SolarisFileStore.java + src/solaris/classes/sun/nio/fs/SolarisFileSystem.java + src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java + src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java + src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java + src/solaris/classes/sun/nio/fs/SolarisWatchService.java + src/solaris/classes/sun/nio/fs/UnixChannelFactory.java + src/solaris/classes/sun/nio/fs/UnixCopyFile.java + src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java + src/solaris/classes/sun/nio/fs/UnixException.java + src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java + src/solaris/classes/sun/nio/fs/UnixFileAttributes.java + src/solaris/classes/sun/nio/fs/UnixFileKey.java + src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java + src/solaris/classes/sun/nio/fs/UnixFileStore.java + src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java + src/solaris/classes/sun/nio/fs/UnixFileSystem.java + src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java + src/solaris/classes/sun/nio/fs/UnixMountEntry.java + src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java + src/solaris/classes/sun/nio/fs/UnixPath.java + src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java + src/solaris/classes/sun/nio/fs/UnixUriUtils.java + src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java + src/solaris/native/sun/nio/ch/EPoll.c + src/solaris/native/sun/nio/ch/EPollPort.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c - src/solaris/native/sun/nio/ch/FileDispatcher.c + src/solaris/native/sun/nio/ch/FileDispatcherImpl.c ! src/solaris/native/sun/nio/ch/SocketDispatcher.c + src/solaris/native/sun/nio/ch/SolarisEventPort.c + src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c + src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c + src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c + src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c + src/solaris/native/sun/nio/fs/LinuxWatchService.c + src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c + src/solaris/native/sun/nio/fs/SolarisWatchService.c + src/solaris/native/sun/nio/fs/UnixCopyFile.c + src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c + src/solaris/native/sun/nio/fs/genSolarisConstants.c + src/solaris/native/sun/nio/fs/genUnixConstants.c + src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java - src/windows/classes/sun/nio/ch/FileDispatcher.java + src/windows/classes/sun/nio/ch/FileDispatcherImpl.java + src/windows/classes/sun/nio/ch/Iocp.java + src/windows/classes/sun/nio/ch/PendingIoCache.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java + src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java + src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java + src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java + src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java + src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java + src/windows/classes/sun/nio/fs/WindowsChannelFactory.java + src/windows/classes/sun/nio/fs/WindowsConstants.java + src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java + src/windows/classes/sun/nio/fs/WindowsException.java + src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java + src/windows/classes/sun/nio/fs/WindowsFileAttributes.java + src/windows/classes/sun/nio/fs/WindowsFileCopy.java + src/windows/classes/sun/nio/fs/WindowsFileStore.java + src/windows/classes/sun/nio/fs/WindowsFileSystem.java + src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java + src/windows/classes/sun/nio/fs/WindowsLinkSupport.java + src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java + src/windows/classes/sun/nio/fs/WindowsPath.java + src/windows/classes/sun/nio/fs/WindowsPathParser.java + src/windows/classes/sun/nio/fs/WindowsPathType.java + src/windows/classes/sun/nio/fs/WindowsSecurity.java + src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java + src/windows/classes/sun/nio/fs/WindowsUriSupport.java + src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java + src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java + src/windows/classes/sun/nio/fs/WindowsWatchService.java ! src/windows/native/sun/nio/ch/FileChannelImpl.c - src/windows/native/sun/nio/ch/FileDispatcher.c + src/windows/native/sun/nio/ch/FileDispatcherImpl.c + src/windows/native/sun/nio/ch/Iocp.c + src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c + src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c + src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c + src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c + src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c + test/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java + test/java/nio/channels/AsynchronousChannelGroup/Attack.java + test/java/nio/channels/AsynchronousChannelGroup/BadProperties.java + test/java/nio/channels/AsynchronousChannelGroup/Basic.java + test/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java + test/java/nio/channels/AsynchronousChannelGroup/Identity.java + test/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java + test/java/nio/channels/AsynchronousChannelGroup/Restart.java + test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java + test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh + test/java/nio/channels/AsynchronousDatagramChannel/Basic.java + test/java/nio/channels/AsynchronousFileChannel/Basic.java + test/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java + test/java/nio/channels/AsynchronousFileChannel/Lock.java + test/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java + test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java + test/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java + test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow + test/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny + test/java/nio/channels/AsynchronousSocketChannel/Basic.java + test/java/nio/channels/AsynchronousSocketChannel/Leaky.java + test/java/nio/channels/Channels/Basic2.java ! test/java/nio/channels/DatagramChannel/BasicMulticastTests.java ! test/java/nio/channels/DatagramChannel/SocketOptionTests.java ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/channels/etc/NetworkChannelTests.java + test/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java + test/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider + test/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java + test/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java + test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh + test/java/nio/file/DirectoryStream/Basic.java + test/java/nio/file/DirectoryStream/Filters.java + test/java/nio/file/DirectoryStream/SecureDS.java + test/java/nio/file/FileStore/Basic.java + test/java/nio/file/FileSystem/Basic.java + test/java/nio/file/Files/ContentType.java + test/java/nio/file/Files/CreateFileTree.java + test/java/nio/file/Files/ForceLoad.java + test/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector + test/java/nio/file/Files/Misc.java + test/java/nio/file/Files/PrintFileTree.java + test/java/nio/file/Files/SimpleFileTypeDetector.java + test/java/nio/file/Files/SkipSiblings.java + test/java/nio/file/Files/TerminateWalk.java + test/java/nio/file/Files/content_type.sh + test/java/nio/file/Files/walk_file_tree.sh + test/java/nio/file/Path/CopyAndMove.java + test/java/nio/file/Path/DeleteOnClose.java + test/java/nio/file/Path/InterruptCopy.java + test/java/nio/file/Path/Links.java + test/java/nio/file/Path/Misc.java + test/java/nio/file/Path/PathOps.java + test/java/nio/file/Path/SBC.java + test/java/nio/file/Path/TemporaryFiles.java + test/java/nio/file/Path/UriImportExport.java + test/java/nio/file/Path/delete_on_close.sh + test/java/nio/file/Path/temporary_files.sh + test/java/nio/file/PathMatcher/Basic.java + test/java/nio/file/TestUtil.java + test/java/nio/file/WatchService/Basic.java + test/java/nio/file/WatchService/FileTreeModifier.java + test/java/nio/file/WatchService/SensitivityModifier.java + test/java/nio/file/WatchService/WithSecurityManager.java + test/java/nio/file/WatchService/denyAll.policy + test/java/nio/file/WatchService/grantDirAndOneLevel.policy + test/java/nio/file/WatchService/grantDirAndTree.policy + test/java/nio/file/WatchService/grantDirOnly.policy + test/java/nio/file/attribute/AclFileAttributeView/Basic.java + test/java/nio/file/attribute/Attributes/Basic.java + test/java/nio/file/attribute/BasicFileAttributeView/Basic.java + test/java/nio/file/attribute/DosFileAttributeView/Basic.java + test/java/nio/file/attribute/FileStoreAttributeView/Basic.java + test/java/nio/file/attribute/PosixFileAttributeView/Basic.java + test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java + test/java/nio/file/spi/SetDefaultProvider.java + test/java/nio/file/spi/TestProvider.java Changeset: f8a9a7aff362 Author: chegar Date: 2009-02-16 17:19 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f8a9a7aff362 6800805: java.net.NetworkInterface.getNetworkInterfaces() does not list IPv6 network interfaces correctly Reviewed-by: jccollet ! src/solaris/native/java/net/NetworkInterface.c Changeset: 1109646be6f6 Author: tbell Date: 2009-02-19 18:04 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/1109646be6f6 Merge - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c Changeset: a144afafb6fe Author: xuelei Date: 2009-02-20 12:50 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a144afafb6fe 4918870: Examine session cache implementation (sun.misc.Cache) Summary: replace sun.misc.Cache with sun.security.util.Cache Reviewed-by: weijun ! src/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/share/classes/sun/security/util/Cache.java Changeset: 6bdbb2f5c763 Author: xuelei Date: 2009-02-20 13:05 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6bdbb2f5c763 6697270: Inputstream dosent behave correct Summary: do not try to read zero byte from a InputStream, and do always return immediately for zero byte reading in a InputStream implementation. Reviewed-by: weijun ! src/share/classes/sun/security/ssl/AppInputStream.java ! src/share/classes/sun/security/ssl/AppOutputStream.java ! src/share/classes/sun/security/ssl/ByteBufferInputStream.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java Changeset: 7443278199cb Author: tbell Date: 2009-02-20 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7443278199cb Merge Changeset: 9b1bc2e28518 Author: weijun Date: 2009-02-23 10:03 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/9b1bc2e28518 6535697: keytool can be more flexible on format of PEM-encoded X.509 certificates Reviewed-by: vinnie ! src/share/classes/sun/security/provider/X509Factory.java ! test/java/security/cert/CertificateFactory/BadX509CertData.java + test/java/security/cert/CertificateFactory/openssl/OpenSSLCert.java + test/java/security/cert/CertificateFactory/openssl/open + test/java/security/cert/CertificateFactory/openssl/pem Changeset: 33bc32405045 Author: weijun Date: 2009-02-23 10:04 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/33bc32405045 6789935: cross-realm capath search error Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Realm.java + test/sun/security/krb5/ParseCAPaths.java + test/sun/security/krb5/krb5-capaths.conf Changeset: ec98d5f9b338 Author: weijun Date: 2009-02-23 10:04 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ec98d5f9b338 6804045: DerValue does not accept empty OCTET STRING Reviewed-by: xuelei ! src/share/classes/sun/security/util/DerValue.java + test/sun/security/util/DerValue/EmptyValue.java Changeset: 8edcd68fb6ac Author: weijun Date: 2009-02-23 10:05 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/8edcd68fb6ac 6803376: BasicConstraintsExtension does not encode when (ca==false && pathLen<0) Reviewed-by: xuelei ! src/share/classes/sun/security/x509/BasicConstraintsExtension.java + test/sun/security/x509/Extensions/BCNull.java Changeset: 90ab7b4891e3 Author: weijun Date: 2009-02-23 10:05 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/90ab7b4891e3 6780416: New keytool commands/options: -gencert, -printcertreq, -ext Reviewed-by: xuelei, mullan ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/Resources.java ! src/share/classes/sun/security/x509/AccessDescription.java ! src/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java ! src/share/classes/sun/security/x509/AuthorityKeyIdentifierExtension.java ! src/share/classes/sun/security/x509/CertAndKeyGen.java ! src/share/classes/sun/security/x509/CertificateExtensions.java ! src/share/classes/sun/security/x509/IssuerAlternativeNameExtension.java ! src/share/classes/sun/security/x509/OIDMap.java + src/share/classes/sun/security/x509/SubjectInfoAccessExtension.java ! test/sun/security/tools/keytool/KeyToolTest.java ! test/sun/security/tools/keytool/autotest.sh + test/sun/security/tools/keytool/standard.sh Changeset: 2a7c1a997102 Author: xuelei Date: 2009-02-23 17:32 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2a7c1a997102 5067458: Loopback SSLSocketImpl createSocket is throwing an exception Summary: A null hostname should be regarded as a loopback address. Reviewed-by: weijun ! src/share/classes/sun/security/ssl/SSLSocketImpl.java + test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java Changeset: 0f4497002345 Author: chegar Date: 2009-02-23 10:36 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0f4497002345 6806649: synchronization bottleneck when constructing Thread subclasses Summary: Replace subclass audits synchronization with ConcurrentHashMap with weakly referenced Class keys Reviewed-by: peterjones, dholmes, martin ! src/share/classes/java/lang/Thread.java Changeset: 27e1141d436c Author: sherman Date: 2009-02-23 21:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/27e1141d436c 6350801: Add support for named (instead of numbered) capture groups in regular expression 6676425: Opensource unit/regression tests for java.util.regex Summary: Added "named capturing group" into regex. Moved most of reg/unit tests to openjdk. Reviewed-by: alanb, okutsu ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/java/util/regex/Pattern.java + test/java/util/regex/BMPTestCases.txt + test/java/util/regex/RegExTest.java + test/java/util/regex/SupplementaryTestCases.txt + test/java/util/regex/TestCases.txt Changeset: 910f9cceb0f8 Author: alanb Date: 2009-02-24 09:11 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/910f9cceb0f8 6808647: (file) Paths.get("C:").newDirectoryStream() iterates over Path elements with additional slash [win] 6808648: (file) Files.walkFileTree should obtain file attributes during iteration [win] Reviewed-by: sherman ! make/java/nio/FILES_java.gmk ! src/share/classes/java/nio/file/FileTreeWalker.java + src/share/classes/sun/nio/fs/BasicFileAttributesHolder.java ! src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributes.java ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java ! src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c + test/java/nio/file/DirectoryStream/DriveLetter.java Changeset: c7f39995fcf4 Author: alanb Date: 2009-02-24 11:31 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c7f39995fcf4 6809132: (file) Javadoc style and consistency issues Reviewed-by: vinnie Contributed-by: cquinn at google.com ! src/share/classes/java/nio/file/AccessDeniedException.java ! src/share/classes/java/nio/file/AtomicMoveNotSupportedException.java ! src/share/classes/java/nio/file/DirectoryNotEmptyException.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/DirectoryStreamFilters.java ! src/share/classes/java/nio/file/FileAction.java ! src/share/classes/java/nio/file/FileAlreadyExistsException.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystemAlreadyExistsException.java ! src/share/classes/java/nio/file/FileSystemException.java ! src/share/classes/java/nio/file/FileSystemNotFoundException.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/FileVisitor.java ! src/share/classes/java/nio/file/InvalidPathException.java ! src/share/classes/java/nio/file/LinkPermission.java ! src/share/classes/java/nio/file/NoSuchFileException.java ! src/share/classes/java/nio/file/NotDirectoryException.java ! src/share/classes/java/nio/file/NotLinkException.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/nio/file/Paths.java ! src/share/classes/java/nio/file/ProviderMismatchException.java ! src/share/classes/java/nio/file/ProviderNotFoundException.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchKey.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/Watchable.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/AttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/DosFileAttributes.java ! src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributes.java ! src/share/classes/java/nio/file/attribute/PosixFilePermissions.java ! src/share/classes/java/nio/file/attribute/UserPrincipalLookupService.java ! src/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java ! src/share/classes/java/nio/file/package-info.java Changeset: abe5e7125bd3 Author: alanb Date: 2009-02-24 11:33 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/abe5e7125bd3 Merge Changeset: dc237aecf7cf Author: kevinw Date: 2009-02-24 14:22 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dc237aecf7cf 6599383: Unable to open zip files more than 2GB in size Reviewed-by: alanb ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h + test/java/util/zip/ZipFile/LargeZipFile.java Changeset: 59e76cdc647a Author: tbell Date: 2009-02-27 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/59e76cdc647a Merge Changeset: 58ba2cd5a250 Author: alanb Date: 2009-03-01 14:44 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/58ba2cd5a250 6811578: genSolarisConstants.c should not require kernel patch to compile on Solaris 10 Reviewed-by: tbell ! src/solaris/native/sun/nio/fs/genSolarisConstants.c Changeset: e0a8a9ccc4a4 Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/e0a8a9ccc4a4 Added tag jdk7-b50 for changeset 58ba2cd5a250 ! .hgtags From john.coomes at sun.com Fri Mar 6 01:42:30 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 06 Mar 2009 09:42:30 +0000 Subject: hg: jdk7/hotspot-gc/langtools: 8 new changesets Message-ID: <20090306094243.CF122E8FE@hg.openjdk.java.net> Changeset: 6ada6122dd4f Author: mcimadamore Date: 2009-02-13 11:57 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6ada6122dd4f 6769027: Source line should be displayed immediately after the first diagnostic line Summary: Added support for customizing diagnostic output via API/command line flags Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/api/Messages.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! test/tools/javac/6304921/T6304921.out ! test/tools/javac/6668794/badClass/Test.java ! test/tools/javac/6668794/badSource/Test.out ! test/tools/javac/6758789/T6758789b.out + test/tools/javac/Diagnostics/6769027/T6769027.java + test/tools/javac/Diagnostics/6769027/tester.properties ! test/tools/javac/ExtendArray.out ! test/tools/javac/T5048776b.out ! test/tools/javac/T6214885a.out ! test/tools/javac/T6214885b.out ! test/tools/javac/T6230128.out ! test/tools/javac/annotations/6365854/test1.out ! test/tools/javac/cast/6557182/T6557182.out ! test/tools/javac/cast/6665356/T6665356.out ! test/tools/javac/cast/6795580/T6795580.out ! test/tools/javac/generics/6207386/T6207386.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6718364/T6718364.out ! test/tools/javac/generics/typevars/6680106/T6680106.out ! test/tools/javac/missingSuperRecovery/MissingSuperRecovery.out ! test/tools/javac/unicode/UnicodeNewline.out Changeset: d424ed561993 Author: bpatel Date: 2009-02-18 13:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/d424ed561993 6802694: Javadoc doclet does not display deprecated information with -nocomment option for serialized form Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml + test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C1.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C2.java + test/com/sun/javadoc/testSerializedFormDeprecationInfo/pkg1/C3.java Changeset: f4717c901346 Author: tbell Date: 2009-02-19 18:04 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/f4717c901346 Merge Changeset: dab918a1c907 Author: darcy Date: 2009-02-20 11:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/dab918a1c907 6460529: Provide mixin interfaces for getQualifiedName and getTypeParameters Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/javax/lang/model/element/ExecutableElement.java ! src/share/classes/javax/lang/model/element/PackageElement.java + src/share/classes/javax/lang/model/element/Parameterizable.java + src/share/classes/javax/lang/model/element/QualifiedNameable.java ! src/share/classes/javax/lang/model/element/TypeElement.java Changeset: c4d3cbe3765a Author: tbell Date: 2009-02-21 09:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/c4d3cbe3765a Merge Changeset: 1a902c0eb3f9 Author: tbell Date: 2009-02-24 07:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/1a902c0eb3f9 Merge Changeset: 46f2f6ed96f1 Author: tbell Date: 2009-02-27 10:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/46f2f6ed96f1 Merge Changeset: 4b72dc8fc51e Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/4b72dc8fc51e Added tag jdk7-b50 for changeset 46f2f6ed96f1 ! .hgtags From Antonios.Printezis at sun.com Fri Mar 6 13:29:01 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 06 Mar 2009 16:29:01 -0500 Subject: Code Review Request: 6814467: G1: small fixes related to concurrent marking verboseness (XXXS) Message-ID: <49B1959D.4040608@sun.com> Hi, Three tiny fixes that I packaged up together. Webrev is here: http://cr.openjdk.java.net/~tonyp/6814467/webrev.00/ From the CR: This CR covers three very small fixes all of which cause some strangeness to the verbose GC output: a) there's one occurence in concurrentMarkThread.cpp where tty is used, instead of gclog_or_tty, when printing verbose GC output b) doConcurrentMark() was, for some reason, incorrectly called from checkConcurrentMark (this was causing the marking phase to be incorrectly woken up after a Full GC; no marking actually happened, but marking related verbose GC information was printed which was confusing) c) some fields of ConcurrentMark (_has_aborted, _restart_for_overflow, _concurrent_marking_in_progress, and _should_gray_objects) were not initialised. In some cases, and in conjuction with b), this was causing the marking thread to output "[GC ocnurrent-mark-restart-for-overflow]" several times a second and was bloating the GC log. Thanks, Tony -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From igor.veresov at sun.com Fri Mar 6 19:11:44 2009 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Sat, 07 Mar 2009 03:11:44 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6720309: G1: don't synchronously update RSet during evacuation pauses; ... Message-ID: <20090307031146.CA548E9A2@hg.openjdk.java.net> Changeset: 4f360ec815ba Author: iveresov Date: 2009-03-06 13:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/4f360ec815ba 6720309: G1: don't synchronously update RSet during evacuation pauses 6720334: G1: don't update RSets of collection set regions during an evacuation pause Summary: Introduced a deferred update mechanism for delaying the rset updates during the collection pause Reviewed-by: apetrusenko, tonyp ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp From antonios.printezis at sun.com Sat Mar 7 21:47:21 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Sun, 08 Mar 2009 05:47:21 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 3 new changesets Message-ID: <20090308054728.1DBF7EA06@hg.openjdk.java.net> Changeset: 0db4adb6e914 Author: tonyp Date: 2009-03-07 11:07 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0db4adb6e914 6810698: G1: two small bugs in the sparse remembered sets Summary: The _expanded flag of the sparse RSets is not reset and this can leave a RSet in an inconsistent state if it is expanded more than once. Also, we should be iterating over the _cur, instead of the _next, sparse table Reviewed-by: apetrusenko, iveresov ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: ae1579717a57 Author: tonyp Date: 2009-03-07 11:07 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ae1579717a57 6812428: G1: Error: assert(ret || obj_in_cs(obj),"sanity") Summary: The length of the fast cset test vector is decided at the beginning of a GC, but more regions can be added during the GC. The simple fix is to set the length of the fast cset test vector to the max. Reviewed-by: iveresov ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 7ea5ca260b28 Author: tonyp Date: 2009-03-07 11:07 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7ea5ca260b28 6814467: G1: small fixes related to concurrent marking verboseness Summary: A few small fixes to remove some inconsistencies in the concurrent mark-related verbose GC output. Reviewed-by: jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp From antonios.printezis at sun.com Mon Mar 9 13:23:56 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Mon, 09 Mar 2009 20:23:56 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 17 new changesets Message-ID: <20090309202429.EEE1AEAA6@hg.openjdk.java.net> Changeset: 0ad1cb407fa1 Author: never Date: 2009-02-25 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0ad1cb407fa1 6805427: adlc compiler may generate incorrect machnode emission code Reviewed-by: kvn, twisti ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp Changeset: 07d449658fc7 Author: never Date: 2009-02-25 14:36 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/07d449658fc7 6807963: need tool to make sense of LogCompilaton output Reviewed-by: kvn + src/share/tools/LogCompilation/Makefile + src/share/tools/LogCompilation/README + src/share/tools/LogCompilation/manifest.mf + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/BasicLogEvent.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Compilation.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Constants.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCleanupReader.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogEvent.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/MakeNotEntrantEvent.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Method.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/NMethod.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java + src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/UncommonTrapEvent.java Changeset: 523ded093c31 Author: kvn Date: 2009-02-26 14:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/523ded093c31 6809798: SafePointScalarObject node placed into incorrect block during GCM Summary: Replace the control edge of a pinned node before scheduling. Reviewed-by: never ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/macro.cpp Changeset: ed6404fac86b Author: never Date: 2009-02-26 16:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ed6404fac86b 6810855: KILL vs. TEMP ordering restrictions are too strong Reviewed-by: kvn ! src/share/vm/adlc/formssel.cpp Changeset: dbbe28fc66b5 Author: twisti Date: 2009-02-27 03:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/dbbe28fc66b5 6778669: Patch from Red Hat -- fixes compilation errors Summary: Some fixes which are required to build on recent GCCs. Reviewed-by: never, kvn Contributed-by: langel at redhat.com ! make/linux/makefiles/adlc.make ! make/solaris/makefiles/adlc.make ! src/share/vm/adlc/adlc.hpp ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/filebuff.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/forms.hpp ! src/share/vm/adlc/formsopt.cpp ! src/share/vm/adlc/formsopt.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/includeDB_core ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: ec59443af135 Author: kvn Date: 2009-02-27 08:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ec59443af135 6811267: Fix for 6809798 broke linux build Summary: Fix method's declaration. Reviewed-by: phh, twisti ! src/share/vm/opto/block.hpp Changeset: 98cb887364d3 Author: twisti Date: 2009-02-27 13:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/98cb887364d3 6810672: Comment typos Summary: I have collected some typos I have found while looking at the code. Reviewed-by: kvn, never ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/launcher/java.c ! src/os/linux/launcher/java_md.h ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/launcher/java.c ! src/os/solaris/launcher/java_md.h ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/perfMemory_windows.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/tools/MakeDeps/Database.java ! src/share/vm/adlc/Doc/Syntax.doc ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/dict2.hpp ! src/share/vm/adlc/filebuff.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp ! src/share/vm/adlc/output_h.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsGCAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.hpp ! src/share/vm/gc_implementation/parallelScavenge/prefetchQueue.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.inline.hpp ! src/share/vm/interpreter/cppInterpreter.hpp ! src/share/vm/interpreter/cppInterpreterGenerator.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/interpreterGenerator.hpp ! src/share/vm/interpreter/templateInterpreter.hpp ! src/share/vm/interpreter/templateInterpreterGenerator.hpp ! src/share/vm/libadt/dict.cpp ! src/share/vm/libadt/dict.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/permGen.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/oops/generateOopMap.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/buildOopMap.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/divnode.cpp ! src/share/vm/opto/domgraph.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/locknode.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/split_if.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/superword.hpp ! src/share/vm/opto/type.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/extendedPC.hpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.inline.hpp ! src/share/vm/runtime/mutex.hpp ! src/share/vm/runtime/orderAccess.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/signature.hpp ! src/share/vm/runtime/threadCritical.hpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 19962e74284f Author: never Date: 2009-03-01 20:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/19962e74284f 6811384: MacroAssembler::serialize_memory may touch next page on amd64 Reviewed-by: kvn, phh, twisti ! src/cpu/x86/vm/assembler_x86.cpp Changeset: d8c7fa77a6dc Author: kvn Date: 2009-03-03 10:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/d8c7fa77a6dc Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 0386097d43d8 Author: dcubed Date: 2009-03-02 13:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0386097d43d8 6700114: 3/4 Assertion (_thread->get_interp_only_mode() == 1,"leaving interp only when mode not one") Summary: Don't create JvmtiThreadState for an exiting JavaThread. Reviewed-by: coleenp, swamyv ! src/share/vm/prims/jvmtiThreadState.hpp Changeset: ea20d7ce26b0 Author: dcubed Date: 2009-03-02 14:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ea20d7ce26b0 6800721: 3/4 JavaThread::jvmti_thread_state() and JvmtiThreadState::state_for() robustness Summary: Check for NULL return values from jvmti_thread_state() and state_for() and return a JVM TI error code as appropriate. Reviewed-by: coleenp, swamyv ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiThreadState.hpp ! src/share/vm/runtime/thread.hpp Changeset: 70998f2e05ef Author: dcubed Date: 2009-03-02 14:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/70998f2e05ef 6805864: 4/3 Problem with jvmti->redefineClasses: some methods don't get redefined Summary: Remove incorrect optimization in klassItable::adjust_method_entries(). Add RedefineClasses() tracing support for obsolete method entry. Reviewed-by: acorn, swamyv ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/includeDB_core ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: 2f716c0acb64 Author: dcubed Date: 2009-03-02 14:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2f716c0acb64 6567360: 3/4 SIGBUS in jvmti RawMonitor magic check for unaligned bad monitor pointer Summary: Change JvmtiEnvBase::is_valid() and JvmtiRawMonitor::is_valid() to fetch the _magic fields via Bytes::get_native_u[248](). Reviewed-by: coleenp, swamyv ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiImpl.hpp Changeset: afa80fa86d22 Author: dcubed Date: 2009-03-02 14:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/afa80fa86d22 Merge ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/includeDB_core ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 5caef2219893 Author: dcubed Date: 2009-03-02 16:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/5caef2219893 Merge ! src/share/vm/includeDB_core Changeset: 3db67f76d308 Author: acorn Date: 2009-03-05 22:07 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/3db67f76d308 Merge ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/includeDB_core ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: bcedf688d882 Author: tonyp Date: 2009-03-09 11:32 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/bcedf688d882 Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/runtime/os.cpp From andrey.petrusenko at sun.com Tue Mar 10 08:49:27 2009 From: andrey.petrusenko at sun.com (andrey.petrusenko at sun.com) Date: Tue, 10 Mar 2009 15:49:27 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6760309: G1: update remembered sets during Full GCs Message-ID: <20090310154933.F3FA5EBFA@hg.openjdk.java.net> Changeset: 87fa6e083d82 Author: apetrusenko Date: 2009-03-10 00:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/87fa6e083d82 6760309: G1: update remembered sets during Full GCs Reviewed-by: iveresov, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp From Jon.Masamitsu at Sun.COM Tue Mar 10 08:56:45 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Tue, 10 Mar 2009 08:56:45 -0700 Subject: Scalability issues with ParallelOld In-Reply-To: References: Message-ID: <49B68DBD.7060502@Sun.COM> On 03/09/09 16:14, Alex Aisinzon wrote: > Hi all > > I try to am experimenting with ParallelOldGC in our performance testing > environment. > The server is a Dual Core Opteron 280 (old hardware with few cores by > today's standard). > With Sun JDK 1.5, full collections with ParallelGC and 2 GC threads last > between 5 & 7 seconds. I tried used ParallelOld with 2 GC threads. The > full collections are almost twice the time. > I then tried with Sun JDK 1.6 to see if it was any better. It is not > significantly In the logs with UseParallelOldGC I see an average major pause of about 14 sec with 1.5 and about 9.3 sec with 1.6. That's about the improvement I would expect. With UseParallelOldGC using 2 GC threads is about the break even point. That depends on the application. I would not expect using 2 GC threads with UseParallelOldGC to be better than UseParallelGC. UseParallelOldGC does do more work. If you look at the last entry in the 1.6 log 3034.907: [Full GC [PSYoungGen: 12157K->0K(276160K)] [ParOldGen: 2324556K->828465K(2330176K)] 2336714K->828465K(2606336K) [PSPermGen: 82577K->82549K(102400K)], 9.0664330 secs] [Times: user=16.81 sys=0.03, real=9.07 secs] the user time is 16.81 secs and the real time is 9 secs so that says to me that we have both GC threads working in parallel and perhaps doing twice the work of the UseParallelGC on a full collection. > I have enclosed the logs (Sun JDK 1.5 with ParallelGC and ParallelOldGC > and Sun JDK 1.6 with ParallelOldGC). > > I have also experimented with CMS with mixed results: I could not get it > to work when using the 64 bit release and double the heap. With 32 bit, > it experienced some rare but longer pauses than ParallelGC. Therefore, > it did not seem a good alternative to ParallelGC to consistently have > short pauses. CMS sometimes takes quite a bit of tuning to run well. The goal of CMS is to not have the full GC's (that would be analogous to the full GC's with UseParallelGC or UseParallelOldGC). > > One thing to note is that our application has a large amount of long > lived objects. My experience is that a lot of long lived objects make > full collections longer. This (plus the need for low pauses) would indicate that CMS may a good choice although CMS works best when there is excess processing power that CMS can use concurrently with the application. Does you platform have 2 or 4 hardware threads? > > What are my options to consistently reduce the longest GC pauses? > > Would our application profile (lots of long lived objects) make it a > good candidate for the coming lower collector aka G1? Depends of lots of things but part of the design of G1 is is to do collections of the heap in increments. You would get shorter pauses that a full GC certainly but would get more collections (more, shorter collections). G1 also does works concurrently with application so having available processing power helps. > > Thanks in advance > > Alex Aisinzon > > -----Original Message----- > From: hotspot-gc-use-bounces at openjdk.java.net > [mailto:hotspot-gc-use-bounces at openjdk.java.net] On Behalf Of > hotspot-gc-use-request at openjdk.java.net > Sent: Wednesday, February 25, 2009 8:41 PM > To: hotspot-gc-use at openjdk.java.net > Subject: hotspot-gc-use Digest, Vol 15, Issue 7 > > Send hotspot-gc-use mailing list submissions to > hotspot-gc-use at openjdk.java.net > > To subscribe or unsubscribe via the World Wide Web, visit > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > or, via email, send a message with subject or body 'help' to > hotspot-gc-use-request at openjdk.java.net > > You can reach the person managing the list at > hotspot-gc-use-owner at openjdk.java.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of hotspot-gc-use digest..." > > > Today's Topics: > > 1. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application (Jon Masamitsu) > 2. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application (Y Srinivas > Ramakrishna) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 25 Feb 2009 14:42:32 -0800 > From: Jon Masamitsu > Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application > To: David Sitsky > Cc: Y Srinivas Ramakrishna , > hotspot-gc-use at openjdk.java.net > Message-ID: <49A5C958.8070704 at sun.com> > Content-Type: text/plain; charset=us-ascii > > David, > > This is an educated guess but I would say that no out-of-memory > was thrown because there was still significant space in the > young gen after a collection. > > 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] [PSOldGen: > 683678K->683678K(699072K)] 781918K->781918K(913792K) [PSPermGen: > > The young gen capacity being 214720K and the used space > in the young gen being 98240K. That missing space may be in the > survivor spaces which are not directly available to the > application with the UseParallelGC collector. The logic > that would throw the out-of-memory is very conservative > and probably does not allow for such a case. > > Jon > > > > David Sitsky wrote On 02/25/09 13:59,: > >> Hi Ramki, >> >> The next message I posted to the hotspot list showed a GC trace when I >> allocated more memory (an extra 300 megs), where everything worked > fine. >> I am well aware that the heap size for this particular application > and >> data set was too small. My run from last night with the extra heap is >> still running nicely. >> >> I reported this issue, because it seemed to me no progress was being >> made and no OutOfMemoryErrors were being generated. The application > was >> effectively "stuck" making no progress at all. I couldn't even connect > >> to it with jconsole, although jstack worked fine. >> >> My understanding is this condition is meant to be detected, and >> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? > This >> is with the parallel GC. >> >> Cheers, >> David >> >> Y Srinivas Ramakrishna wrote: >> >> >>> Doesn't the heap look too full? >>> If a 64-bit JVM why use such an oversubscribed >>> and small heap? Either make the old gen bigger or make the >>> young gen smaller (giving that space to the older gen) >>> so that each scavenge does not degenerate to a full gc >>> as in your trace below. >>> >>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>> so i have cross-posted over to that list with a bcc to >>> the hotspot-dev list. >>> >>> Also the GC tuning guides to be found here might be useful >>> reading:- >>> >>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>> >>> -- ramki >>> >>> ----- Original Message ----- >>> From: Jon Masamitsu >>> Date: Tuesday, February 24, 2009 10:00 pm >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application >>> To: David Sitsky >>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez > >>> >>> >>> >>>> David, >>>> >>>> Can you also send a GC log from a run where there >>>> is not a problem? As I understand it, that would >>>> be a 32bit run. >>>> >>>> Jon >>>> >>>> David Sitsky wrote On 02/24/09 16:04,: >>>> >>>> >>>> >>>>> Jon Masamitsu wrote: >>>>> >>>>> >>>>> >>>>> >>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> ... >>>>>>> >>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>> (-XX:MaxPermSize=). >>>>>>> >>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>>> >>>>>>> >>>> gathering the >>>> >>>> >>>>>>> GC logs. >>>>>>> If you've already gathering some, send those but in future runs, >>>>>>> >>>>>>> >>>> use the >>>> >>>> >>>>>>> above. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> Here is a sample of output from a stuck process. You can see its >>>>> >>>>> >>>> doing >>>> >>>> >>>>> a full GC about every 3 seconds, and it seems as if there is little >>>>> progress.. >>>>> >>>>> Please let me know if you need more information. >>>>> >>>>> Cheers, >>>>> David >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >> _______________________________________________ >> hotspot-gc-use mailing list >> hotspot-gc-use at openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >> >> > > > > ------------------------------ > > Message: 2 > Date: Wed, 25 Feb 2009 20:41:10 -0800 > From: Y Srinivas Ramakrishna > Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application > To: David Sitsky > Cc: hotspot-gc-use at openjdk.java.net > Message-ID: <71e0b0454a6.49a5ace6 at sun.com> > Content-Type: text/plain; charset=us-ascii > > > Yes, sorry, my bad. > I think Jon can explain that the trace you included > will show metrics (GC overhead and Space free(d)) that somehow > fall below the thresholds that trigger the GCOverhead related > OOM. These thresholds can of course be modified via suitable > JVM options. > > -- ramki > > ----- Original Message ----- > From: David Sitsky > Date: Wednesday, February 25, 2009 1:59 pm > Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > platform within data processing application > To: Y Srinivas Ramakrishna > Cc: hotspot-gc-use at openjdk.java.net > > >> Hi Ramki, >> >> The next message I posted to the hotspot list showed a GC trace when I > >> allocated more memory (an extra 300 megs), where everything worked >> fine. I am well aware that the heap size for this particular >> application and data set was too small. My run from last night with >> the extra heap is still running nicely. >> >> I reported this issue, because it seemed to me no progress was being >> made and no OutOfMemoryErrors were being generated. The application >> was effectively "stuck" making no progress at all. I couldn't even >> connect to it with jconsole, although jstack worked fine. >> >> My understanding is this condition is meant to be detected, and >> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >> This is with the parallel GC. >> >> Cheers, >> David >> >> Y Srinivas Ramakrishna wrote: >>> Doesn't the heap look too full? >>> If a 64-bit JVM why use such an oversubscribed >>> and small heap? Either make the old gen bigger or make the >>> young gen smaller (giving that space to the older gen) >>> so that each scavenge does not degenerate to a full gc >>> as in your trace below. >>> >>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>> so i have cross-posted over to that list with a bcc to >>> the hotspot-dev list. >>> >>> Also the GC tuning guides to be found here might be useful >>> reading:- >>> >>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>> >>> -- ramki >>> >>> ----- Original Message ----- >>> From: Jon Masamitsu >>> Date: Tuesday, February 24, 2009 10:00 pm >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application >>> To: David Sitsky >>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez > >>> >>>> David, >>>> >>>> Can you also send a GC log from a run where there >>>> is not a problem? As I understand it, that would >>>> be a 32bit run. >>>> >>>> Jon >>>> >>>> David Sitsky wrote On 02/24/09 16:04,: >>>> >>>>> Jon Masamitsu wrote: >>>>> >>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>> >>>>>> >>>>>>> ... >>>>>>> >>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>> (-XX:MaxPermSize=). >>>>>>> >>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>> gathering the >>>>>>> GC logs. >>>>>>> If you've already gathering some, send those but in future runs, >>>> use the >>>>>>> above. >>>>>>> >>>>> Here is a sample of output from a stuck process. You can see its >>>> doing >>>>> a full GC about every 3 seconds, and it seems as if there is little > >> progress.. >>>>> Please let me know if you need more information. >>>>> >>>>> Cheers, >>>>> David >>>>> >>>>> 62402.320: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8063178 secs] [Times: user=2.81 > >> sys=0.00, real=2.81 secs] >>>>> 62405.128: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8029997 secs] [Times: user=2.79 > >> sys=0.00, real=2.81 secs] >>>>> 62407.932: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7917325 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62410.725: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7891387 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62413.515: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7649110 secs] [Times: user=2.76 > >> sys=0.00, real=2.76 secs] >>>>> 62416.281: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7803983 secs] [Times: user=2.78 > >> sys=0.00, real=2.78 secs] >>>>> 62419.063: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7643979 secs] [Times: user=2.76 > >> sys=0.00, real=2.76 secs] >>>>> 62421.828: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8114336 secs] [Times: user=2.81 > >> sys=0.00, real=2.81 secs] >>>>> 62424.640: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7964912 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62427.438: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8107278 secs] [Times: user=2.81 > >> sys=0.00, real=2.81 secs] >>>>> 62430.249: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 3.2345212 secs] [Times: user=2.84 > >> sys=0.00, real=3.24 secs] >>>>> 62433.484: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8341520 secs] [Times: user=2.82 > >> sys=0.00, real=2.82 secs] >>>>> 62436.319: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8698768 secs] [Times: user=2.87 > >> sys=0.00, real=2.87 secs] >>>>> 62439.190: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9323230 secs] [Times: user=2.90 > >> sys=0.00, real=2.92 secs] >>>>> 62442.124: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9644960 secs] [Times: user=2.96 > >> sys=0.00, real=2.96 secs] >>>>> 62445.089: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 3.0059221 secs] [Times: user=3.00 > >> sys=0.00, real=3.00 secs] >>>>> 62448.095: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9832815 secs] [Times: user=3.00 > >> sys=0.00, real=2.99 secs] >>>>> 62451.079: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9587156 secs] [Times: user=2.93 > >> sys=0.00, real=2.95 secs] >>>>> 62454.039: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9488345 secs] [Times: user=2.92 > >> sys=0.00, real=2.95 secs] >>>>> 62456.988: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8969788 secs] [Times: user=2.90 > >> sys=0.00, real=2.90 secs] >>>>> 62459.886: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8794991 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62462.766: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8842411 secs] [Times: user=2.87 > >> sys=0.00, real=2.89 secs] >>>>> 62465.651: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683675K(699072K)] 781916K->781915K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8669173 secs] [Times: user=2.85 > >> sys=0.00, real=2.85 secs] >>>>> 62468.519: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8664429 secs] [Times: user=2.85 > >> sys=0.00, real=2.86 secs] >>>>> 62471.386: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8844494 secs] [Times: user=2.87 > >> sys=0.00, real=2.89 secs] >>>>> 62474.271: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8648398 secs] [Times: user=2.87 > >> sys=0.00, real=2.87 secs] >>>>> 62477.137: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8971068 secs] [Times: user=2.87 > >> sys=0.00, real=2.90 secs] >>>>> 62480.034: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8655618 secs] [Times: user=2.86 > >> sys=0.00, real=2.86 secs] >>>>> 62482.901: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 3.0366140 secs] [Times: user=2.78 > >> sys=0.00, real=3.04 secs] >>>>> 62485.939: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8541753 secs] [Times: user=2.85 > >> sys=0.00, real=2.85 secs] >>>>> 62488.794: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8582816 secs] [Times: user=2.86 > >> sys=0.00, real=2.86 secs] >>>>> 62491.653: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8673218 secs] [Times: user=2.85 > >> sys=0.00, real=2.86 secs] >>>>> 62494.521: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9014120 secs] [Times: user=2.87 > >> sys=0.00, real=2.90 secs] >>>>> 62497.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8805843 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62500.305: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8905128 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62503.196: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9052007 secs] [Times: user=2.90 > >> sys=0.00, real=2.92 secs] >>>>> 62506.102: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9004575 secs] [Times: user=2.89 > >> sys=0.00, real=2.90 secs] >>>>> 62509.003: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9160655 secs] [Times: user=2.90 > >> sys=0.00, real=2.92 secs] >>>>> 62511.920: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9013277 secs] [Times: user=2.90 > >> sys=0.00, real=2.90 secs] >>>>> 62514.822: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8982061 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62517.721: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8922437 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62520.614: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8873520 secs] [Times: user=2.87 > >> sys=0.00, real=2.89 secs] >>>>> 62523.502: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8805296 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62526.383: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8958714 secs] [Times: user=2.85 > >> sys=0.00, real=2.89 secs] >>>>> 62529.279: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8735384 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62532.154: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8705676 secs] [Times: user=2.87 > >> sys=0.00, real=2.87 secs] >>>>> 62535.025: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8723947 secs] [Times: user=2.85 > >> sys=0.00, real=2.87 secs] >>>>> 62537.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8624400 secs] [Times: user=2.86 > >> sys=0.00, real=2.86 secs] >>>>> 62540.761: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8245748 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62543.587: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8432269 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62546.432: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8394157 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62549.272: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8471951 secs] [Times: user=2.85 > >> sys=0.00, real=2.85 secs] >>>>> 62552.121: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8584107 secs] [Times: user=2.85 > >> sys=0.00, real=2.86 secs] >>>>> 62554.981: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8376807 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62557.820: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8402486 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62560.661: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8482704 secs] [Times: user=2.86 > >> sys=0.00, real=2.85 secs] >>>>> 62563.511: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8115973 secs] [Times: user=2.81 > >> sys=0.00, real=2.81 secs] >>>>> 62566.324: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8523278 secs] [Times: user=2.85 > >> sys=0.00, real=2.86 secs] >>>>> 62569.177: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8128563 secs] [Times: user=2.81 > >> sys=0.00, real=2.81 secs] >>>>> 62571.990: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7830644 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62574.774: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8065106 secs] [Times: user=2.79 > >> sys=0.00, real=2.81 secs] >>>>> 62577.582: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7892171 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62580.372: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8059306 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62583.179: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8641470 secs] [Times: user=2.82 > >> sys=0.00, real=2.86 secs] >>>>> 62586.044: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8421364 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62588.887: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8852699 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62591.773: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9164279 secs] [Times: user=2.90 > >> sys=0.00, real=2.92 secs] >>>>> 62594.690: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9450010 secs] [Times: user=2.95 > >> sys=0.00, real=2.95 secs] >>>>> 62597.636: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9744636 secs] [Times: user=2.98 > >> sys=0.00, real=2.98 secs] >>>>> 62600.611: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9900849 secs] [Times: user=2.99 > >> sys=0.00, real=3.00 secs] >>>>> 62603.602: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.6332370 secs] [Times: user=2.62 > >> sys=0.00, real=2.62 secs] >>>>> 62606.236: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9801260 secs] [Times: user=2.95 > >> sys=0.00, real=2.98 secs] >>>>> 62609.226: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9166374 secs] [Times: user=2.89 > >> sys=0.00, real=2.92 secs] >>>>> 62612.150: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9475729 secs] [Times: user=2.95 > >> sys=0.00, real=2.95 secs] >>>>> 62615.098: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9328670 secs] [Times: user=2.90 > >> sys=0.00, real=2.93 secs] >>>>> 62618.040: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8963825 secs] [Times: user=2.89 > >> sys=0.00, real=2.90 secs] >>>>> 62620.937: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8834715 secs] [Times: user=2.89 > >> sys=0.00, real=2.89 secs] >>>>> 62623.821: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8800691 secs] [Times: user=2.86 > >> sys=0.00, real=2.87 secs] >>>>> 62626.701: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683677K(699072K)] 781918K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8642587 secs] [Times: user=2.87 > >> sys=0.00, real=2.87 secs] >>>>> 62629.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8574615 secs] [Times: user=2.84 > >> sys=0.00, real=2.86 secs] >>>>> 62632.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8383412 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> 62635.264: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8409891 secs] [Times: user=2.82 > >> sys=0.00, real=2.84 secs] >>>>> 62638.106: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7906216 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62640.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7891730 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62643.688: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7892940 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62646.479: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7766807 secs] [Times: user=2.78 > >> sys=0.00, real=2.78 secs] >>>>> 62649.257: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7796531 secs] [Times: user=2.78 > >> sys=0.00, real=2.78 secs] >>>>> 62652.037: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7687240 secs] [Times: user=2.76 > >> sys=0.00, real=2.76 secs] >>>>> 62654.807: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7613769 secs] [Times: user=2.76 > >> sys=0.00, real=2.76 secs] >>>>> 62657.570: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7712254 secs] [Times: user=2.78 > >> sys=0.00, real=2.78 secs] >>>>> 62660.342: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7968108 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62663.139: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.7924173 secs] [Times: user=2.79 > >> sys=0.00, real=2.79 secs] >>>>> 62665.933: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8002912 secs] [Times: user=2.79 > >> sys=0.00, real=2.81 secs] >>>>> 62668.736: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8291434 secs] [Times: user=2.82 > >> sys=0.00, real=2.82 secs] >>>>> 62671.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8527186 secs] [Times: user=2.86 > >> sys=0.00, real=2.85 secs] >>>>> 62674.419: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8982825 secs] [Times: user=2.90 > >> sys=0.00, real=2.90 secs] >>>>> 62677.318: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9254483 secs] [Times: user=2.93 > >> sys=0.00, real=2.93 secs] >>>>> 62680.244: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9707015 secs] [Times: user=2.95 > >> sys=0.00, real=2.96 secs] >>>>> 62683.216: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9894145 secs] [Times: user=3.00 > >> sys=0.00, real=3.00 secs] >>>>> 62686.206: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9870305 secs] [Times: user=2.98 > >> sys=0.00, real=2.98 secs] >>>>> 62689.193: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9884647 secs] [Times: user=2.98 > >> sys=0.00, real=3.00 secs] >>>>> 62692.183: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9635276 secs] [Times: user=2.96 > >> sys=0.00, real=2.96 secs] >>>>> 62695.147: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9407559 secs] [Times: user=2.93 > >> sys=0.00, real=2.93 secs] >>>>> 62698.088: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9299386 secs] [Times: user=2.93 > >> sys=0.00, real=2.93 secs] >>>>> 62701.019: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8994903 secs] [Times: user=2.90 > >> sys=0.00, real=2.90 secs] >>>>> 62703.919: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9163417 secs] [Times: user=2.92 > >> sys=0.00, real=2.92 secs] >>>>> 62706.836: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9216473 secs] [Times: user=2.93 > >> sys=0.00, real=2.93 secs] >>>>> 62709.758: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.9052547 secs] [Times: user=2.89 > >> sys=0.00, real=2.90 secs] >>>>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8902824 secs] [Times: user=2.85 > >> sys=0.00, real=2.89 secs] >>>>> 62715.555: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8865932 secs] [Times: user=2.87 > >> sys=0.00, real=2.89 secs] >>>>> 62718.442: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8605445 secs] [Times: user=2.87 > >> sys=0.00, real=2.87 secs] >>>>> 62721.304: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8662771 secs] [Times: user=2.84 > >> sys=0.00, real=2.86 secs] >>>>> 62724.171: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >> [PSOldGen: 683679K->683679K(699072K)] 781919K->781919K(913792K) >> [PSPermGen: 49694K->49694K(49984K)], 2.8369076 secs] [Times: user=2.84 > >> sys=0.00, real=2.84 secs] >>>>> > > > ------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > > > End of hotspot-gc-use Digest, Vol 15, Issue 7 > ********************************************* > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Jon.Masamitsu at Sun.COM Tue Mar 10 10:36:03 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Tue, 10 Mar 2009 10:36:03 -0700 Subject: Scalability issues with ParallelOld In-Reply-To: References: <49B68DBD.7060502@Sun.COM> Message-ID: <49B6A503.7030006@Sun.COM> On 03/10/09 09:36, Alex Aisinzon wrote: > Jon > > As always, your feedback is always enlightening and very much > appreciated. > I have some additional comments/questions before closing that > conversation thread: > The server has 2 cores. We have servers with more cores (4 and 8) and > will likely run some tests with those. On these servers, ParallelOldGC > may or may not prove better performing for the following reason: while I > used a single JVM on that 2 cores server, we would use 4 JVMs on an 8 > core server (same ratio of one JVM for 2 cores). In that case, the many > threads used during a full GC would compete for resources with the other > running JVMs. Yes, multiple VM's doing GC's at the same time will compete for resources. That's not just true for UseParallelOldGC. It's also the case with UseParallelGC where parallel GC threads are used for the young gen collection. Consider setting ParallelGCThreads explicitly if you frequent instances of poor scaling (i.e., if you look at the user time and the real time and they show little scaling). > Some Sun benchmarks (by example > http://www.spec.org/jbb2005/results/res2008q2/jbb2005-20080506-00485.htm > l) infer that ParallelOldGC may be beneficial even with 2 cores. My > hypothesis is that this is because the application tested (the > SPECJBB2005 code) uses much fewer longer lived objects, as shown by the > JVM tunings (-Xmx3350m -Xms3350m -Xmn2800m infers that the tenured is > only 550MB large). That benchmark benefits from the young generation parallel GC (UseParallelGC) which scales better than the old generation parallel GC. Also, as you note, much of the data is short lived so gets collected by the young generation collections. > > Thanks again for your thoughts. If you do anymore CMS experiments, send me a log and I'll look to see if it is worth pursuing. > > Regards > > Alex Aisinzon > > -----Original Message----- > From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM] > Sent: Tuesday, March 10, 2009 8:57 AM > To: Alex Aisinzon > Cc: hotspot-gc-use at openjdk.java.net > Subject: Re: Scalability issues with ParallelOld > > > > On 03/09/09 16:14, Alex Aisinzon wrote: >> Hi all >> >> I try to am experimenting with ParallelOldGC in our performance > testing >> environment. >> The server is a Dual Core Opteron 280 (old hardware with few cores by >> today's standard). >> With Sun JDK 1.5, full collections with ParallelGC and 2 GC threads > last >> between 5 & 7 seconds. I tried used ParallelOld with 2 GC threads. The >> full collections are almost twice the time. >> I then tried with Sun JDK 1.6 to see if it was any better. It is not >> significantly > > In the logs with UseParallelOldGC I see an average major pause of about > 14 sec with 1.5 and about 9.3 sec with 1.6. That's about the > improvement I would expect. > > With UseParallelOldGC using 2 GC threads is about the break even point. > That depends on the application. I would not expect using 2 GC threads > with UseParallelOldGC to be better than UseParallelGC. UseParallelOldGC > does do more work. If you look at the last entry in the 1.6 log > > 3034.907: [Full GC [PSYoungGen: 12157K->0K(276160K)] [ParOldGen: > 2324556K->828465K(2330176K)] 2336714K->828465K(2606336K) [PSPermGen: > 82577K->82549K(102400K)], 9.0664330 secs] [Times: user=16.81 sys=0.03, > real=9.07 secs] > > the user time is 16.81 secs and the real time is 9 secs so that says to > me that we have both GC threads working in parallel and perhaps doing > twice the work of the UseParallelGC on a full collection. > > >> I have enclosed the logs (Sun JDK 1.5 with ParallelGC and > ParallelOldGC >> and Sun JDK 1.6 with ParallelOldGC). >> >> I have also experimented with CMS with mixed results: I could not get > it >> to work when using the 64 bit release and double the heap. With 32 > bit, >> it experienced some rare but longer pauses than ParallelGC. Therefore, >> it did not seem a good alternative to ParallelGC to consistently have >> short pauses. > > CMS sometimes takes quite a bit of tuning to run well. The goal of > CMS is to not have the full GC's (that would be analogous to the full > GC's with UseParallelGC or UseParallelOldGC). > >> One thing to note is that our application has a large amount of long >> lived objects. My experience is that a lot of long lived objects make >> full collections longer. > > This (plus the need for low pauses) would indicate that CMS may a good > choice although CMS works best when there is excess processing power > that CMS can use concurrently with the application. Does you > platform have 2 or 4 hardware threads? > >> What are my options to consistently reduce the longest GC pauses? >> >> Would our application profile (lots of long lived objects) make it a >> good candidate for the coming lower collector aka G1? > > Depends of lots of things but part of the design of G1 is > is to do collections of the heap in increments. You would > get shorter pauses that a full GC certainly but would get > more collections (more, shorter collections). G1 also does works > concurrently with application so having available processing > power helps. > > >> Thanks in advance >> >> Alex Aisinzon >> >> -----Original Message----- >> From: hotspot-gc-use-bounces at openjdk.java.net >> [mailto:hotspot-gc-use-bounces at openjdk.java.net] On Behalf Of >> hotspot-gc-use-request at openjdk.java.net >> Sent: Wednesday, February 25, 2009 8:41 PM >> To: hotspot-gc-use at openjdk.java.net >> Subject: hotspot-gc-use Digest, Vol 15, Issue 7 >> >> Send hotspot-gc-use mailing list submissions to >> hotspot-gc-use at openjdk.java.net >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >> or, via email, send a message with subject or body 'help' to >> hotspot-gc-use-request at openjdk.java.net >> >> You can reach the person managing the list at >> hotspot-gc-use-owner at openjdk.java.net >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of hotspot-gc-use digest..." >> >> >> Today's Topics: >> >> 1. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application (Jon > Masamitsu) >> 2. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application (Y Srinivas >> Ramakrishna) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Wed, 25 Feb 2009 14:42:32 -0800 >> From: Jon Masamitsu >> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application >> To: David Sitsky >> Cc: Y Srinivas Ramakrishna , >> hotspot-gc-use at openjdk.java.net >> Message-ID: <49A5C958.8070704 at sun.com> >> Content-Type: text/plain; charset=us-ascii >> >> David, >> >> This is an educated guess but I would say that no out-of-memory >> was thrown because there was still significant space in the >> young gen after a collection. >> >> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] [PSOldGen: >> 683678K->683678K(699072K)] 781918K->781918K(913792K) [PSPermGen: >> >> The young gen capacity being 214720K and the used space >> in the young gen being 98240K. That missing space may be in the >> survivor spaces which are not directly available to the >> application with the UseParallelGC collector. The logic >> that would throw the out-of-memory is very conservative >> and probably does not allow for such a case. >> >> Jon >> >> >> >> David Sitsky wrote On 02/25/09 13:59,: >> >>> Hi Ramki, >>> >>> The next message I posted to the hotspot list showed a GC trace when > I >>> allocated more memory (an extra 300 megs), where everything worked >> fine. >>> I am well aware that the heap size for this particular application >> and >>> data set was too small. My run from last night with the extra heap > is >>> still running nicely. >>> >>> I reported this issue, because it seemed to me no progress was being >>> made and no OutOfMemoryErrors were being generated. The application >> was >>> effectively "stuck" making no progress at all. I couldn't even > connect >>> to it with jconsole, although jstack worked fine. >>> >>> My understanding is this condition is meant to be detected, and >>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >> This >>> is with the parallel GC. >>> >>> Cheers, >>> David >>> >>> Y Srinivas Ramakrishna wrote: >>> >>> >>>> Doesn't the heap look too full? >>>> If a 64-bit JVM why use such an oversubscribed >>>> and small heap? Either make the old gen bigger or make the >>>> young gen smaller (giving that space to the older gen) >>>> so that each scavenge does not degenerate to a full gc >>>> as in your trace below. >>>> >>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>> so i have cross-posted over to that list with a bcc to >>>> the hotspot-dev list. >>>> >>>> Also the GC tuning guides to be found here might be useful >>>> reading:- >>>> >>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>> >>>> -- ramki >>>> >>>> ----- Original Message ----- >>>> From: Jon Masamitsu >>>> Date: Tuesday, February 24, 2009 10:00 pm >>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application >>>> To: David Sitsky >>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >> >>>> >>>> >>>>> David, >>>>> >>>>> Can you also send a GC log from a run where there >>>>> is not a problem? As I understand it, that would >>>>> be a 32bit run. >>>>> >>>>> Jon >>>>> >>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>> >>>>> >>>>> >>>>>> Jon Masamitsu wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> ... >>>>>>>> >>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>> (-XX:MaxPermSize=). >>>>>>>> >>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>>>> >>>>>>>> >>>>> gathering the >>>>> >>>>> >>>>>>>> GC logs. >>>>>>>> If you've already gathering some, send those but in future runs, > >>>>>>>> >>>>>>>> >>>>> use the >>>>> >>>>> >>>>>>>> above. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> Here is a sample of output from a stuck process. You can see its >>>>>> >>>>>> >>>>> doing >>>>> >>>>> >>>>>> a full GC about every 3 seconds, and it seems as if there is > little >>>>>> progress.. >>>>>> >>>>>> Please let me know if you need more information. >>>>>> >>>>>> Cheers, >>>>>> David >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>> _______________________________________________ >>> hotspot-gc-use mailing list >>> hotspot-gc-use at openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> >>> >> >> >> ------------------------------ >> >> Message: 2 >> Date: Wed, 25 Feb 2009 20:41:10 -0800 >> From: Y Srinivas Ramakrishna >> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application >> To: David Sitsky >> Cc: hotspot-gc-use at openjdk.java.net >> Message-ID: <71e0b0454a6.49a5ace6 at sun.com> >> Content-Type: text/plain; charset=us-ascii >> >> >> Yes, sorry, my bad. >> I think Jon can explain that the trace you included >> will show metrics (GC overhead and Space free(d)) that somehow >> fall below the thresholds that trigger the GCOverhead related >> OOM. These thresholds can of course be modified via suitable >> JVM options. >> >> -- ramki >> >> ----- Original Message ----- >> From: David Sitsky >> Date: Wednesday, February 25, 2009 1:59 pm >> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >> platform within data processing application >> To: Y Srinivas Ramakrishna >> Cc: hotspot-gc-use at openjdk.java.net >> >> >>> Hi Ramki, >>> >>> The next message I posted to the hotspot list showed a GC trace when > I >>> allocated more memory (an extra 300 megs), where everything worked >>> fine. I am well aware that the heap size for this particular >>> application and data set was too small. My run from last night with >>> the extra heap is still running nicely. >>> >>> I reported this issue, because it seemed to me no progress was being >>> made and no OutOfMemoryErrors were being generated. The application >>> was effectively "stuck" making no progress at all. I couldn't even >>> connect to it with jconsole, although jstack worked fine. >>> >>> My understanding is this condition is meant to be detected, and >>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >>> This is with the parallel GC. >>> >>> Cheers, >>> David >>> >>> Y Srinivas Ramakrishna wrote: >>>> Doesn't the heap look too full? >>>> If a 64-bit JVM why use such an oversubscribed >>>> and small heap? Either make the old gen bigger or make the >>>> young gen smaller (giving that space to the older gen) >>>> so that each scavenge does not degenerate to a full gc >>>> as in your trace below. >>>> >>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>> so i have cross-posted over to that list with a bcc to >>>> the hotspot-dev list. >>>> >>>> Also the GC tuning guides to be found here might be useful >>>> reading:- >>>> >>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>> >>>> -- ramki >>>> >>>> ----- Original Message ----- >>>> From: Jon Masamitsu >>>> Date: Tuesday, February 24, 2009 10:00 pm >>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>>> To: David Sitsky >>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >> >>>>> David, >>>>> >>>>> Can you also send a GC log from a run where there >>>>> is not a problem? As I understand it, that would >>>>> be a 32bit run. >>>>> >>>>> Jon >>>>> >>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>> >>>>>> Jon Masamitsu wrote: >>>>>> >>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>> >>>>>>> >>>>>>>> ... >>>>>>>> >>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>> (-XX:MaxPermSize=). >>>>>>>> >>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>> gathering the >>>>>>>> GC logs. >>>>>>>> If you've already gathering some, send those but in future runs, > >>>>> use the >>>>>>>> above. >>>>>>>> >>>>>> Here is a sample of output from a stuck process. You can see its >>>>> doing >>>>>> a full GC about every 3 seconds, and it seems as if there is > little >>> progress.. >>>>>> Please let me know if you need more information. >>>>>> >>>>>> Cheers, >>>>>> David >>>>>> >>>>>> 62402.320: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8063178 secs] [Times: > user=2.81 >>> sys=0.00, real=2.81 secs] >>>>>> 62405.128: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8029997 secs] [Times: > user=2.79 >>> sys=0.00, real=2.81 secs] >>>>>> 62407.932: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7917325 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62410.725: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7891387 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62413.515: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7649110 secs] [Times: > user=2.76 >>> sys=0.00, real=2.76 secs] >>>>>> 62416.281: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7803983 secs] [Times: > user=2.78 >>> sys=0.00, real=2.78 secs] >>>>>> 62419.063: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7643979 secs] [Times: > user=2.76 >>> sys=0.00, real=2.76 secs] >>>>>> 62421.828: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8114336 secs] [Times: > user=2.81 >>> sys=0.00, real=2.81 secs] >>>>>> 62424.640: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7964912 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62427.438: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8107278 secs] [Times: > user=2.81 >>> sys=0.00, real=2.81 secs] >>>>>> 62430.249: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 3.2345212 secs] [Times: > user=2.84 >>> sys=0.00, real=3.24 secs] >>>>>> 62433.484: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8341520 secs] [Times: > user=2.82 >>> sys=0.00, real=2.82 secs] >>>>>> 62436.319: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8698768 secs] [Times: > user=2.87 >>> sys=0.00, real=2.87 secs] >>>>>> 62439.190: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9323230 secs] [Times: > user=2.90 >>> sys=0.00, real=2.92 secs] >>>>>> 62442.124: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9644960 secs] [Times: > user=2.96 >>> sys=0.00, real=2.96 secs] >>>>>> 62445.089: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 3.0059221 secs] [Times: > user=3.00 >>> sys=0.00, real=3.00 secs] >>>>>> 62448.095: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9832815 secs] [Times: > user=3.00 >>> sys=0.00, real=2.99 secs] >>>>>> 62451.079: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9587156 secs] [Times: > user=2.93 >>> sys=0.00, real=2.95 secs] >>>>>> 62454.039: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9488345 secs] [Times: > user=2.92 >>> sys=0.00, real=2.95 secs] >>>>>> 62456.988: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8969788 secs] [Times: > user=2.90 >>> sys=0.00, real=2.90 secs] >>>>>> 62459.886: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8794991 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62462.766: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8842411 secs] [Times: > user=2.87 >>> sys=0.00, real=2.89 secs] >>>>>> 62465.651: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683675K(699072K)] 781916K->781915K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8669173 secs] [Times: > user=2.85 >>> sys=0.00, real=2.85 secs] >>>>>> 62468.519: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8664429 secs] [Times: > user=2.85 >>> sys=0.00, real=2.86 secs] >>>>>> 62471.386: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8844494 secs] [Times: > user=2.87 >>> sys=0.00, real=2.89 secs] >>>>>> 62474.271: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8648398 secs] [Times: > user=2.87 >>> sys=0.00, real=2.87 secs] >>>>>> 62477.137: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8971068 secs] [Times: > user=2.87 >>> sys=0.00, real=2.90 secs] >>>>>> 62480.034: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8655618 secs] [Times: > user=2.86 >>> sys=0.00, real=2.86 secs] >>>>>> 62482.901: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 3.0366140 secs] [Times: > user=2.78 >>> sys=0.00, real=3.04 secs] >>>>>> 62485.939: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8541753 secs] [Times: > user=2.85 >>> sys=0.00, real=2.85 secs] >>>>>> 62488.794: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8582816 secs] [Times: > user=2.86 >>> sys=0.00, real=2.86 secs] >>>>>> 62491.653: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8673218 secs] [Times: > user=2.85 >>> sys=0.00, real=2.86 secs] >>>>>> 62494.521: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9014120 secs] [Times: > user=2.87 >>> sys=0.00, real=2.90 secs] >>>>>> 62497.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8805843 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62500.305: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8905128 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62503.196: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9052007 secs] [Times: > user=2.90 >>> sys=0.00, real=2.92 secs] >>>>>> 62506.102: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9004575 secs] [Times: > user=2.89 >>> sys=0.00, real=2.90 secs] >>>>>> 62509.003: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9160655 secs] [Times: > user=2.90 >>> sys=0.00, real=2.92 secs] >>>>>> 62511.920: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9013277 secs] [Times: > user=2.90 >>> sys=0.00, real=2.90 secs] >>>>>> 62514.822: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8982061 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62517.721: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8922437 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62520.614: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8873520 secs] [Times: > user=2.87 >>> sys=0.00, real=2.89 secs] >>>>>> 62523.502: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8805296 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62526.383: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8958714 secs] [Times: > user=2.85 >>> sys=0.00, real=2.89 secs] >>>>>> 62529.279: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8735384 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62532.154: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8705676 secs] [Times: > user=2.87 >>> sys=0.00, real=2.87 secs] >>>>>> 62535.025: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8723947 secs] [Times: > user=2.85 >>> sys=0.00, real=2.87 secs] >>>>>> 62537.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8624400 secs] [Times: > user=2.86 >>> sys=0.00, real=2.86 secs] >>>>>> 62540.761: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8245748 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62543.587: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8432269 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62546.432: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8394157 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62549.272: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8471951 secs] [Times: > user=2.85 >>> sys=0.00, real=2.85 secs] >>>>>> 62552.121: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8584107 secs] [Times: > user=2.85 >>> sys=0.00, real=2.86 secs] >>>>>> 62554.981: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8376807 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62557.820: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8402486 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62560.661: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8482704 secs] [Times: > user=2.86 >>> sys=0.00, real=2.85 secs] >>>>>> 62563.511: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8115973 secs] [Times: > user=2.81 >>> sys=0.00, real=2.81 secs] >>>>>> 62566.324: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8523278 secs] [Times: > user=2.85 >>> sys=0.00, real=2.86 secs] >>>>>> 62569.177: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8128563 secs] [Times: > user=2.81 >>> sys=0.00, real=2.81 secs] >>>>>> 62571.990: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7830644 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62574.774: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8065106 secs] [Times: > user=2.79 >>> sys=0.00, real=2.81 secs] >>>>>> 62577.582: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7892171 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62580.372: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8059306 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62583.179: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8641470 secs] [Times: > user=2.82 >>> sys=0.00, real=2.86 secs] >>>>>> 62586.044: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8421364 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62588.887: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8852699 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62591.773: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9164279 secs] [Times: > user=2.90 >>> sys=0.00, real=2.92 secs] >>>>>> 62594.690: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9450010 secs] [Times: > user=2.95 >>> sys=0.00, real=2.95 secs] >>>>>> 62597.636: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9744636 secs] [Times: > user=2.98 >>> sys=0.00, real=2.98 secs] >>>>>> 62600.611: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9900849 secs] [Times: > user=2.99 >>> sys=0.00, real=3.00 secs] >>>>>> 62603.602: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.6332370 secs] [Times: > user=2.62 >>> sys=0.00, real=2.62 secs] >>>>>> 62606.236: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9801260 secs] [Times: > user=2.95 >>> sys=0.00, real=2.98 secs] >>>>>> 62609.226: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9166374 secs] [Times: > user=2.89 >>> sys=0.00, real=2.92 secs] >>>>>> 62612.150: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9475729 secs] [Times: > user=2.95 >>> sys=0.00, real=2.95 secs] >>>>>> 62615.098: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9328670 secs] [Times: > user=2.90 >>> sys=0.00, real=2.93 secs] >>>>>> 62618.040: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8963825 secs] [Times: > user=2.89 >>> sys=0.00, real=2.90 secs] >>>>>> 62620.937: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8834715 secs] [Times: > user=2.89 >>> sys=0.00, real=2.89 secs] >>>>>> 62623.821: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8800691 secs] [Times: > user=2.86 >>> sys=0.00, real=2.87 secs] >>>>>> 62626.701: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683677K(699072K)] 781918K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8642587 secs] [Times: > user=2.87 >>> sys=0.00, real=2.87 secs] >>>>>> 62629.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8574615 secs] [Times: > user=2.84 >>> sys=0.00, real=2.86 secs] >>>>>> 62632.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8383412 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >>>>>> 62635.264: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8409891 secs] [Times: > user=2.82 >>> sys=0.00, real=2.84 secs] >>>>>> 62638.106: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7906216 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62640.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7891730 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62643.688: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7892940 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62646.479: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7766807 secs] [Times: > user=2.78 >>> sys=0.00, real=2.78 secs] >>>>>> 62649.257: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7796531 secs] [Times: > user=2.78 >>> sys=0.00, real=2.78 secs] >>>>>> 62652.037: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7687240 secs] [Times: > user=2.76 >>> sys=0.00, real=2.76 secs] >>>>>> 62654.807: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7613769 secs] [Times: > user=2.76 >>> sys=0.00, real=2.76 secs] >>>>>> 62657.570: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7712254 secs] [Times: > user=2.78 >>> sys=0.00, real=2.78 secs] >>>>>> 62660.342: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7968108 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62663.139: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.7924173 secs] [Times: > user=2.79 >>> sys=0.00, real=2.79 secs] >>>>>> 62665.933: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8002912 secs] [Times: > user=2.79 >>> sys=0.00, real=2.81 secs] >>>>>> 62668.736: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8291434 secs] [Times: > user=2.82 >>> sys=0.00, real=2.82 secs] >>>>>> 62671.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8527186 secs] [Times: > user=2.86 >>> sys=0.00, real=2.85 secs] >>>>>> 62674.419: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8982825 secs] [Times: > user=2.90 >>> sys=0.00, real=2.90 secs] >>>>>> 62677.318: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9254483 secs] [Times: > user=2.93 >>> sys=0.00, real=2.93 secs] >>>>>> 62680.244: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9707015 secs] [Times: > user=2.95 >>> sys=0.00, real=2.96 secs] >>>>>> 62683.216: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9894145 secs] [Times: > user=3.00 >>> sys=0.00, real=3.00 secs] >>>>>> 62686.206: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9870305 secs] [Times: > user=2.98 >>> sys=0.00, real=2.98 secs] >>>>>> 62689.193: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9884647 secs] [Times: > user=2.98 >>> sys=0.00, real=3.00 secs] >>>>>> 62692.183: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9635276 secs] [Times: > user=2.96 >>> sys=0.00, real=2.96 secs] >>>>>> 62695.147: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9407559 secs] [Times: > user=2.93 >>> sys=0.00, real=2.93 secs] >>>>>> 62698.088: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9299386 secs] [Times: > user=2.93 >>> sys=0.00, real=2.93 secs] >>>>>> 62701.019: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8994903 secs] [Times: > user=2.90 >>> sys=0.00, real=2.90 secs] >>>>>> 62703.919: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9163417 secs] [Times: > user=2.92 >>> sys=0.00, real=2.92 secs] >>>>>> 62706.836: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9216473 secs] [Times: > user=2.93 >>> sys=0.00, real=2.93 secs] >>>>>> 62709.758: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.9052547 secs] [Times: > user=2.89 >>> sys=0.00, real=2.90 secs] >>>>>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8902824 secs] [Times: > user=2.85 >>> sys=0.00, real=2.89 secs] >>>>>> 62715.555: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8865932 secs] [Times: > user=2.87 >>> sys=0.00, real=2.89 secs] >>>>>> 62718.442: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8605445 secs] [Times: > user=2.87 >>> sys=0.00, real=2.87 secs] >>>>>> 62721.304: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8662771 secs] [Times: > user=2.84 >>> sys=0.00, real=2.86 secs] >>>>>> 62724.171: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>> [PSOldGen: 683679K->683679K(699072K)] 781919K->781919K(913792K) >>> [PSPermGen: 49694K->49694K(49984K)], 2.8369076 secs] [Times: > user=2.84 >>> sys=0.00, real=2.84 secs] >> >> ------------------------------ >> >> _______________________________________________ >> hotspot-gc-use mailing list >> hotspot-gc-use at openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >> >> >> End of hotspot-gc-use Digest, Vol 15, Issue 7 >> ********************************************* >> >> >> > ------------------------------------------------------------------------ >> _______________________________________________ >> hotspot-gc-use mailing list >> hotspot-gc-use at openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Tue Mar 10 10:58:06 2009 From: Y.S.Ramakrishna at Sun.COM (Y. Srinivas Ramakrishna) Date: Tue, 10 Mar 2009 10:58:06 -0700 Subject: Scalability issues with ParallelOld In-Reply-To: References: <49B68DBD.7060502@Sun.COM> <49B6A503.7030006@Sun.COM> Message-ID: <49B6AA2E.6010406@sun.com> Alex Aisinzon wrote: > Jon > > I will plan more tests with CMS: on a 2 core server with Sun JDK 1.5, > how many GC threads will/should be used by CMS: 1 or 2. I am asking > because I wonder if it makes sense to force the number of GC threads to > 2 or not. > When using CMS on a 2-core box, the parallel scavenge and CMS' parallel remark phases will pick 2 worker threads by default. Depending on available cpu and throughput you might gain from iCMS on a 2-core box to reduce (smooth out) the impact on the application when CMS runs. > I did force that number for UseParallelGC and UseParallelOldGC but CMS > likely works differently. > Yes, ParallelGCThreads also works for CMS/ParNew. -- ramki > Thanks again > > Regards > > Alex A > > -----Original Message----- > From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM] > Sent: Tuesday, March 10, 2009 10:36 AM > To: Alex Aisinzon > Cc: hotspot-gc-use at openjdk.java.net > Subject: Re: Scalability issues with ParallelOld > > > > On 03/10/09 09:36, Alex Aisinzon wrote: > >> Jon >> >> As always, your feedback is always enlightening and very much >> appreciated. >> I have some additional comments/questions before closing that >> conversation thread: >> The server has 2 cores. We have servers with more cores (4 and 8) and >> will likely run some tests with those. On these servers, ParallelOldGC >> may or may not prove better performing for the following reason: while >> > I > >> used a single JVM on that 2 cores server, we would use 4 JVMs on an 8 >> core server (same ratio of one JVM for 2 cores). In that case, the >> > many > >> threads used during a full GC would compete for resources with the >> > other > >> running JVMs. >> > > Yes, multiple VM's doing GC's at the same time will > compete for resources. That's not just true for UseParallelOldGC. > It's also the case with UseParallelGC where parallel GC threads > are used for the young gen collection. Consider setting > ParallelGCThreads explicitly if you frequent instances of poor > scaling (i.e., if you look at the user time and the real time > and they show little scaling). > > >> Some Sun benchmarks (by example >> >> > http://www.spec.org/jbb2005/results/res2008q2/jbb2005-20080506-00485.htm > >> l) infer that ParallelOldGC may be beneficial even with 2 cores. My >> hypothesis is that this is because the application tested (the >> SPECJBB2005 code) uses much fewer longer lived objects, as shown by >> > the > >> JVM tunings (-Xmx3350m -Xms3350m -Xmn2800m infers that the tenured is >> only 550MB large). >> > > That benchmark benefits from the young generation parallel GC > (UseParallelGC) which scales better than the old generation > parallel GC. Also, as you note, much of the data is short > lived so gets collected by the young generation collections. > > >> Thanks again for your thoughts. >> > > If you do anymore CMS experiments, send me a log and > I'll look to see if it is worth pursuing. > > > >> Regards >> >> Alex Aisinzon >> >> -----Original Message----- >> From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM] >> Sent: Tuesday, March 10, 2009 8:57 AM >> To: Alex Aisinzon >> Cc: hotspot-gc-use at openjdk.java.net >> Subject: Re: Scalability issues with ParallelOld >> >> >> >> On 03/09/09 16:14, Alex Aisinzon wrote: >> >>> Hi all >>> >>> I try to am experimenting with ParallelOldGC in our performance >>> >> testing >> >>> environment. >>> The server is a Dual Core Opteron 280 (old hardware with few cores by >>> today's standard). >>> With Sun JDK 1.5, full collections with ParallelGC and 2 GC threads >>> >> last >> >>> between 5 & 7 seconds. I tried used ParallelOld with 2 GC threads. >>> > The > >>> full collections are almost twice the time. >>> I then tried with Sun JDK 1.6 to see if it was any better. It is not >>> significantly >>> >> In the logs with UseParallelOldGC I see an average major pause of >> > about > >> 14 sec with 1.5 and about 9.3 sec with 1.6. That's about the >> improvement I would expect. >> >> With UseParallelOldGC using 2 GC threads is about the break even >> > point. > >> That depends on the application. I would not expect using 2 GC >> > threads > >> with UseParallelOldGC to be better than UseParallelGC. >> > UseParallelOldGC > >> does do more work. If you look at the last entry in the 1.6 log >> >> 3034.907: [Full GC [PSYoungGen: 12157K->0K(276160K)] [ParOldGen: >> 2324556K->828465K(2330176K)] 2336714K->828465K(2606336K) [PSPermGen: >> 82577K->82549K(102400K)], 9.0664330 secs] [Times: user=16.81 sys=0.03, >> > > >> real=9.07 secs] >> >> the user time is 16.81 secs and the real time is 9 secs so that says >> > to > >> me that we have both GC threads working in parallel and perhaps doing >> twice the work of the UseParallelGC on a full collection. >> >> >> >>> I have enclosed the logs (Sun JDK 1.5 with ParallelGC and >>> >> ParallelOldGC >> >>> and Sun JDK 1.6 with ParallelOldGC). >>> >>> I have also experimented with CMS with mixed results: I could not get >>> >> it >> >>> to work when using the 64 bit release and double the heap. With 32 >>> >> bit, >> >>> it experienced some rare but longer pauses than ParallelGC. >>> > Therefore, > >>> it did not seem a good alternative to ParallelGC to consistently have >>> short pauses. >>> >> CMS sometimes takes quite a bit of tuning to run well. The goal of >> CMS is to not have the full GC's (that would be analogous to the full >> GC's with UseParallelGC or UseParallelOldGC). >> >> >>> One thing to note is that our application has a large amount of long >>> lived objects. My experience is that a lot of long lived objects make >>> full collections longer. >>> >> This (plus the need for low pauses) would indicate that CMS may a good >> choice although CMS works best when there is excess processing power >> that CMS can use concurrently with the application. Does you >> platform have 2 or 4 hardware threads? >> >> >>> What are my options to consistently reduce the longest GC pauses? >>> >>> Would our application profile (lots of long lived objects) make it a >>> good candidate for the coming lower collector aka G1? >>> >> Depends of lots of things but part of the design of G1 is >> is to do collections of the heap in increments. You would >> get shorter pauses that a full GC certainly but would get >> more collections (more, shorter collections). G1 also does works >> concurrently with application so having available processing >> power helps. >> >> >> >>> Thanks in advance >>> >>> Alex Aisinzon >>> >>> -----Original Message----- >>> From: hotspot-gc-use-bounces at openjdk.java.net >>> [mailto:hotspot-gc-use-bounces at openjdk.java.net] On Behalf Of >>> hotspot-gc-use-request at openjdk.java.net >>> Sent: Wednesday, February 25, 2009 8:41 PM >>> To: hotspot-gc-use at openjdk.java.net >>> Subject: hotspot-gc-use Digest, Vol 15, Issue 7 >>> >>> Send hotspot-gc-use mailing list submissions to >>> hotspot-gc-use at openjdk.java.net >>> >>> To subscribe or unsubscribe via the World Wide Web, visit >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> or, via email, send a message with subject or body 'help' to >>> hotspot-gc-use-request at openjdk.java.net >>> >>> You can reach the person managing the list at >>> hotspot-gc-use-owner at openjdk.java.net >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of hotspot-gc-use digest..." >>> >>> >>> Today's Topics: >>> >>> 1. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application (Jon >>> >> Masamitsu) >> >>> 2. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application (Y Srinivas >>> Ramakrishna) >>> >>> >>> >>> > ---------------------------------------------------------------------- > >>> Message: 1 >>> Date: Wed, 25 Feb 2009 14:42:32 -0800 >>> From: Jon Masamitsu >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: David Sitsky >>> Cc: Y Srinivas Ramakrishna , >>> hotspot-gc-use at openjdk.java.net >>> Message-ID: <49A5C958.8070704 at sun.com> >>> Content-Type: text/plain; charset=us-ascii >>> >>> David, >>> >>> This is an educated guess but I would say that no out-of-memory >>> was thrown because there was still significant space in the >>> young gen after a collection. >>> >>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] [PSOldGen: >>> 683678K->683678K(699072K)] 781918K->781918K(913792K) [PSPermGen: >>> >>> The young gen capacity being 214720K and the used space >>> in the young gen being 98240K. That missing space may be in the >>> survivor spaces which are not directly available to the >>> application with the UseParallelGC collector. The logic >>> that would throw the out-of-memory is very conservative >>> and probably does not allow for such a case. >>> >>> Jon >>> >>> >>> >>> David Sitsky wrote On 02/25/09 13:59,: >>> >>> >>>> Hi Ramki, >>>> >>>> The next message I posted to the hotspot list showed a GC trace when >>>> >> I >> >>>> allocated more memory (an extra 300 megs), where everything worked >>>> >>> fine. >>> >>>> I am well aware that the heap size for this particular application >>>> >>> and >>> >>>> data set was too small. My run from last night with the extra heap >>>> >> is >> >>>> still running nicely. >>>> >>>> I reported this issue, because it seemed to me no progress was being >>>> > > >>>> made and no OutOfMemoryErrors were being generated. The application >>>> >>> was >>> >>>> effectively "stuck" making no progress at all. I couldn't even >>>> >> connect >> >>>> to it with jconsole, although jstack worked fine. >>>> >>>> My understanding is this condition is meant to be detected, and >>>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >>>> >>> This >>> >>>> is with the parallel GC. >>>> >>>> Cheers, >>>> David >>>> >>>> Y Srinivas Ramakrishna wrote: >>>> >>>> >>>> >>>>> Doesn't the heap look too full? >>>>> If a 64-bit JVM why use such an oversubscribed >>>>> and small heap? Either make the old gen bigger or make the >>>>> young gen smaller (giving that space to the older gen) >>>>> so that each scavenge does not degenerate to a full gc >>>>> as in your trace below. >>>>> >>>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>>> so i have cross-posted over to that list with a bcc to >>>>> the hotspot-dev list. >>>>> >>>>> Also the GC tuning guides to be found here might be useful >>>>> reading:- >>>>> >>>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>>> >>>>> -- ramki >>>>> >>>>> ----- Original Message ----- >>>>> From: Jon Masamitsu >>>>> Date: Tuesday, February 24, 2009 10:00 pm >>>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>>>> >>> platform within data processing application >>> >>>>> To: David Sitsky >>>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >>>>> >>> >>> >>>>> >>>>> >>>>> >>>>>> David, >>>>>> >>>>>> Can you also send a GC log from a run where there >>>>>> is not a problem? As I understand it, that would >>>>>> be a 32bit run. >>>>>> >>>>>> Jon >>>>>> >>>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Jon Masamitsu wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>>> (-XX:MaxPermSize=). >>>>>>>>> >>>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> gathering the >>>>>> >>>>>> >>>>>> >>>>>>>>> GC logs. >>>>>>>>> If you've already gathering some, send those but in future >>>>>>>>> > runs, > >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>> use the >>>>>> >>>>>> >>>>>> >>>>>>>>> above. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> Here is a sample of output from a stuck process. You can see its >>>>>>> > > >>>>>>> >>>>>>> >>>>>>> >>>>>> doing >>>>>> >>>>>> >>>>>> >>>>>>> a full GC about every 3 seconds, and it seems as if there is >>>>>>> >> little >> >>>>>>> progress.. >>>>>>> >>>>>>> Please let me know if you need more information. >>>>>>> >>>>>>> Cheers, >>>>>>> David >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> _______________________________________________ >>>> hotspot-gc-use mailing list >>>> hotspot-gc-use at openjdk.java.net >>>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>>> >>>> >>>> >>> ------------------------------ >>> >>> Message: 2 >>> Date: Wed, 25 Feb 2009 20:41:10 -0800 >>> From: Y Srinivas Ramakrishna >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: David Sitsky >>> Cc: hotspot-gc-use at openjdk.java.net >>> Message-ID: <71e0b0454a6.49a5ace6 at sun.com> >>> Content-Type: text/plain; charset=us-ascii >>> >>> >>> Yes, sorry, my bad. >>> I think Jon can explain that the trace you included >>> will show metrics (GC overhead and Space free(d)) that somehow >>> fall below the thresholds that trigger the GCOverhead related >>> OOM. These thresholds can of course be modified via suitable >>> JVM options. >>> >>> -- ramki >>> >>> ----- Original Message ----- >>> From: David Sitsky >>> Date: Wednesday, February 25, 2009 1:59 pm >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: Y Srinivas Ramakrishna >>> Cc: hotspot-gc-use at openjdk.java.net >>> >>> >>> >>>> Hi Ramki, >>>> >>>> The next message I posted to the hotspot list showed a GC trace when >>>> >> I >> >>>> allocated more memory (an extra 300 megs), where everything worked >>>> fine. I am well aware that the heap size for this particular >>>> application and data set was too small. My run from last night with >>>> > > >>>> the extra heap is still running nicely. >>>> >>>> I reported this issue, because it seemed to me no progress was being >>>> > > >>>> made and no OutOfMemoryErrors were being generated. The application >>>> > > >>>> was effectively "stuck" making no progress at all. I couldn't even >>>> connect to it with jconsole, although jstack worked fine. >>>> >>>> My understanding is this condition is meant to be detected, and >>>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >>>> This is with the parallel GC. >>>> >>>> Cheers, >>>> David >>>> >>>> Y Srinivas Ramakrishna wrote: >>>> >>>>> Doesn't the heap look too full? >>>>> If a 64-bit JVM why use such an oversubscribed >>>>> and small heap? Either make the old gen bigger or make the >>>>> young gen smaller (giving that space to the older gen) >>>>> so that each scavenge does not degenerate to a full gc >>>>> as in your trace below. >>>>> >>>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>>> so i have cross-posted over to that list with a bcc to >>>>> the hotspot-dev list. >>>>> >>>>> Also the GC tuning guides to be found here might be useful >>>>> reading:- >>>>> >>>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>>> >>>>> -- ramki >>>>> >>>>> ----- Original Message ----- >>>>> From: Jon Masamitsu >>>>> Date: Tuesday, February 24, 2009 10:00 pm >>>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>>>> > > >>>> platform within data processing application >>>> >>>>> To: David Sitsky >>>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >>>>> >>> >>> >>>>>> David, >>>>>> >>>>>> Can you also send a GC log from a run where there >>>>>> is not a problem? As I understand it, that would >>>>>> be a 32bit run. >>>>>> >>>>>> Jon >>>>>> >>>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>>> >>>>>> >>>>>>> Jon Masamitsu wrote: >>>>>>> >>>>>>> >>>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>>> (-XX:MaxPermSize=). >>>>>>>>> >>>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>>>>> >>>>>> gathering the >>>>>> >>>>>>>>> GC logs. >>>>>>>>> If you've already gathering some, send those but in future >>>>>>>>> > runs, > >>>>>> use the >>>>>> >>>>>>>>> above. >>>>>>>>> >>>>>>>>> >>>>>>> Here is a sample of output from a stuck process. You can see its >>>>>>> > > >>>>>> doing >>>>>> >>>>>>> a full GC about every 3 seconds, and it seems as if there is >>>>>>> >> little >> >>>> progress.. >>>> >>>>>>> Please let me know if you need more information. >>>>>>> >>>>>>> Cheers, >>>>>>> David >>>>>>> >>>>>>> 62402.320: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8063178 secs] [Times: >>>> >> user=2.81 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62405.128: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8029997 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62407.932: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7917325 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62410.725: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7891387 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62413.515: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7649110 secs] [Times: >>>> >> user=2.76 >> >>>> sys=0.00, real=2.76 secs] >>>> >>>>>>> 62416.281: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7803983 secs] [Times: >>>> >> user=2.78 >> >>>> sys=0.00, real=2.78 secs] >>>> >>>>>>> 62419.063: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7643979 secs] [Times: >>>> >> user=2.76 >> >>>> sys=0.00, real=2.76 secs] >>>> >>>>>>> 62421.828: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8114336 secs] [Times: >>>> >> user=2.81 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62424.640: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7964912 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62427.438: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8107278 secs] [Times: >>>> >> user=2.81 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62430.249: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.2345212 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=3.24 secs] >>>> >>>>>>> 62433.484: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8341520 secs] [Times: >>>> >> user=2.82 >> >>>> sys=0.00, real=2.82 secs] >>>> >>>>>>> 62436.319: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8698768 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62439.190: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9323230 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62442.124: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9644960 secs] [Times: >>>> >> user=2.96 >> >>>> sys=0.00, real=2.96 secs] >>>> >>>>>>> 62445.089: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.0059221 secs] [Times: >>>> >> user=3.00 >> >>>> sys=0.00, real=3.00 secs] >>>> >>>>>>> 62448.095: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9832815 secs] [Times: >>>> >> user=3.00 >> >>>> sys=0.00, real=2.99 secs] >>>> >>>>>>> 62451.079: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9587156 secs] [Times: >>>> >> user=2.93 >> >>>> sys=0.00, real=2.95 secs] >>>> >>>>>>> 62454.039: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9488345 secs] [Times: >>>> >> user=2.92 >> >>>> sys=0.00, real=2.95 secs] >>>> >>>>>>> 62456.988: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8969788 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62459.886: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8794991 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62462.766: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8842411 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62465.651: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683675K(699072K)] 781916K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8669173 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.85 secs] >>>> >>>>>>> 62468.519: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8664429 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62471.386: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8844494 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62474.271: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8648398 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62477.137: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8971068 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62480.034: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8655618 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62482.901: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.0366140 secs] [Times: >>>> >> user=2.78 >> >>>> sys=0.00, real=3.04 secs] >>>> >>>>>>> 62485.939: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8541753 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.85 secs] >>>> >>>>>>> 62488.794: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8582816 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62491.653: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8673218 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62494.521: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9014120 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62497.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8805843 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62500.305: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8905128 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62503.196: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9052007 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62506.102: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9004575 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62509.003: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9160655 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62511.920: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9013277 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62514.822: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8982061 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62517.721: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8922437 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62520.614: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8873520 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62523.502: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8805296 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62526.383: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8958714 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62529.279: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8735384 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62532.154: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8705676 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62535.025: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8723947 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62537.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8624400 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62540.761: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8245748 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62543.587: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8432269 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62546.432: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8394157 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62549.272: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8471951 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.85 secs] >>>> >>>>>>> 62552.121: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8584107 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62554.981: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8376807 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62557.820: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8402486 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62560.661: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8482704 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.85 secs] >>>> >>>>>>> 62563.511: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8115973 secs] [Times: >>>> >> user=2.81 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62566.324: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8523278 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62569.177: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8128563 secs] [Times: >>>> >> user=2.81 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62571.990: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7830644 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62574.774: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8065106 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62577.582: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7892171 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62580.372: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8059306 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62583.179: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8641470 secs] [Times: >>>> >> user=2.82 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62586.044: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8421364 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62588.887: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8852699 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62591.773: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9164279 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62594.690: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9450010 secs] [Times: >>>> >> user=2.95 >> >>>> sys=0.00, real=2.95 secs] >>>> >>>>>>> 62597.636: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9744636 secs] [Times: >>>> >> user=2.98 >> >>>> sys=0.00, real=2.98 secs] >>>> >>>>>>> 62600.611: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9900849 secs] [Times: >>>> >> user=2.99 >> >>>> sys=0.00, real=3.00 secs] >>>> >>>>>>> 62603.602: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.6332370 secs] [Times: >>>> >> user=2.62 >> >>>> sys=0.00, real=2.62 secs] >>>> >>>>>>> 62606.236: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9801260 secs] [Times: >>>> >> user=2.95 >> >>>> sys=0.00, real=2.98 secs] >>>> >>>>>>> 62609.226: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9166374 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62612.150: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9475729 secs] [Times: >>>> >> user=2.95 >> >>>> sys=0.00, real=2.95 secs] >>>> >>>>>>> 62615.098: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9328670 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.93 secs] >>>> >>>>>>> 62618.040: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8963825 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62620.937: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8834715 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62623.821: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8800691 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62626.701: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683677K(699072K)] 781918K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8642587 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62629.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8574615 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62632.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8383412 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62635.264: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8409891 secs] [Times: >>>> >> user=2.82 >> >>>> sys=0.00, real=2.84 secs] >>>> >>>>>>> 62638.106: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7906216 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62640.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7891730 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62643.688: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7892940 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62646.479: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7766807 secs] [Times: >>>> >> user=2.78 >> >>>> sys=0.00, real=2.78 secs] >>>> >>>>>>> 62649.257: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7796531 secs] [Times: >>>> >> user=2.78 >> >>>> sys=0.00, real=2.78 secs] >>>> >>>>>>> 62652.037: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7687240 secs] [Times: >>>> >> user=2.76 >> >>>> sys=0.00, real=2.76 secs] >>>> >>>>>>> 62654.807: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7613769 secs] [Times: >>>> >> user=2.76 >> >>>> sys=0.00, real=2.76 secs] >>>> >>>>>>> 62657.570: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7712254 secs] [Times: >>>> >> user=2.78 >> >>>> sys=0.00, real=2.78 secs] >>>> >>>>>>> 62660.342: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7968108 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62663.139: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7924173 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.79 secs] >>>> >>>>>>> 62665.933: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8002912 secs] [Times: >>>> >> user=2.79 >> >>>> sys=0.00, real=2.81 secs] >>>> >>>>>>> 62668.736: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8291434 secs] [Times: >>>> >> user=2.82 >> >>>> sys=0.00, real=2.82 secs] >>>> >>>>>>> 62671.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8527186 secs] [Times: >>>> >> user=2.86 >> >>>> sys=0.00, real=2.85 secs] >>>> >>>>>>> 62674.419: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8982825 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62677.318: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9254483 secs] [Times: >>>> >> user=2.93 >> >>>> sys=0.00, real=2.93 secs] >>>> >>>>>>> 62680.244: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9707015 secs] [Times: >>>> >> user=2.95 >> >>>> sys=0.00, real=2.96 secs] >>>> >>>>>>> 62683.216: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9894145 secs] [Times: >>>> >> user=3.00 >> >>>> sys=0.00, real=3.00 secs] >>>> >>>>>>> 62686.206: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9870305 secs] [Times: >>>> >> user=2.98 >> >>>> sys=0.00, real=2.98 secs] >>>> >>>>>>> 62689.193: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9884647 secs] [Times: >>>> >> user=2.98 >> >>>> sys=0.00, real=3.00 secs] >>>> >>>>>>> 62692.183: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9635276 secs] [Times: >>>> >> user=2.96 >> >>>> sys=0.00, real=2.96 secs] >>>> >>>>>>> 62695.147: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9407559 secs] [Times: >>>> >> user=2.93 >> >>>> sys=0.00, real=2.93 secs] >>>> >>>>>>> 62698.088: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9299386 secs] [Times: >>>> >> user=2.93 >> >>>> sys=0.00, real=2.93 secs] >>>> >>>>>>> 62701.019: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8994903 secs] [Times: >>>> >> user=2.90 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62703.919: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9163417 secs] [Times: >>>> >> user=2.92 >> >>>> sys=0.00, real=2.92 secs] >>>> >>>>>>> 62706.836: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9216473 secs] [Times: >>>> >> user=2.93 >> >>>> sys=0.00, real=2.93 secs] >>>> >>>>>>> 62709.758: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9052547 secs] [Times: >>>> >> user=2.89 >> >>>> sys=0.00, real=2.90 secs] >>>> >>>>>>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8902824 secs] [Times: >>>> >> user=2.85 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62715.555: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8865932 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.89 secs] >>>> >>>>>>> 62718.442: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8605445 secs] [Times: >>>> >> user=2.87 >> >>>> sys=0.00, real=2.87 secs] >>>> >>>>>>> 62721.304: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8662771 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.86 secs] >>>> >>>>>>> 62724.171: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>>>>> >>>> [PSOldGen: 683679K->683679K(699072K)] 781919K->781919K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8369076 secs] [Times: >>>> >> user=2.84 >> >>>> sys=0.00, real=2.84 secs] >>>> >>> ------------------------------ >>> >>> _______________________________________________ >>> hotspot-gc-use mailing list >>> hotspot-gc-use at openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> >>> >>> End of hotspot-gc-use Digest, Vol 15, Issue 7 >>> ********************************************* >>> >>> >>> >>> > ------------------------------------------------------------------------ > >>> _______________________________________________ >>> hotspot-gc-use mailing list >>> hotspot-gc-use at openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Jon.Masamitsu at Sun.COM Tue Mar 10 11:05:17 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Tue, 10 Mar 2009 11:05:17 -0700 Subject: Scalability issues with ParallelOld In-Reply-To: References: <49B68DBD.7060502@Sun.COM> <49B6A503.7030006@Sun.COM> Message-ID: <49B6ABDD.5010704@Sun.COM> With CMS use 2 ParallelGCThreads Also pay attention to the young gen size, survivor space sizes and tenuring threshold. In jdk6 the defaults were changed to be more a little more generally applicable (as opposed to too pause time focused). Look at http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html for the changes. You might want to have an even larger young gen. There's some rational for the changes here http://blogs.sun.com/jonthecollector/entry/the_fault_with_defaults Good luck. On 03/10/09 10:45, Alex Aisinzon wrote: > Jon > > I will plan more tests with CMS: on a 2 core server with Sun JDK 1.5, > how many GC threads will/should be used by CMS: 1 or 2. I am asking > because I wonder if it makes sense to force the number of GC threads to > 2 or not. > I did force that number for UseParallelGC and UseParallelOldGC but CMS > likely works differently. > > Thanks again > > Regards > > Alex A > > -----Original Message----- > From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM] > Sent: Tuesday, March 10, 2009 10:36 AM > To: Alex Aisinzon > Cc: hotspot-gc-use at openjdk.java.net > Subject: Re: Scalability issues with ParallelOld > > > > On 03/10/09 09:36, Alex Aisinzon wrote: >> Jon >> >> As always, your feedback is always enlightening and very much >> appreciated. >> I have some additional comments/questions before closing that >> conversation thread: >> The server has 2 cores. We have servers with more cores (4 and 8) and >> will likely run some tests with those. On these servers, ParallelOldGC >> may or may not prove better performing for the following reason: while > I >> used a single JVM on that 2 cores server, we would use 4 JVMs on an 8 >> core server (same ratio of one JVM for 2 cores). In that case, the > many >> threads used during a full GC would compete for resources with the > other >> running JVMs. > > Yes, multiple VM's doing GC's at the same time will > compete for resources. That's not just true for UseParallelOldGC. > It's also the case with UseParallelGC where parallel GC threads > are used for the young gen collection. Consider setting > ParallelGCThreads explicitly if you frequent instances of poor > scaling (i.e., if you look at the user time and the real time > and they show little scaling). > >> Some Sun benchmarks (by example >> > http://www.spec.org/jbb2005/results/res2008q2/jbb2005-20080506-00485.htm >> l) infer that ParallelOldGC may be beneficial even with 2 cores. My >> hypothesis is that this is because the application tested (the >> SPECJBB2005 code) uses much fewer longer lived objects, as shown by > the >> JVM tunings (-Xmx3350m -Xms3350m -Xmn2800m infers that the tenured is >> only 550MB large). > > That benchmark benefits from the young generation parallel GC > (UseParallelGC) which scales better than the old generation > parallel GC. Also, as you note, much of the data is short > lived so gets collected by the young generation collections. > >> Thanks again for your thoughts. > > If you do anymore CMS experiments, send me a log and > I'll look to see if it is worth pursuing. > > >> Regards >> >> Alex Aisinzon >> >> -----Original Message----- >> From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM] >> Sent: Tuesday, March 10, 2009 8:57 AM >> To: Alex Aisinzon >> Cc: hotspot-gc-use at openjdk.java.net >> Subject: Re: Scalability issues with ParallelOld >> >> >> >> On 03/09/09 16:14, Alex Aisinzon wrote: >>> Hi all >>> >>> I try to am experimenting with ParallelOldGC in our performance >> testing >>> environment. >>> The server is a Dual Core Opteron 280 (old hardware with few cores by >>> today's standard). >>> With Sun JDK 1.5, full collections with ParallelGC and 2 GC threads >> last >>> between 5 & 7 seconds. I tried used ParallelOld with 2 GC threads. > The >>> full collections are almost twice the time. >>> I then tried with Sun JDK 1.6 to see if it was any better. It is not >>> significantly >> In the logs with UseParallelOldGC I see an average major pause of > about >> 14 sec with 1.5 and about 9.3 sec with 1.6. That's about the >> improvement I would expect. >> >> With UseParallelOldGC using 2 GC threads is about the break even > point. >> That depends on the application. I would not expect using 2 GC > threads >> with UseParallelOldGC to be better than UseParallelGC. > UseParallelOldGC >> does do more work. If you look at the last entry in the 1.6 log >> >> 3034.907: [Full GC [PSYoungGen: 12157K->0K(276160K)] [ParOldGen: >> 2324556K->828465K(2330176K)] 2336714K->828465K(2606336K) [PSPermGen: >> 82577K->82549K(102400K)], 9.0664330 secs] [Times: user=16.81 sys=0.03, > >> real=9.07 secs] >> >> the user time is 16.81 secs and the real time is 9 secs so that says > to >> me that we have both GC threads working in parallel and perhaps doing >> twice the work of the UseParallelGC on a full collection. >> >> >>> I have enclosed the logs (Sun JDK 1.5 with ParallelGC and >> ParallelOldGC >>> and Sun JDK 1.6 with ParallelOldGC). >>> >>> I have also experimented with CMS with mixed results: I could not get >> it >>> to work when using the 64 bit release and double the heap. With 32 >> bit, >>> it experienced some rare but longer pauses than ParallelGC. > Therefore, >>> it did not seem a good alternative to ParallelGC to consistently have >>> short pauses. >> CMS sometimes takes quite a bit of tuning to run well. The goal of >> CMS is to not have the full GC's (that would be analogous to the full >> GC's with UseParallelGC or UseParallelOldGC). >> >>> One thing to note is that our application has a large amount of long >>> lived objects. My experience is that a lot of long lived objects make >>> full collections longer. >> This (plus the need for low pauses) would indicate that CMS may a good >> choice although CMS works best when there is excess processing power >> that CMS can use concurrently with the application. Does you >> platform have 2 or 4 hardware threads? >> >>> What are my options to consistently reduce the longest GC pauses? >>> >>> Would our application profile (lots of long lived objects) make it a >>> good candidate for the coming lower collector aka G1? >> Depends of lots of things but part of the design of G1 is >> is to do collections of the heap in increments. You would >> get shorter pauses that a full GC certainly but would get >> more collections (more, shorter collections). G1 also does works >> concurrently with application so having available processing >> power helps. >> >> >>> Thanks in advance >>> >>> Alex Aisinzon >>> >>> -----Original Message----- >>> From: hotspot-gc-use-bounces at openjdk.java.net >>> [mailto:hotspot-gc-use-bounces at openjdk.java.net] On Behalf Of >>> hotspot-gc-use-request at openjdk.java.net >>> Sent: Wednesday, February 25, 2009 8:41 PM >>> To: hotspot-gc-use at openjdk.java.net >>> Subject: hotspot-gc-use Digest, Vol 15, Issue 7 >>> >>> Send hotspot-gc-use mailing list submissions to >>> hotspot-gc-use at openjdk.java.net >>> >>> To subscribe or unsubscribe via the World Wide Web, visit >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> or, via email, send a message with subject or body 'help' to >>> hotspot-gc-use-request at openjdk.java.net >>> >>> You can reach the person managing the list at >>> hotspot-gc-use-owner at openjdk.java.net >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of hotspot-gc-use digest..." >>> >>> >>> Today's Topics: >>> >>> 1. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application (Jon >> Masamitsu) >>> 2. Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application (Y Srinivas >>> Ramakrishna) >>> >>> >>> > ---------------------------------------------------------------------- >>> Message: 1 >>> Date: Wed, 25 Feb 2009 14:42:32 -0800 >>> From: Jon Masamitsu >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: David Sitsky >>> Cc: Y Srinivas Ramakrishna , >>> hotspot-gc-use at openjdk.java.net >>> Message-ID: <49A5C958.8070704 at sun.com> >>> Content-Type: text/plain; charset=us-ascii >>> >>> David, >>> >>> This is an educated guess but I would say that no out-of-memory >>> was thrown because there was still significant space in the >>> young gen after a collection. >>> >>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] [PSOldGen: >>> 683678K->683678K(699072K)] 781918K->781918K(913792K) [PSPermGen: >>> >>> The young gen capacity being 214720K and the used space >>> in the young gen being 98240K. That missing space may be in the >>> survivor spaces which are not directly available to the >>> application with the UseParallelGC collector. The logic >>> that would throw the out-of-memory is very conservative >>> and probably does not allow for such a case. >>> >>> Jon >>> >>> >>> >>> David Sitsky wrote On 02/25/09 13:59,: >>> >>>> Hi Ramki, >>>> >>>> The next message I posted to the hotspot list showed a GC trace when >> I >>>> allocated more memory (an extra 300 megs), where everything worked >>> fine. >>>> I am well aware that the heap size for this particular application >>> and >>>> data set was too small. My run from last night with the extra heap >> is >>>> still running nicely. >>>> >>>> I reported this issue, because it seemed to me no progress was being > >>>> made and no OutOfMemoryErrors were being generated. The application >>> was >>>> effectively "stuck" making no progress at all. I couldn't even >> connect >>>> to it with jconsole, although jstack worked fine. >>>> >>>> My understanding is this condition is meant to be detected, and >>>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >>> This >>>> is with the parallel GC. >>>> >>>> Cheers, >>>> David >>>> >>>> Y Srinivas Ramakrishna wrote: >>>> >>>> >>>>> Doesn't the heap look too full? >>>>> If a 64-bit JVM why use such an oversubscribed >>>>> and small heap? Either make the old gen bigger or make the >>>>> young gen smaller (giving that space to the older gen) >>>>> so that each scavenge does not degenerate to a full gc >>>>> as in your trace below. >>>>> >>>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>>> so i have cross-posted over to that list with a bcc to >>>>> the hotspot-dev list. >>>>> >>>>> Also the GC tuning guides to be found here might be useful >>>>> reading:- >>>>> >>>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>>> >>>>> -- ramki >>>>> >>>>> ----- Original Message ----- >>>>> From: Jon Masamitsu >>>>> Date: Tuesday, February 24, 2009 10:00 pm >>>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>>>> To: David Sitsky >>>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >>> >>>>> >>>>> >>>>>> David, >>>>>> >>>>>> Can you also send a GC log from a run where there >>>>>> is not a problem? As I understand it, that would >>>>>> be a 32bit run. >>>>>> >>>>>> Jon >>>>>> >>>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>>> >>>>>> >>>>>> >>>>>>> Jon Masamitsu wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>>> (-XX:MaxPermSize=). >>>>>>>>> >>>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>>>>> >>>>>>>>> >>>>>> gathering the >>>>>> >>>>>> >>>>>>>>> GC logs. >>>>>>>>> If you've already gathering some, send those but in future > runs, >>>>>>>>> >>>>>>>>> >>>>>> use the >>>>>> >>>>>> >>>>>>>>> above. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> Here is a sample of output from a stuck process. You can see its > >>>>>>> >>>>>>> >>>>>> doing >>>>>> >>>>>> >>>>>>> a full GC about every 3 seconds, and it seems as if there is >> little >>>>>>> progress.. >>>>>>> >>>>>>> Please let me know if you need more information. >>>>>>> >>>>>>> Cheers, >>>>>>> David >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>> _______________________________________________ >>>> hotspot-gc-use mailing list >>>> hotspot-gc-use at openjdk.java.net >>>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>>> >>>> >>> >>> ------------------------------ >>> >>> Message: 2 >>> Date: Wed, 25 Feb 2009 20:41:10 -0800 >>> From: Y Srinivas Ramakrishna >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: David Sitsky >>> Cc: hotspot-gc-use at openjdk.java.net >>> Message-ID: <71e0b0454a6.49a5ace6 at sun.com> >>> Content-Type: text/plain; charset=us-ascii >>> >>> >>> Yes, sorry, my bad. >>> I think Jon can explain that the trace you included >>> will show metrics (GC overhead and Space free(d)) that somehow >>> fall below the thresholds that trigger the GCOverhead related >>> OOM. These thresholds can of course be modified via suitable >>> JVM options. >>> >>> -- ramki >>> >>> ----- Original Message ----- >>> From: David Sitsky >>> Date: Wednesday, February 25, 2009 1:59 pm >>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 >>> platform within data processing application >>> To: Y Srinivas Ramakrishna >>> Cc: hotspot-gc-use at openjdk.java.net >>> >>> >>>> Hi Ramki, >>>> >>>> The next message I posted to the hotspot list showed a GC trace when >> I >>>> allocated more memory (an extra 300 megs), where everything worked >>>> fine. I am well aware that the heap size for this particular >>>> application and data set was too small. My run from last night with > >>>> the extra heap is still running nicely. >>>> >>>> I reported this issue, because it seemed to me no progress was being > >>>> made and no OutOfMemoryErrors were being generated. The application > >>>> was effectively "stuck" making no progress at all. I couldn't even >>>> connect to it with jconsole, although jstack worked fine. >>>> >>>> My understanding is this condition is meant to be detected, and >>>> OutOfMemoryError is meant to be thrown, but perhaps I am mistaken? >>>> This is with the parallel GC. >>>> >>>> Cheers, >>>> David >>>> >>>> Y Srinivas Ramakrishna wrote: >>>>> Doesn't the heap look too full? >>>>> If a 64-bit JVM why use such an oversubscribed >>>>> and small heap? Either make the old gen bigger or make the >>>>> young gen smaller (giving that space to the older gen) >>>>> so that each scavenge does not degenerate to a full gc >>>>> as in your trace below. >>>>> >>>>> This discussion probably belongs on hotspot-gc-use at o.j.n list >>>>> so i have cross-posted over to that list with a bcc to >>>>> the hotspot-dev list. >>>>> >>>>> Also the GC tuning guides to be found here might be useful >>>>> reading:- >>>>> >>>>> http://java.sun.com/javase/technologies/hotspot/gc/index.jsp >>>>> >>>>> -- ramki >>>>> >>>>> ----- Original Message ----- >>>>> From: Jon Masamitsu >>>>> Date: Tuesday, February 24, 2009 10:00 pm >>>>> Subject: Re: 100% CPU usage in "VM Thread" for Hotspot 10/11 on x64 > >>>> platform within data processing application >>>>> To: David Sitsky >>>>> Cc: hotspot-dev at openjdk.java.net, Tom Rodriguez >>> >>>>>> David, >>>>>> >>>>>> Can you also send a GC log from a run where there >>>>>> is not a problem? As I understand it, that would >>>>>> be a 32bit run. >>>>>> >>>>>> Jon >>>>>> >>>>>> David Sitsky wrote On 02/24/09 16:04,: >>>>>> >>>>>>> Jon Masamitsu wrote: >>>>>>> >>>>>>>> Jon Masamitsu wrote On 02/23/09 17:20,: >>>>>>>> >>>>>>>> >>>>>>>>> ... >>>>>>>>> >>>>>>>>> Increase the heap by 30%. Also increase the the perm gen size >>>>>>>>> (-XX:MaxPermSize=). >>>>>>>>> >>>>>>>>> Please use -XX:+PrintGCDetails -XX:+PrintGCTimeStamps when >>>>>> gathering the >>>>>>>>> GC logs. >>>>>>>>> If you've already gathering some, send those but in future > runs, >>>>>> use the >>>>>>>>> above. >>>>>>>>> >>>>>>> Here is a sample of output from a stuck process. You can see its > >>>>>> doing >>>>>>> a full GC about every 3 seconds, and it seems as if there is >> little >>>> progress.. >>>>>>> Please let me know if you need more information. >>>>>>> >>>>>>> Cheers, >>>>>>> David >>>>>>> >>>>>>> 62402.320: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8063178 secs] [Times: >> user=2.81 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62405.128: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8029997 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62407.932: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7917325 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62410.725: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7891387 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62413.515: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7649110 secs] [Times: >> user=2.76 >>>> sys=0.00, real=2.76 secs] >>>>>>> 62416.281: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7803983 secs] [Times: >> user=2.78 >>>> sys=0.00, real=2.78 secs] >>>>>>> 62419.063: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7643979 secs] [Times: >> user=2.76 >>>> sys=0.00, real=2.76 secs] >>>>>>> 62421.828: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8114336 secs] [Times: >> user=2.81 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62424.640: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7964912 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62427.438: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8107278 secs] [Times: >> user=2.81 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62430.249: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.2345212 secs] [Times: >> user=2.84 >>>> sys=0.00, real=3.24 secs] >>>>>>> 62433.484: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8341520 secs] [Times: >> user=2.82 >>>> sys=0.00, real=2.82 secs] >>>>>>> 62436.319: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8698768 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62439.190: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9323230 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62442.124: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9644960 secs] [Times: >> user=2.96 >>>> sys=0.00, real=2.96 secs] >>>>>>> 62445.089: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.0059221 secs] [Times: >> user=3.00 >>>> sys=0.00, real=3.00 secs] >>>>>>> 62448.095: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9832815 secs] [Times: >> user=3.00 >>>> sys=0.00, real=2.99 secs] >>>>>>> 62451.079: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9587156 secs] [Times: >> user=2.93 >>>> sys=0.00, real=2.95 secs] >>>>>>> 62454.039: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9488345 secs] [Times: >> user=2.92 >>>> sys=0.00, real=2.95 secs] >>>>>>> 62456.988: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8969788 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62459.886: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8794991 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62462.766: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683675K->683675K(699072K)] 781915K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8842411 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62465.651: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683675K(699072K)] 781916K->781915K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8669173 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.85 secs] >>>>>>> 62468.519: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8664429 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62471.386: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8844494 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62474.271: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8648398 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62477.137: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8971068 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62480.034: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8655618 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62482.901: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 3.0366140 secs] [Times: >> user=2.78 >>>> sys=0.00, real=3.04 secs] >>>>>>> 62485.939: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8541753 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.85 secs] >>>>>>> 62488.794: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8582816 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62491.653: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8673218 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62494.521: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9014120 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62497.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8805843 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62500.305: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8905128 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62503.196: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9052007 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62506.102: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9004575 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62509.003: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9160655 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62511.920: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9013277 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62514.822: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8982061 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62517.721: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8922437 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62520.614: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8873520 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62523.502: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8805296 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62526.383: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8958714 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62529.279: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8735384 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62532.154: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8705676 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62535.025: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8723947 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62537.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8624400 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62540.761: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8245748 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62543.587: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8432269 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62546.432: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8394157 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62549.272: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8471951 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.85 secs] >>>>>>> 62552.121: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8584107 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62554.981: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683676K->683676K(699072K)] 781916K->781916K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8376807 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62557.820: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8402486 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62560.661: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8482704 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.85 secs] >>>>>>> 62563.511: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8115973 secs] [Times: >> user=2.81 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62566.324: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8523278 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62569.177: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8128563 secs] [Times: >> user=2.81 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62571.990: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7830644 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62574.774: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8065106 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62577.582: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7892171 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62580.372: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8059306 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62583.179: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8641470 secs] [Times: >> user=2.82 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62586.044: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8421364 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62588.887: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8852699 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62591.773: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9164279 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62594.690: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9450010 secs] [Times: >> user=2.95 >>>> sys=0.00, real=2.95 secs] >>>>>>> 62597.636: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9744636 secs] [Times: >> user=2.98 >>>> sys=0.00, real=2.98 secs] >>>>>>> 62600.611: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9900849 secs] [Times: >> user=2.99 >>>> sys=0.00, real=3.00 secs] >>>>>>> 62603.602: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.6332370 secs] [Times: >> user=2.62 >>>> sys=0.00, real=2.62 secs] >>>>>>> 62606.236: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9801260 secs] [Times: >> user=2.95 >>>> sys=0.00, real=2.98 secs] >>>>>>> 62609.226: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9166374 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62612.150: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9475729 secs] [Times: >> user=2.95 >>>> sys=0.00, real=2.95 secs] >>>>>>> 62615.098: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9328670 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.93 secs] >>>>>>> 62618.040: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8963825 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62620.937: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8834715 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62623.821: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8800691 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62626.701: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683677K(699072K)] 781918K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8642587 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62629.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683677K->683677K(699072K)] 781917K->781917K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8574615 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62632.424: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8383412 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62635.264: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8409891 secs] [Times: >> user=2.82 >>>> sys=0.00, real=2.84 secs] >>>>>>> 62638.106: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7906216 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62640.898: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7891730 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62643.688: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7892940 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62646.479: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7766807 secs] [Times: >> user=2.78 >>>> sys=0.00, real=2.78 secs] >>>>>>> 62649.257: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7796531 secs] [Times: >> user=2.78 >>>> sys=0.00, real=2.78 secs] >>>>>>> 62652.037: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7687240 secs] [Times: >> user=2.76 >>>> sys=0.00, real=2.76 secs] >>>>>>> 62654.807: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7613769 secs] [Times: >> user=2.76 >>>> sys=0.00, real=2.76 secs] >>>>>>> 62657.570: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7712254 secs] [Times: >> user=2.78 >>>> sys=0.00, real=2.78 secs] >>>>>>> 62660.342: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7968108 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62663.139: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.7924173 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.79 secs] >>>>>>> 62665.933: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8002912 secs] [Times: >> user=2.79 >>>> sys=0.00, real=2.81 secs] >>>>>>> 62668.736: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8291434 secs] [Times: >> user=2.82 >>>> sys=0.00, real=2.82 secs] >>>>>>> 62671.566: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8527186 secs] [Times: >> user=2.86 >>>> sys=0.00, real=2.85 secs] >>>>>>> 62674.419: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8982825 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62677.318: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9254483 secs] [Times: >> user=2.93 >>>> sys=0.00, real=2.93 secs] >>>>>>> 62680.244: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9707015 secs] [Times: >> user=2.95 >>>> sys=0.00, real=2.96 secs] >>>>>>> 62683.216: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9894145 secs] [Times: >> user=3.00 >>>> sys=0.00, real=3.00 secs] >>>>>>> 62686.206: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9870305 secs] [Times: >> user=2.98 >>>> sys=0.00, real=2.98 secs] >>>>>>> 62689.193: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9884647 secs] [Times: >> user=2.98 >>>> sys=0.00, real=3.00 secs] >>>>>>> 62692.183: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9635276 secs] [Times: >> user=2.96 >>>> sys=0.00, real=2.96 secs] >>>>>>> 62695.147: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9407559 secs] [Times: >> user=2.93 >>>> sys=0.00, real=2.93 secs] >>>>>>> 62698.088: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9299386 secs] [Times: >> user=2.93 >>>> sys=0.00, real=2.93 secs] >>>>>>> 62701.019: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8994903 secs] [Times: >> user=2.90 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62703.919: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9163417 secs] [Times: >> user=2.92 >>>> sys=0.00, real=2.92 secs] >>>>>>> 62706.836: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9216473 secs] [Times: >> user=2.93 >>>> sys=0.00, real=2.93 secs] >>>>>>> 62709.758: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.9052547 secs] [Times: >> user=2.89 >>>> sys=0.00, real=2.90 secs] >>>>>>> 62712.664: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8902824 secs] [Times: >> user=2.85 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62715.555: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8865932 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.89 secs] >>>>>>> 62718.442: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8605445 secs] [Times: >> user=2.87 >>>> sys=0.00, real=2.87 secs] >>>>>>> 62721.304: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683678K->683678K(699072K)] 781918K->781918K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8662771 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.86 secs] >>>>>>> 62724.171: [Full GC [PSYoungGen: 98240K->98240K(214720K)] >>>> [PSOldGen: 683679K->683679K(699072K)] 781919K->781919K(913792K) >>>> [PSPermGen: 49694K->49694K(49984K)], 2.8369076 secs] [Times: >> user=2.84 >>>> sys=0.00, real=2.84 secs] >>> ------------------------------ >>> >>> _______________________________________________ >>> hotspot-gc-use mailing list >>> hotspot-gc-use at openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> >>> >>> End of hotspot-gc-use Digest, Vol 15, Issue 7 >>> ********************************************* >>> >>> >>> > ------------------------------------------------------------------------ >>> _______________________________________________ >>> hotspot-gc-use mailing list >>> hotspot-gc-use at openjdk.java.net >>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Jon.Masamitsu at Sun.COM Wed Mar 11 13:46:55 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Wed, 11 Mar 2009 13:46:55 -0700 Subject: Heap Size Variations In-Reply-To: References: Message-ID: <49B8233F.2060305@Sun.COM> I think you are seeing variations in the survivor spaces in the young gen. If the two survivors are of different sizes (they are adjusted by GC ergonomics) you see something like this. Actually the survivor spaces also grow and shrink so will cause changes). Turn off the GC ergonomics (-XX:-UseAdaptiveSizePolicy). That will fix the sizes to the initial sizes. On 03/11/09 12:37, Peng Du wrote: > Hello, guys > > I am doing some analysis on the parallel GC for the old generation. But > I am confused by the output of -XX:+PrintGCDetails. I intentionally set > the size of the heap to be [-Xms8m -Xmx8m]. However, the GC log > indicated that the size of heap was varying in between every GC (minor > and full). > > For example: > =============================================================================================== > [GC [PSYoungGen: 768K->128K(896K)] 768K->320K(8064K), 0.0075060 secs] > [Times: user=0.01 sys=0.01, real=0.01 secs] > [GC [PSYoungGen: 876K->128K(896K)] 1069K->406K(8064K), 0.0060870 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 896K->128K(896K)] 1174K->507K(8064K), 0.0058220 secs] > [Times: user=0.01 sys=0.00, real=0.01 secs] > [GC [PSYoungGen: 896K->128K(512K)] 1390K->699K(7680K), 0.0019780 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 512K->64K(704K)] 1083K->727K(7872K), 0.0012320 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 445K->154K(704K)] 1109K->838K(7872K), 0.0017830 secs] > [Times: user=0.00 sys=0.00, real=0.01 secs] > [GC [PSYoungGen: 538K->144K(704K)] 1222K->848K(7872K), 0.0019050 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 416K->32K(704K)] 1262K->882K(7872K), 0.0025930 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 416K->32K(704K)] 1282K->906K(7872K), 0.0025650 secs] > [Times: user=0.00 sys=0.00, real=0.01 secs] > [GC [PSYoungGen: 416K->176K(704K)] 1290K->1058K(7872K), 0.0022590 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 560K->176K(704K)] 1442K->1098K(7872K), 0.0029060 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > [GC [PSYoungGen: 560K->64K(704K)] 1482K->1142K(7872K), 0.0014460 secs] > [Times: user=0.00 sys=0.00, real=0.00 secs] > ....................... > =============================================================================================== > > My analysis requires the heap size to be fixed as well as the relative > ratio of each generation within the heap. Is there a way I can strictly > restrict the sizes of the heap and each generation? > > Thanks! > > > > Peng Du > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Wed Mar 11 14:01:10 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Wed, 11 Mar 2009 14:01:10 -0700 Subject: Heap Size Variations In-Reply-To: <49B8233F.2060305@Sun.COM> References: <49B8233F.2060305@Sun.COM> Message-ID: <49B82696.1000407@Sun.COM> -XX:+PrintHeapAtGC will show you the variation that Jon is talking about. -- ramki On 03/11/09 13:46, Jon Masamitsu wrote: > I think you are seeing variations in the survivor spaces > in the young gen. If the two survivors are of different > sizes (they are adjusted by GC ergonomics) you see something > like this. Actually the survivor spaces also grow and > shrink so will cause changes). Turn off the GC ergonomics > (-XX:-UseAdaptiveSizePolicy). That will fix the sizes to > the initial sizes. > > On 03/11/09 12:37, Peng Du wrote: >> Hello, guys >> >> I am doing some analysis on the parallel GC for the old generation. But >> I am confused by the output of -XX:+PrintGCDetails. I intentionally set >> the size of the heap to be [-Xms8m -Xmx8m]. However, the GC log >> indicated that the size of heap was varying in between every GC (minor >> and full). >> >> For example: >> =============================================================================================== >> [GC [PSYoungGen: 768K->128K(896K)] 768K->320K(8064K), 0.0075060 secs] >> [Times: user=0.01 sys=0.01, real=0.01 secs] >> [GC [PSYoungGen: 876K->128K(896K)] 1069K->406K(8064K), 0.0060870 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 896K->128K(896K)] 1174K->507K(8064K), 0.0058220 secs] >> [Times: user=0.01 sys=0.00, real=0.01 secs] >> [GC [PSYoungGen: 896K->128K(512K)] 1390K->699K(7680K), 0.0019780 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 512K->64K(704K)] 1083K->727K(7872K), 0.0012320 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 445K->154K(704K)] 1109K->838K(7872K), 0.0017830 secs] >> [Times: user=0.00 sys=0.00, real=0.01 secs] >> [GC [PSYoungGen: 538K->144K(704K)] 1222K->848K(7872K), 0.0019050 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 416K->32K(704K)] 1262K->882K(7872K), 0.0025930 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 416K->32K(704K)] 1282K->906K(7872K), 0.0025650 secs] >> [Times: user=0.00 sys=0.00, real=0.01 secs] >> [GC [PSYoungGen: 416K->176K(704K)] 1290K->1058K(7872K), 0.0022590 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 560K->176K(704K)] 1442K->1098K(7872K), 0.0029060 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> [GC [PSYoungGen: 560K->64K(704K)] 1482K->1142K(7872K), 0.0014460 secs] >> [Times: user=0.00 sys=0.00, real=0.00 secs] >> ....................... >> =============================================================================================== >> >> My analysis requires the heap size to be fixed as well as the relative >> ratio of each generation within the heap. Is there a way I can strictly >> restrict the sizes of the heap and each generation? >> >> Thanks! >> >> >> >> Peng Du >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> hotspot-gc-use mailing list >> hotspot-gc-use at openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Antonios.Printezis at sun.com Thu Mar 12 09:49:54 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Thu, 12 Mar 2009 12:49:54 -0400 Subject: Code review request: 6604422: G1: re-use half-promoted regions (S) Message-ID: <49B93D32.7050200@sun.com> Ensures that the last region allocated to during one GC is re-used, when possible, during the next GC and it's not left half-full. http://cr.openjdk.java.net/~tonyp/6604422/webrev.0/ Tony -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From John.Coomes at sun.com Thu Mar 12 12:51:30 2009 From: John.Coomes at sun.com (John Coomes) Date: Thu, 12 Mar 2009 12:51:30 -0700 Subject: Code review request: 6604422: G1: re-use half-promoted regions (S) In-Reply-To: <49B93D32.7050200@sun.com> References: <49B93D32.7050200@sun.com> Message-ID: <18873.26562.941614.131199@sun.com> Tony Printezis (Antonios.Printezis at Sun.COM) wrote: > Ensures that the last region allocated to during one GC is re-used, when > possible, during the next GC and it's not left half-full. > > http://cr.openjdk.java.net/~tonyp/6604422/webrev.0/ I'm not a g1 expert, but generally looks good. I found a few trivial things. g1CollectedHeap.cpp: 2882 // let's make sure that the GC alloc regions is not tagged as such Change "regions" to "region". 2893 // note that _gc_alloc_region[ap] will be nulled below, before 2894 // a new one is obtained Is the above correct? I don't see it explicitly nulled. In G1CollectedHeap::release_gc_alloc_regions(bool totally), I think it would be more readable if the 3 separate tests for (r != NULL) were combined into one. E.g., if (r != NULL) { // we retain nothing on _gc_alloc_regions between GCs set_gc_alloc_region(ap, NULL); _gc_alloc_region_counts[ap] = 0; if (r->is_empty()) { ... } else if (_retain_gc_alloc_region[ap] && !totally) { ... } } g1CollectedHeap.hpp: 229 // It specifies whether we will keep the last half-full region at Change "It" to "This" ? -John From Antonios.Printezis at sun.com Thu Mar 12 13:10:15 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Thu, 12 Mar 2009 16:10:15 -0400 Subject: Code review request: 6604422: G1: re-use half-promoted regions (S) In-Reply-To: <18873.26562.941614.131199@sun.com> References: <49B93D32.7050200@sun.com> <18873.26562.941614.131199@sun.com> Message-ID: <49B96C27.2010702@sun.com> John, John Coomes wrote: > Tony Printezis (Antonios.Printezis at Sun.COM) wrote: > >> Ensures that the last region allocated to during one GC is re-used, when >> possible, during the next GC and it's not left half-full. >> >> http://cr.openjdk.java.net/~tonyp/6604422/webrev.0/ >> > > I'm not a g1 expert, but generally looks good. I found a few trivial > things. > > g1CollectedHeap.cpp: > > 2882 // let's make sure that the GC alloc regions is not tagged as such > Done. > Change "regions" to "region". > > 2893 // note that _gc_alloc_region[ap] will be nulled below, before > 2894 // a new one is obtained > > Is the above correct? I don't see it explicitly nulled. > No. :-) In fact there's an assert further up that says that _gc_alloc_regions[ap] should already be NULL. I changed the code and forgot to remove the comment. Thanks. > In G1CollectedHeap::release_gc_alloc_regions(bool totally), I think it > would be more readable if the 3 separate tests for (r != NULL) were > combined into one. E.g., > > if (r != NULL) { > // we retain nothing on _gc_alloc_regions between GCs > set_gc_alloc_region(ap, NULL); > _gc_alloc_region_counts[ap] = 0; > > if (r->is_empty()) { > ... > } else if (_retain_gc_alloc_region[ap] && !totally) { > ... > } > } > Yeah, good point. I changed it (and added a couple of extra comments too). Again, I changed the code a few times and didn't restructure it at the end. > g1CollectedHeap.hpp: > > 229 // It specifies whether we will keep the last half-full region at > > Change "It" to "This" ? > Done, thanks! Andrey suggested to piggyback a tiny fix from another CR on this. I'll do some testing on the new version and publish the new webrev soon-ish. Tony -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From igor.veresov at sun.com Thu Mar 12 16:37:58 2009 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Thu, 12 Mar 2009 23:37:58 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6816433: Test G1 and ParOld in JPRT Message-ID: <20090312233807.4D17FEDC6@hg.openjdk.java.net> Changeset: ec1a6dc46005 Author: iveresov Date: 2009-03-12 14:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ec1a6dc46005 6816433: Test G1 and ParOld in JPRT Reviewed-by: jmasa, never, ysr ! make/jprt.properties From Antonios.Printezis at sun.com Fri Mar 13 07:32:30 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Fri, 13 Mar 2009 10:32:30 -0400 Subject: Code review request: 6604422: G1: re-use half-promoted regions (S) In-Reply-To: <49B93D32.7050200@sun.com> References: <49B93D32.7050200@sun.com> Message-ID: <49BA6E7E.4000800@sun.com> Updated webrev, based on comments by Andrey and John Coomes: http://cr.openjdk.java.net/~tonyp/6604422/webrev.1/ I'm also piggybacking on this a small fix for: 6728271 : G1: Cleanup G1CollectedHeap::get_gc_alloc_regions() (which basically consists of a couple of added asserts) Tony Tony Printezis wrote: > Ensures that the last region allocated to during one GC is re-used, > when possible, during the next GC and it's not left half-full. > > http://cr.openjdk.java.net/~tonyp/6604422/webrev.0/ > > Tony > -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) From John.Coomes at sun.com Fri Mar 13 14:47:00 2009 From: John.Coomes at sun.com (John Coomes) Date: Fri, 13 Mar 2009 14:47:00 -0700 Subject: Code review request: 6604422: G1: re-use half-promoted regions (S) In-Reply-To: <49BA6E7E.4000800@sun.com> References: <49B93D32.7050200@sun.com> <49BA6E7E.4000800@sun.com> Message-ID: <18874.54356.713011.828971@sun.com> Tony Printezis (Antonios.Printezis at Sun.COM) wrote: > Updated webrev, based on comments by Andrey and John Coomes: > > http://cr.openjdk.java.net/~tonyp/6604422/webrev.1/ > > I'm also piggybacking on this a small fix for: > > 6728271 : G1: Cleanup G1CollectedHeap::get_gc_alloc_regions() > > (which basically consists of a couple of added asserts) Looks good. -John > Tony Printezis wrote: > > Ensures that the last region allocated to during one GC is re-used, > > when possible, during the next GC and it's not left half-full. > > > > http://cr.openjdk.java.net/~tonyp/6604422/webrev.0/ > > > > Tony > > > > -- > ---------------------------------------------------------------------- > | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | > | | MS BUR02-311 | > | e-mail: tony.printezis at sun.com | 35 Network Drive | > | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | > ---------------------------------------------------------------------- > e-mail client: Thunderbird (Solaris) > > From antonios.printezis at sun.com Fri Mar 13 16:55:37 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Fri, 13 Mar 2009 23:55:37 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 7 new changesets Message-ID: <20090313235559.053D7EEED@hg.openjdk.java.net> Changeset: 19f25e603e7b Author: kvn Date: 2009-03-03 18:25 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/19f25e603e7b 6812721: Block's frequency should not be NaN Summary: Set MIN_BLOCK_FREQUENCY block's frequency when calculated block's frequency is NaN Reviewed-by: never ! src/share/vm/opto/gcm.cpp Changeset: 56aae7be60d4 Author: jrose Date: 2009-03-04 09:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/56aae7be60d4 6812678: macro assembler needs delayed binding of a few constants (for 6655638) Summary: minor assembler enhancements preparing for method handles Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: 9adddb8c0fc8 Author: jrose Date: 2009-03-06 21:36 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/9adddb8c0fc8 6812831: factor duplicated assembly code for megamorphic invokeinterface (for 6655638) Summary: Code in vtableStubs and templateTable moved into MacroAssembler. Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/x86/vm/vtableStubs_x86_32.cpp ! src/cpu/x86/vm/vtableStubs_x86_64.cpp Changeset: 337400e7a5dd Author: twisti Date: 2009-03-09 03:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/337400e7a5dd 6797305: Add LoadUB and LoadUI opcode class Summary: Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher. Reviewed-by: never, kvn ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/forms.hpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/mulnode.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp + test/compiler/6797305/Test6797305.java Changeset: 2f2f54ed12ce Author: kvn Date: 2009-03-10 08:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2f2f54ed12ce Merge ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp Changeset: fcf566137dbf Author: tonyp Date: 2009-03-12 11:34 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fcf566137dbf Merge Changeset: 4018e98c778a Author: tonyp Date: 2009-03-13 16:10 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/4018e98c778a Merge From y.s.ramakrishna at sun.com Fri Mar 13 19:52:42 2009 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Sat, 14 Mar 2009 02:52:42 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 2 new changesets Message-ID: <20090314025249.8BE85EF10@hg.openjdk.java.net> Changeset: 09f82af55c3e Author: ysr Date: 2009-03-13 13:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/09f82af55c3e 6808322: ParNew, CMS, G1: ParGCAllocBuffer overflow Summary: Correct the overflow check in ParGCAllocBuffer::allocate(); simplify ParGCAllocBuffer::undo_allocation(). Reviewed-by: apetrusenko, jcoomes, jmasa, minqi, phh, tonyp ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.hpp Changeset: fe2441500281 Author: ysr Date: 2009-03-13 17:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fe2441500281 Merge From Igor.Veresov at Sun.COM Sat Mar 14 22:01:57 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Sat, 14 Mar 2009 22:01:57 -0700 Subject: Request for review(S): 6817419 G1: Enable extensive verification for humongous regions Message-ID: <200903142201.57699.igor.veresov@sun.com> Enabled full verification for humongous regions. Also made sure that the VerifyAfterGC works with deferred updates and G1HRRSFlushLogBuffersOnVerify. Removed unnecessary checks for a survivor regions introduced in my deferred updates push (is_young() is sufficient). Also disabled initiation of the traversal-base rset construction after a full gc, because it's unnecessary after Andrey's fix to rebuild the rsets during the gc pause in parallel. Webrev: http://cr.openjdk.java.net/~iveresov/6817419/webrev.00/ Testing: a set of nsk tests that have humongous regions and GC test suite with verification. igor From antonios.printezis at sun.com Sun Mar 15 22:16:19 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Mon, 16 Mar 2009 05:16:19 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6604422: G1: re-use half-promoted regions; ... Message-ID: <20090316051622.C6508EFCE@hg.openjdk.java.net> Changeset: 6c4cea9bfa11 Author: tonyp Date: 2009-03-15 22:03 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6c4cea9bfa11 6604422: G1: re-use half-promoted regions 6728271: G1: Cleanup G1CollectedHeap::get_gc_alloc_regions() Summary: It allows the last half-full region to be allocated to during a GC to be reused during the next GC. Reviewed-by: apetrusenko, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp From Igor.Veresov at Sun.COM Mon Mar 16 02:34:05 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Mon, 16 Mar 2009 02:34:05 -0700 Subject: Request for review(S): 6817419 G1: Enable extensive verification for humongous regions In-Reply-To: <200903142201.57699.igor.veresov@sun.com> References: <200903142201.57699.igor.veresov@sun.com> Message-ID: <200903160234.05185.igor.veresov@sun.com> Webrev updated to reflect Tony's suggestions and also contains a fix of a correctness issue - I didn't update the saved marks at the right time. Webrev: http://cr.openjdk.java.net/~iveresov/6817419/webrev.01/ igor On Saturday 14 March 2009 22:01:57 Igor Veresov wrote: > Enabled full verification for humongous regions. Also made sure that the > VerifyAfterGC works with deferred updates and > G1HRRSFlushLogBuffersOnVerify. Removed unnecessary checks for a survivor > regions introduced in my deferred updates push (is_young() is sufficient). > > Also disabled initiation of the traversal-base rset construction after a > full gc, because it's unnecessary after Andrey's fix to rebuild the rsets > during the gc pause in parallel. > > Webrev: http://cr.openjdk.java.net/~iveresov/6817419/webrev.00/ > > Testing: a set of nsk tests that have humongous regions and GC test suite > with verification. > > igor From shane.cox at gmail.com Mon Mar 16 09:16:07 2009 From: shane.cox at gmail.com (Shane Cox) Date: Mon, 16 Mar 2009 12:16:07 -0400 Subject: WebStart periodically fails to start with -Xmx1024m Message-ID: Our customers download and execute our client application (front-end) using WebStart. Recently we increased the max heap size specified in our JNLP file from -Xmx512m to -Xmx1024m. After this update, many of our customers running Windows XP called to complain that WebStart would no longer launch/start. After some brief troubleshooting we discovered that many of these customers were running PCs with 2GB of RAM, with about 1GB available. So we were puzzled as to why WebStart failed to launch. We then reverted to the old max of -Xmx512m and WebStart launched successfully. Any idea why specifying a max heap size of -Xmx1024m would cause WebStart to fail to launch on some Windows XP PCs? Unfortunately I have no logs to share because the process fails to start and the only error that we've observed is "unable to launch." We've only been able to recreate the problem in our test environments by setting -Xmx to an even larger value such as -Xmx1500m. Below are the specific args that we specify in our JNLP file: java-vm-args="-XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=35 -XX:NewRatio=2" initial-heap-size="32m" max-heap-size="1024m" Any insight you could provide would be appreciated. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20090316/e081a0ec/attachment.html -------------- next part -------------- _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Antonios.Printezis at sun.com Mon Mar 16 09:19:03 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Mon, 16 Mar 2009 12:19:03 -0400 Subject: WebStart periodically fails to start with -Xmx1024m In-Reply-To: References: Message-ID: <49BE7BF7.307@sun.com> Shane, Hi. Wild guess: the windows address space is fragmented and the JVM maybe cannot get the contiguous address space(s) that it needs to reserve for the heap and associated data structures? Tony Shane Cox wrote: > Our customers download and execute our client application (front-end) > using WebStart. Recently we increased the max heap size specified in > our JNLP file from -Xmx512m to -Xmx1024m. After this update, many of > our customers running Windows XP called to complain that WebStart > would no longer launch/start. After some brief troubleshooting we > discovered that many of these customers were running PCs with 2GB of > RAM, with about 1GB available. So we were puzzled as to why WebStart > failed to launch. We then reverted to the old max of -Xmx512m and > WebStart launched successfully. > > Any idea why specifying a max heap size of -Xmx1024m would cause > WebStart to fail to launch on some Windows XP PCs? Unfortunately I > have no logs to share because the process fails to start and the only > error that we've observed is "unable to launch." We've only been able > to recreate the problem in our test environments by setting -Xmx to an > even larger value such as -Xmx1500m. > > > Below are the specific args that we specify in our JNLP file: > java-vm-args="-XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=35 > -XX:NewRatio=2" > initial-heap-size="32m" max-heap-size="1024m" > > > Any insight you could provide would be appreciated. > Thanks > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use > -- ---------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS BUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA01803-0902, USA | ---------------------------------------------------------------------- e-mail client: Thunderbird (Solaris) _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From igor.veresov at sun.com Mon Mar 16 10:40:01 2009 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Mon, 16 Mar 2009 17:40:01 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6817419: G1: Enable extensive verification for humongous regions Message-ID: <20090316174010.341E0E011@hg.openjdk.java.net> Changeset: 25e146966e7c Author: iveresov Date: 2009-03-16 08:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/25e146966e7c 6817419: G1: Enable extensive verification for humongous regions Summary: Enabled full verification for humongous regions. Also made sure that the VerifyAfterGC works with deferred updates and G1HRRSFlushLogBuffersOnVerify. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp From antonios.printezis at sun.com Mon Mar 16 13:32:31 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Mon, 16 Mar 2009 20:32:31 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6816154: G1: introduce flags to enable/disable RSet updating and scanning Message-ID: <20090316203237.10F81E057@hg.openjdk.java.net> Changeset: 2a5da27ccae9 Author: tonyp Date: 2009-03-16 10:52 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2a5da27ccae9 6816154: G1: introduce flags to enable/disable RSet updating and scanning Summary: Introduces two flags, -XX:-/+G1EnableParallelRSetUpdating and -XX:-/+G1EnableParallelRSetScanning, to turn on/off the "band aid" fix that serializes RSet updating / scanning during GCs. Reviewed-by: iveresov ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp From Igor.Veresov at Sun.COM Mon Mar 16 17:07:56 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Mon, 16 Mar 2009 17:07:56 -0700 Subject: Request for review(XS): 6815683: G1: SEGV during marking Message-ID: <200903161707.56695.igor.veresov@sun.com> We should mark the regions that continue humongous regions as live if the first region is live. Webrev: http://cr.openjdk.java.net/~iveresov/6815683/webrev.00 Testing: affected nsk tests. From igor.veresov at sun.com Mon Mar 16 20:24:42 2009 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Tue, 17 Mar 2009 03:24:42 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6815683: G1: SEGV during marking Message-ID: <20090317032448.990BAE0EA@hg.openjdk.java.net> Changeset: 922c573ea67d Author: iveresov Date: 2009-03-16 17:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/922c573ea67d 6815683: G1: SEGV during marking Summary: We should mark the regions that continue humongous regions as live if the first region is live. Reviewed-by: tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp From bcotton at rallydev.com Tue Mar 17 08:36:18 2009 From: bcotton at rallydev.com (Bob Cotton) Date: Tue, 17 Mar 2009 09:36:18 -0600 Subject: JVM Freeze, possibly in CMS Message-ID: We've seen this now 3 times in production. Server: uname -a Linux app2.rallydev.com 2.6.18-92.1.10.el5 #1 SMP Tue Aug 5 07:42:41 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux An 8 way 16GB machine JVM: java -version java version "1.5.0_17" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_17-b04) Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_17-b04, mixed mode) JVM Args: -Xms10g -Xmx10g -Xmn1g -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+ParallelRefProcEnabled -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -Xloggc:gc.log -Dsun.rmi.dgc.client.gcInterval=9223372036854775807 -Dsun.rmi.dgc.server.gcInterval=9223372036854775807 -Djboss.server.home.dir=/home/prod2/alm-gallium-220/alm-app-jboss/target/jboss4x/slmDomain -Djboss.server.home.url=file:/home/prod2/alm-gallium-220/alm-app-jboss/target/jboss4x/slmDomain -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=5002 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Doracle.jdbc.V8Compatible=true -Djava.awt.headless=true - Djboss.partition.name=cluster-prod -disableassertions -Dprogram.name=run.sh -Djava.endorsed.dirs=/usr/local/jboss/lib/endorsed The last line in my gc.log looks like this: 62309.364: [GC 62309.364: [ParNew: 1046656K->0K(1047616K), 0.0351140 secs] 9406467K->8371032K(10484800K), 0.0354550 secs] Total time for which application threads were stopped: 0.0374980 seconds Application time: 0.0000520 seconds 62309.401: [GC [1 CMS-initial-mark: 8371032K(9437184K)] 8371174K(10484800K), 0.0116140 secs] Total time for which application threads were stopped: 0.0128850 seconds 62309.413: [CMS-concurrent-mark-start] 62315.566: [CMS-concurrent-mark: 6.153/6.153 secs] 62315.566: [CMS-concurrent-preclean-start] 62315.870: [CMS-concurrent-preclean: 0.295/0.304 secs] 62315.870: [CMS-concurrent-abortable-preclean-start] CMS: abort preclean due to time 62316.940: [CMS-concurrent-abortable-preclean: 0.551/1.070 secs] Application time: 7.5270130 seconds 62316.942: [GC[YG occupancy: 633600 K (1047616 K)]62316.942: [Rescan (parallel) , 0.4677820 secs]62317.410: [weak refs processing then is stops. I have the core. what other information should I be looking for? How can I tell if i have excessive CMS heap fragmentation? Thanks -Bob -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20090317/50ddebdf/attachment.html From Y.S.Ramakrishna at Sun.COM Tue Mar 17 09:10:43 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Tue, 17 Mar 2009 09:10:43 -0700 Subject: JVM Freeze, possibly in CMS In-Reply-To: References: Message-ID: <49BFCB83.7010501@Sun.COM> Hi Bob -- I have not heard such a report before. [You could try pstack'ing the process to see if/where there is any activity.[ Since this is on 5u17, you will need to open a support ticket with Sun (for any issues not involving the bits from OpenJDK). If you can reproduce the problem with the latest JDK 7 bits, please let us know. -- ramki On 03/17/09 08:36, Bob Cotton wrote: > We've seen this now 3 times in production. > > Server: > uname -a > Linux app2.rallydev.com 2.6.18-92.1.10.el5 #1 > SMP Tue Aug 5 07:42:41 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux > > An 8 way 16GB machine > > JVM: > java -version > java version "1.5.0_17" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_17-b04) > Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_17-b04, mixed mode) > > JVM Args: > > -Xms10g -Xmx10g -Xmn1g -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC > -XX:+ParallelRefProcEnabled -XX:+PrintGCApplicationStoppedTime > -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCDetails > -XX:+PrintGCTimeStamps -XX:-TraceClassUnloading -Xloggc:gc.log > -Dsun.rmi.dgc.client.gcInterval=9223372036854775807 > -Dsun.rmi.dgc.server.gcInterval=9223372036854775807 > -Djboss.server.home.dir=/home/prod2/alm-gallium-220/alm-app-jboss/target/jboss4x/slmDomain > -Djboss.server.home.url=file:/home/prod2/alm-gallium-220/alm-app-jboss/target/jboss4x/slmDomain > -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl > -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote > -Dcom.sun.management.jmxremote.port=5002 > -Dcom.sun.management.jmxremote.ssl=false > -Dcom.sun.management.jmxremote.authenticate=false > -Doracle.jdbc.V8Compatible=true -Djava.awt.headless=true > -Djboss.partition.name =cluster-prod > -disableassertions -Dprogram.name=run.sh > -Djava.endorsed.dirs=/usr/local/jboss/lib/endorsed > > > The last line in my gc.log looks like this: > 62309.364: [GC 62309.364: [ParNew: 1046656K->0K(1047616K), 0.0351140 > secs] 9406467K->8371032K(10484800K), 0.0354550 secs] > Total time for which application threads were stopped: 0.0374980 seconds > Application time: 0.0000520 seconds > 62309.401: [GC [1 CMS-initial-mark: 8371032K(9437184K)] > 8371174K(10484800K), 0.0116140 secs] > Total time for which application threads were stopped: 0.0128850 seconds > 62309.413: [CMS-concurrent-mark-start] > 62315.566: [CMS-concurrent-mark: 6.153/6.153 secs] > 62315.566: [CMS-concurrent-preclean-start] > 62315.870: [CMS-concurrent-preclean: 0.295/0.304 secs] > 62315.870: [CMS-concurrent-abortable-preclean-start] > CMS: abort preclean due to time 62316.940: > [CMS-concurrent-abortable-preclean: 0.551/1.070 secs] > Application time: 7.5270130 seconds > 62316.942: [GC[YG occupancy: 633600 K (1047616 K)]62316.942: [Rescan > (parallel) , 0.4677820 secs]62317.410: [weak refs processing > > then is stops. > > I have the core. what other information should I be looking for? > > How can I tell if i have excessive CMS heap fragmentation? > > Thanks > -Bob > > From antonios.printezis at sun.com Wed Mar 18 11:29:01 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Wed, 18 Mar 2009 18:29:01 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 11 new changesets Message-ID: <20090318182933.D1292E1CB@hg.openjdk.java.net> Changeset: d61c7c22b25c Author: xdono Date: 2009-02-19 14:08 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/d61c7c22b25c Added tag jdk7-b48 for changeset bcb33806d186 ! .hgtags Changeset: 8b22ccb5aba2 Author: trims Date: 2009-02-25 23:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/8b22ccb5aba2 Merge Changeset: dae503d9f04c Author: xdono Date: 2009-02-26 10:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/dae503d9f04c Added tag jdk7-b49 for changeset 8b22ccb5aba2 ! .hgtags Changeset: 67f831f73d34 Author: xdono Date: 2009-03-05 09:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/67f831f73d34 Added tag jdk7-b50 for changeset dae503d9f04c ! .hgtags Changeset: f9d5cfc2afa2 Author: xdono Date: 2009-02-27 15:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/f9d5cfc2afa2 Merge Changeset: f5eac45b1641 Author: xdono Date: 2009-03-09 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/f5eac45b1641 Merge Changeset: 0fbdb4381b99 Author: xdono Date: 2009-03-09 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/0fbdb4381b99 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! agent/src/os/linux/ps_core.c ! agent/src/os/solaris/proc/saproc.cpp ! make/hotspot_version ! make/linux/makefiles/adlc.make ! make/linux/makefiles/gcc.make ! make/solaris/makefiles/adlc.make ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interpreterRT_x86_32.cpp ! src/cpu/x86/vm/jni_x86.h ! src/cpu/x86/vm/runtime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/os_cpu/solaris_x86/vm/solaris_x86_32.il ! src/os_cpu/solaris_x86/vm/solaris_x86_64.il ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/adlparse.hpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/g1/survRateGroup.cpp ! src/share/vm/gc_implementation/g1/survRateGroup.hpp ! src/share/vm/gc_implementation/includeDB_gc_concurrentMarkSweep ! src/share/vm/gc_implementation/includeDB_gc_g1 ! src/share/vm/gc_implementation/includeDB_gc_parallelScavenge ! src/share/vm/gc_implementation/includeDB_gc_shared ! src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/shared/ageTable.cpp ! src/share/vm/gc_implementation/shared/ageTable.hpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.hpp ! src/share/vm/gc_implementation/shared/mutableSpace.cpp ! src/share/vm/gc_implementation/shared/mutableSpace.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/includeDB_compiler2 ! src/share/vm/includeDB_core ! src/share/vm/includeDB_features ! src/share/vm/includeDB_gc ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeInterpreter.hpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/libadt/dict.cpp ! src/share/vm/libadt/port.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/memory/permGen.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/arrayOop.hpp ! src/share/vm/oops/constMethodKlass.cpp ! src/share/vm/oops/constMethodKlass.hpp ! src/share/vm/oops/constMethodOop.hpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolKlass.hpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/constantPoolOop.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/oops/cpCacheKlass.hpp ! src/share/vm/oops/cpCacheOop.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/oops/oopsHierarchy.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/opto/vectornode.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/memprofiler.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/management.cpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp ! src/share/vm/utilities/workgroup.hpp ! test/Makefile ! test/compiler/6757316/Test6757316.java ! test/compiler/6758234/Test6758234.java ! test/compiler/6775880/Test.java ! test/compiler/6778657/Test.java Changeset: ce2272390558 Author: xdono Date: 2009-03-09 13:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ce2272390558 Merge Changeset: 7bb995fbd3c0 Author: trims Date: 2009-03-12 18:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/7bb995fbd3c0 Merge ! make/linux/makefiles/adlc.make ! make/solaris/makefiles/adlc.make ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp - src/cpu/x86/vm/vm_version_x86_32.cpp - src/cpu/x86/vm/vm_version_x86_32.hpp - src/cpu/x86/vm/vm_version_x86_64.cpp - src/cpu/x86/vm/vm_version_x86_64.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/adlc/adlparse.cpp ! src/share/vm/adlc/archDesc.cpp ! src/share/vm/adlc/dfa.cpp ! src/share/vm/adlc/dict2.cpp ! src/share/vm/adlc/filebuff.hpp ! src/share/vm/adlc/forms.cpp ! src/share/vm/adlc/formssel.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/ptrQueue.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/includeDB_core ! src/share/vm/includeDB_gc ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/libadt/dict.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/methodOop.hpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/superword.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp Changeset: 2581d90c6c9b Author: trims Date: 2009-03-12 18:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2581d90c6c9b 6816970: Bump HS15 build number to 03 Summary: Update the HS15 Build number to 03 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ba50942c8138 Author: tonyp Date: 2009-03-18 11:37 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/ba50942c8138 Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp From john.coomes at sun.com Thu Mar 19 22:08:05 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 05:08:05 +0000 Subject: hg: jdk7/hotspot-gc/jaxp: 3 new changesets Message-ID: <20090320050809.A01A2E443@hg.openjdk.java.net> Changeset: 6698e1f801df Author: xdono Date: 2009-03-09 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/6698e1f801df 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! make/Makefile Changeset: ae890d80d5df Author: xdono Date: 2009-03-09 13:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/ae890d80d5df Merge Changeset: 69ad87dc25cb Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxp/rev/69ad87dc25cb Added tag jdk7-b51 for changeset ae890d80d5df ! .hgtags From john.coomes at sun.com Thu Mar 19 22:11:19 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 05:11:19 +0000 Subject: hg: jdk7/hotspot-gc/jaxws: 3 new changesets Message-ID: <20090320051123.97B61E449@hg.openjdk.java.net> Changeset: d1525894c1a8 Author: xdono Date: 2009-03-09 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/d1525894c1a8 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! make/Makefile Changeset: 41a66a42791b Author: xdono Date: 2009-03-09 13:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/41a66a42791b Merge Changeset: e646890d18b7 Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jaxws/rev/e646890d18b7 Added tag jdk7-b51 for changeset 41a66a42791b ! .hgtags From john.coomes at sun.com Thu Mar 19 22:31:31 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 05:31:31 +0000 Subject: hg: jdk7/hotspot-gc/langtools: 13 new changesets Message-ID: <20090320053152.A9A7FE462@hg.openjdk.java.net> Changeset: 03bcd66bd8e7 Author: xdono Date: 2009-03-09 13:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/03bcd66bd8e7 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! make/build.properties ! make/build.xml ! make/netbeans/langtools/build.xml ! make/netbeans/langtools/nbproject/project.xml ! make/netbeans/langtools/nbproject/standard-context-menu-items.ent ! make/netbeans/langtools/nbproject/standard-ide-actions.ent ! make/tools/SelectTool/SelectToolTask.java ! src/share/classes/com/sun/tools/apt/comp/AnnotationProcessingError.java ! src/share/classes/com/sun/tools/apt/comp/Apt.java ! src/share/classes/com/sun/tools/apt/comp/UsageMessageNeededException.java ! src/share/classes/com/sun/tools/apt/main/JavaCompiler.java ! src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java ! src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java ! src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java ! src/share/classes/com/sun/tools/classfile/Annotation.java ! src/share/classes/com/sun/tools/classfile/AttributeException.java ! src/share/classes/com/sun/tools/classfile/Code_attribute.java ! src/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/share/classes/com/sun/tools/classfile/ConstantPoolException.java ! src/share/classes/com/sun/tools/classfile/Descriptor.java ! src/share/classes/com/sun/tools/classfile/DescriptorException.java ! src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletAbortException.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/api/Messages.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/LayoutCharacters.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/Comment.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java ! src/share/classes/com/sun/tools/javadoc/JavadocTool.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! src/share/classes/com/sun/tools/javadoc/SourcePositionImpl.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javah/Gen.java ! src/share/classes/com/sun/tools/javap/InternalError.java ! src/share/classes/sun/tools/javap/JavapPrinter.java ! test/tools/javac/6668794/badClass/Test.java ! test/tools/javac/cast/6558559/T6558559a.java ! test/tools/javac/cast/6558559/T6558559b.java ! test/tools/javac/cast/6665356/T6665356.java ! test/tools/javac/generics/6723444/T6723444.java ! test/tools/javac/generics/6729401/T6729401.java ! test/tools/javac/generics/rare/6665356/T6665356.java ! test/tools/javac/processing/model/testgetallmembers/Main.java ! test/tools/javadoc/6176978/T6176978.java ! test/tools/javadoc/6176978/X.java Changeset: 2c0076945b1a Author: xdono Date: 2009-03-09 13:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/2c0076945b1a Merge Changeset: 435d5d9bb87d Author: darcy Date: 2009-02-24 17:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/435d5d9bb87d 6501749: 6501749 Filer should state connection between created files and root elements Reviewed-by: jjg ! src/share/classes/javax/annotation/processing/Filer.java Changeset: 1fbc1cc6e260 Author: darcy Date: 2009-02-24 17:48 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/1fbc1cc6e260 6498938: Faulty comparison of TypeMirror objects in getElementsAnnotatedWith implementation Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java + test/tools/javac/processing/environment/round/Foo.java ! test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java Changeset: 5240b1120530 Author: bpatel Date: 2009-02-27 18:57 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/5240b1120530 6786690: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - DL tag and nesting issue Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java ! test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/com/sun/javadoc/testHref/TestHref.java + test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java + test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java + test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java + test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java + test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java + test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java ! test/com/sun/javadoc/testIndex/TestIndex.java ! test/com/sun/javadoc/testInterface/TestInterface.java ! test/com/sun/javadoc/testLinkOption/TestLinkOption.java ! test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java ! test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java ! test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java ! test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java ! test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java Changeset: 2f4c4900ca2b Author: tbell Date: 2009-03-02 15:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/2f4c4900ca2b Merge Changeset: 850869f70213 Author: mcimadamore Date: 2009-03-05 17:24 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/850869f70213 6467183: javac fails to raise unchecked warning on cast of parameterized generic subclass Summary: cleanup code for generating unchecked cast warnings Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/cast/6467183/T6467183a.java + test/tools/javac/cast/6467183/T6467183a.out + test/tools/javac/cast/6467183/T6467183b.java Changeset: 84a18d7da478 Author: mcimadamore Date: 2009-03-05 17:24 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/84a18d7da478 6804733: javac generates spourious diagnostics for ill-formed type-variable bounds Summary: fixed algorithm for checking cycles in typevar declarations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/typevars/6804733/T6804733.java + test/tools/javac/generics/typevars/6804733/T6804733.out Changeset: 9711a6c2db7e Author: mcimadamore Date: 2009-03-05 17:25 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/9711a6c2db7e 6807255: LineNumberTable wrong if enhanced-for-loops are used Summary: end position of iterable for-each loop was not set properly Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Lower.java Changeset: 86b60aa941c6 Author: mcimadamore Date: 2009-03-05 17:25 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/86b60aa941c6 6799605: Basic/Raw formatters should use type/symbol printer instead of toString() Summary: create new combo type/symbol visitor printer used by all diagnostic formatters Reviewed-by: jjg + src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java + test/tools/javac/Diagnostics/6799605/T6799605.java + test/tools/javac/Diagnostics/6799605/T6799605.out ! test/tools/javac/NestedInnerClassNames.out ! test/tools/javac/T6241723.out ! test/tools/javac/depDocComment/SuppressDeprecation.out ! test/tools/javac/mandatoryWarnings/deprecated/Test3.out ! test/tools/javac/mandatoryWarnings/deprecated/Test3b.out ! test/tools/javac/mandatoryWarnings/deprecated/Test4.out ! test/tools/javac/mandatoryWarnings/deprecated/Test4b.out ! test/tools/javac/mandatoryWarnings/deprecated/Test4c.out ! test/tools/javac/mandatoryWarnings/deprecated/Test4d.out ! test/tools/javac/positions/T6253161.out ! test/tools/javac/positions/T6253161a.out ! test/tools/javac/warnings/Deprecation.lintAll.out ! test/tools/javac/warnings/Deprecation.lintDeprecation.out Changeset: 6d00caa683b3 Author: tbell Date: 2009-03-06 10:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/6d00caa683b3 Merge Changeset: 8c55d5b0ed71 Author: tbell Date: 2009-03-09 23:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/8c55d5b0ed71 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java Changeset: 29329051d483 Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/langtools/rev/29329051d483 Added tag jdk7-b51 for changeset 8c55d5b0ed71 ! .hgtags From john.coomes at sun.com Thu Mar 19 22:15:43 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 05:15:43 +0000 Subject: hg: jdk7/hotspot-gc/jdk: 33 new changesets Message-ID: <20090320052224.57DD2E45C@hg.openjdk.java.net> Changeset: 30bf00392b6d Author: ohair Date: 2009-01-31 17:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/30bf00392b6d 6799141: Build with --hash-style=both so that binaries can work on SuSE 10 Reviewed-by: tbell ! make/common/Defs-linux.gmk ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Compiler-sun.gmk + make/common/shared/Defs-versions.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/common/shared/Platform.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk Changeset: dfb5a9a71c1c Author: xdono Date: 2009-02-27 15:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dfb5a9a71c1c Merge - make/javax/sound/jsoundhs/FILES.gmk - make/javax/sound/jsoundhs/Makefile - make/javax/sound/jsoundhs/mapfile-vers - src/share/classes/com/sun/beans/ObjectHandler.java - src/share/lib/audio/soundbank.gm - src/windows/native/sun/windows/UnicowsLoader.cpp - src/windows/native/sun/windows/UnicowsLoader.h - src/windows/native/sun/windows/awt_MMStub.cpp - src/windows/native/sun/windows/awt_MMStub.h - src/windows/native/sun/windows/awt_Multimon.h - src/windows/native/sun/windows/awt_Unicode.cpp - src/windows/native/sun/windows/awt_Unicode.h - src/windows/native/sun/windows/awt_dlls.cpp - src/windows/native/sun/windows/awt_dlls.h Changeset: d71e3cc6c4e7 Author: xdono Date: 2009-02-27 15:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/d71e3cc6c4e7 Merge - src/solaris/classes/sun/nio/ch/FileDispatcher.java - src/solaris/native/sun/nio/ch/FileDispatcher.c - src/windows/classes/sun/nio/ch/FileDispatcher.java - src/windows/native/sun/nio/ch/FileDispatcher.c Changeset: abfccc052872 Author: xdono Date: 2009-03-03 15:21 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/abfccc052872 Merge Changeset: 83c0526fb9c9 Author: xdono Date: 2009-03-09 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/83c0526fb9c9 Merge Changeset: ca0976a15868 Author: xdono Date: 2009-03-09 13:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ca0976a15868 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/x509/AuthorityInfoAccessExtension.java ! src/share/native/java/util/zip/zip_util.c ! src/share/native/java/util/zip/zip_util.h ! src/solaris/native/java/net/NetworkInterface.c Changeset: b1e3e3b8e6b2 Author: xdono Date: 2009-03-09 13:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b1e3e3b8e6b2 Merge Changeset: 266358f13a6f Author: dl Date: 2009-02-24 14:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/266358f13a6f 6803402: Race condition in AbstractQueuedSynchronizer Summary: Read fields in reverse initialization order Reviewed-by: martin ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java Changeset: f9c187839d72 Author: kevinw Date: 2009-02-24 19:03 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/f9c187839d72 6809463: Missing license header in test LargeZipFile.java Reviewed-by: alanb ! test/java/util/zip/ZipFile/LargeZipFile.java Changeset: dde3fe2e8164 Author: kevinw Date: 2009-02-25 14:32 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/dde3fe2e8164 Merge Changeset: 2fb53eb9df14 Author: mchung Date: 2009-02-26 14:36 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2fb53eb9df14 6801467: Defer get the launcher resource bundle until it's needed Summary: Lazily initialize the launcher resource bundle Reviewed-by: ksrini, darcy ! src/share/classes/sun/launcher/LauncherHelper.java Changeset: 4f0b6455a977 Author: jjg Date: 2009-02-26 18:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/4f0b6455a977 6810915: Sun proprietary warnings in JDK build Reviewed-by: ohair ! make/common/shared/Defs-java.gmk ! make/docs/Makefile ! make/javax/swing/beaninfo/SwingBeans.gmk Changeset: de1d02ad2d1d Author: mchung Date: 2009-02-27 13:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/de1d02ad2d1d 6799689: Make sun.misc.FloatingDecimal.hexFloatPattern static field initialized lazily Summary: Lazily initialize the hexFloatPattern static field Reviewed-by: darcy ! src/share/classes/sun/misc/FloatingDecimal.java Changeset: 0da45c759116 Author: mchung Date: 2009-02-27 16:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/0da45c759116 6809504: Remove enctype="text/xml" from the offline registration page Summary: Remove enctype="text/xml" from register.html and other localized versions Reviewed-by: ksrini ! src/share/classes/com/sun/servicetag/resources/register.html ! src/share/classes/com/sun/servicetag/resources/register_ja.html ! src/share/classes/com/sun/servicetag/resources/register_zh_CN.html Changeset: b656e842e1be Author: xuelei Date: 2009-03-02 23:17 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/b656e842e1be 6549506: Specification of Permission.toString() method contradicts with JDK implementation Summary: update the spec, and add double quotes around component. Reviewed-by: weijun ! src/share/classes/java/security/Permission.java + test/java/security/Permission/ToString.java Changeset: 7546743f4cc0 Author: tbell Date: 2009-03-02 15:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7546743f4cc0 Merge Changeset: 07d2550f5c84 Author: mchung Date: 2009-03-03 19:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/07d2550f5c84 6799230: Lazily load java.lang.annotation.Annotation class Summary: Remove the static EMPTY_ANNOTATION_ARRAY field; add AnnotationParser.toArray method Reviewed-by: darcy ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java Changeset: a8d9e8cb38bb Author: weijun Date: 2009-03-04 15:09 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/a8d9e8cb38bb 6705872: SecureRandom number init is taking too long on a java.io.tmpdir with a large number of files. Reviewed-by: xuelei, alanb ! src/share/classes/sun/security/provider/SeedGenerator.java Changeset: 94d02968a504 Author: chegar Date: 2009-03-04 13:28 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/94d02968a504 6775145: ClassLoaderUtil.releaseLoader calls System.out.println ("classLoader = " + classLoader) Summary: Remove System.out debugging statements Reviewed-by: michaelm ! src/share/classes/sun/misc/ClassLoaderUtil.java Changeset: 03001e92d155 Author: chegar Date: 2009-03-04 13:36 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/03001e92d155 6737323: Typo in javadoc for SocketPermission Summary: Remove redundant line form class description Reviewed-by: jccollet ! src/share/classes/java/net/SocketPermission.java Changeset: 6568cd51ae12 Author: sherman Date: 2009-03-04 09:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/6568cd51ae12 6812879: Excess code line in ArrayList method Summary: Removed the line of "oldData" which is no longer used. Reviewed-by: martin ! src/share/classes/java/util/ArrayList.java Changeset: 97da21737d9e Author: weijun Date: 2009-03-05 14:49 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/97da21737d9e 6813402: keytool cannot -printcert entries without extensions Reviewed-by: xuelei ! src/share/classes/sun/security/tools/KeyTool.java + test/sun/security/tools/keytool/NoExtNPE.sh Changeset: da9d0283a496 Author: valeriep Date: 2009-03-03 19:50 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/da9d0283a496 6812738: SSL stress test with GF leads to 32 bit max process size in less than 5 minutes with PCKS11 provider Summary: Removed finalize() and add more error handling to native code Reviewed-by: vinnie ! src/share/classes/sun/security/pkcs11/P11Key.java ! src/share/classes/sun/security/pkcs11/P11RSACipher.java ! src/share/classes/sun/security/pkcs11/P11SecretKeyFactory.java ! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c ! src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_digest.c ! src/share/native/sun/security/pkcs11/wrapper/p11_dual.c ! src/share/native/sun/security/pkcs11/wrapper/p11_general.c ! src/share/native/sun/security/pkcs11/wrapper/p11_keymgmt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c ! src/share/native/sun/security/pkcs11/wrapper/p11_objmgmt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c ! src/share/native/sun/security/pkcs11/wrapper/p11_sign.c ! src/share/native/sun/security/pkcs11/wrapper/p11_util.c ! src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h Changeset: 7b3cfde54812 Author: valeriep Date: 2009-03-05 11:44 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/7b3cfde54812 Merge Changeset: 2b6cf18aeb6f Author: tbell Date: 2009-03-06 10:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/2b6cf18aeb6f Merge Changeset: c769c46c27ce Author: mullan Date: 2009-03-09 09:46 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/c769c46c27ce 6787130: java.policy file contains stale link to http://java.sun.com/notes Reviewed-by: weijun ! src/share/lib/security/java.policy Changeset: aa48deaf9af4 Author: mullan Date: 2009-03-09 09:56 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/aa48deaf9af4 Merge Changeset: 175504cc095d Author: tbell Date: 2009-03-09 23:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/175504cc095d Merge Changeset: 711a9fb838d1 Author: ohair Date: 2009-03-16 11:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/711a9fb838d1 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 Summary: These changes create a preference for the newer 6.1 SDK on Windows. Reviewed-by: tbell ! make/common/Defs-windows.gmk ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Compiler-sun.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! src/windows/native/sun/windows/awt.rc ! src/windows/resource/version.rc Changeset: ece878b04159 Author: xdono Date: 2009-03-16 16:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/ece878b04159 Merge Changeset: bdb4b0b28407 Author: ohair Date: 2009-03-17 13:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bdb4b0b28407 6818565: Regression with fix 6816311: COMPILER_VERSION -> REQUIRED_COMPILER_VERSION Reviewed-by: tbell - make/common/shared/Compiler.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs.gmk Changeset: fea0898259ae Author: ohair Date: 2009-03-17 13:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/fea0898259ae Merge Changeset: bcbeadb4a5d7 Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/jdk/rev/bcbeadb4a5d7 Added tag jdk7-b51 for changeset fea0898259ae ! .hgtags From john.coomes at sun.com Thu Mar 19 21:56:26 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 04:56:26 +0000 Subject: hg: jdk7/hotspot-gc: 6 new changesets Message-ID: <20090320045627.0F5D2E433@hg.openjdk.java.net> Changeset: 3398ae556a2a Author: ohair Date: 2009-01-31 15:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/3398ae556a2a 6791649: add "SKIP_MSIVAL2=true" to the Windows section of make/jprt.config Reviewed-by: tbell ! make/jdk-rules.gmk ! make/jprt.config ! make/jprt.gmk Changeset: a4fd1a33eb93 Author: xdono Date: 2009-02-27 15:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/a4fd1a33eb93 Merge Changeset: c2a7f3471532 Author: xdono Date: 2009-03-09 11:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/c2a7f3471532 Merge Changeset: 93c2600a45a4 Author: xdono Date: 2009-03-09 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/93c2600a45a4 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! Makefile ! make/Defs-internal.gmk ! make/jdk-rules.gmk ! make/jprt.config ! make/jprt.gmk Changeset: 0f0189d55ce4 Author: xdono Date: 2009-03-09 13:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/0f0189d55ce4 Merge Changeset: 4264c2fe6649 Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/rev/4264c2fe6649 Added tag jdk7-b51 for changeset 0f0189d55ce4 ! .hgtags From john.coomes at sun.com Thu Mar 19 21:59:36 2009 From: john.coomes at sun.com (john.coomes at sun.com) Date: Fri, 20 Mar 2009 04:59:36 +0000 Subject: hg: jdk7/hotspot-gc/corba: 11 new changesets Message-ID: <20090320045946.6AC64E439@hg.openjdk.java.net> Changeset: e2f388853a9d Author: xdono Date: 2009-03-09 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/e2f388853a9d 6814575: Update copyright year Summary: Update copyright for files that have been modified in 2009, up to 03/09 Reviewed-by: katleman, tbell, ohair ! make/com/sun/corba/minclude/com_sun_corba_se_impl_dynamicany.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_impl_encoding.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_impl_ior.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_impl_protocol.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_spi_legacy_interceptor.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_spi_monitoring.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_spi_presentation_rmi.jmk ! make/com/sun/corba/minclude/com_sun_corba_se_spi_transport.jmk ! make/com/sun/corba/minclude/org_omg_CosNaming.jmk ! make/com/sun/corba/minclude/org_omg_DynamicAny.jmk ! make/com/sun/corba/minclude/org_omg_PortableInterceptor.jmk ! make/com/sun/corba/se/sources/Makefile ! make/common/Defs-windows.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Compiler-sun.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs.gmk ! make/javax/xa/Makefile ! make/jprt.config ! make/org/omg/CORBA/Makefile ! src/share/classes/org/omg/CORBA/ir.idl ! src/share/classes/org/omg/DynamicAny/DynamicAny.idl Changeset: 3174f87bcd7c Author: xdono Date: 2009-03-09 13:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/3174f87bcd7c Merge Changeset: 9e6c48c2582d Author: jjg Date: 2009-02-26 18:28 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/9e6c48c2582d 6809563: corba build in JDK uses invalid bootclasspath for javah Reviewed-by: ohair ! make/common/shared/Defs-java.gmk Changeset: db35452e8965 Author: jjg Date: 2009-02-26 18:32 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/db35452e8965 6810915: Sun proprietary warnings in JDK build Reviewed-by: ohair ! make/Makefile ! make/common/shared/Defs-java.gmk Changeset: 082f59f5ac64 Author: tbell Date: 2009-03-02 15:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/082f59f5ac64 Merge Changeset: ec634b3aa302 Author: tbell Date: 2009-03-06 10:52 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/ec634b3aa302 Merge Changeset: c471ac1a1770 Author: tbell Date: 2009-03-09 23:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/c471ac1a1770 Merge Changeset: 53d5b45f73ab Author: ohair Date: 2009-03-11 14:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/53d5b45f73ab 6790292: BOOTDIR of jdk6 u12 will not work with jdk7 builds Reviewed-by: tbell ! make/common/Rules.gmk Changeset: 9c0cc0d0eca2 Author: ohair Date: 2009-03-11 17:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/9c0cc0d0eca2 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 Reviewed-by: tbell ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-windows.gmk ! src/windows/resource/version.rc Changeset: 3eb8f1047a74 Author: xdono Date: 2009-03-16 16:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/3eb8f1047a74 Merge Changeset: bec82237d694 Author: xdono Date: 2009-03-19 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/corba/rev/bec82237d694 Added tag jdk7-b51 for changeset 3eb8f1047a74 ! .hgtags From antonios.printezis at sun.com Sat Mar 21 22:32:22 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Sun, 22 Mar 2009 05:32:22 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6820321: G1: Error: guarantee(check_nums(total, n, parts), "all seq lengths should match") Message-ID: <20090322053224.54FA0E6AC@hg.openjdk.java.net> Changeset: 2314b7336582 Author: tonyp Date: 2009-03-21 22:53 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/2314b7336582 6820321: G1: Error: guarantee(check_nums(total, n, parts), "all seq lengths should match") Summary: Small fixes to sort out some verbosegc-related incorrectness and a failure Reviewed-by: apetrusenko ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp From linuxhippy at gmail.com Wed Mar 25 08:57:53 2009 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Wed, 25 Mar 2009 11:57:53 -0400 Subject: Howto keep track of GC, without letting the monitored object die? Message-ID: <194f62550903250857n75d27587q7368023d1ecd60e7@mail.gmail.com> Hello, First of all sorry for beeing off-topic. I am developing a distributed object system, where I need to keep track wether an Object is still referenced, without actually let it die. Only if server- and client-side object are no longer referenced, they both may be freed by the GC. With finalizers I would be able to do something like this: class SharedObject { private Object gcMonitor = new Object() { protected void finalize() { RefernceManager.addStrongReference(SharedObject.this); Server.objectUnreferenced(SharedObject.this); } } } Once the server knows both parts are unreferenced, it can release all strong references and the object can be reclaimed by the GC. However I fear that this would really stress the jvm. Is it possible to archive the same using References and ReferenceQueues? Are there patterns which make the knowledge about the object obsolete? Thanks, Clemens From Antonios.Printezis at sun.com Wed Mar 25 09:00:39 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Wed, 25 Mar 2009 12:00:39 -0400 Subject: Howto keep track of GC, without letting the monitored object die? In-Reply-To: <49CA5500.3030807@sun.com> References: <194f62550903250857n75d27587q7368023d1ecd60e7@mail.gmail.com> <49CA5500.3030807@sun.com> Message-ID: <49CA5527.6090106@sun.com> (resending with the correct CC) Tony Printezis wrote: > Clemens, > > You can use WeakReferences. Have a look at this article: > > http://java.sun.com/developer/technicalArticles/javase/finalization/ > > In particular, the An Alternative To Finalization section. > > Tony > > Clemens Eisserer wrote: >> Hello, >> >> First of all sorry for beeing off-topic. >> I am developing a distributed object system, where I need to keep >> track wether an Object is still referenced, without actually let it >> die. >> Only if server- and client-side object are no longer referenced, they >> both may be freed by the GC. >> >> With finalizers I would be able to do something like this: >> >> class SharedObject { >> private Object gcMonitor = new Object() { >> protected void finalize() { >> RefernceManager.addStrongReference(SharedObject.this); >> Server.objectUnreferenced(SharedObject.this); >> } >> } >> } >> >> Once the server knows both parts are unreferenced, it can release all >> strong references and the object can be reclaimed by the GC. >> >> However I fear that this would really stress the jvm. Is it possible >> to archive the same using References and ReferenceQueues? >> Are there patterns which make the knowledge about the object obsolete? >> >> Thanks, Clemens >> > -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From linuxhippy at gmail.com Wed Mar 25 09:28:27 2009 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Wed, 25 Mar 2009 12:28:27 -0400 Subject: Howto keep track of GC, without letting the monitored object die? In-Reply-To: <49CA5527.6090106@sun.com> References: <194f62550903250857n75d27587q7368023d1ecd60e7@mail.gmail.com> <49CA5500.3030807@sun.com> <49CA5527.6090106@sun.com> Message-ID: <194f62550903250928m5c91227dtd766e1d75b3f96ab@mail.gmail.com> Hi Tony, > You can use WeakReferences. Have a look at this article: > > http://java.sun.com/developer/technicalArticles/javase/finalization/ > > In particular, the An Alternative To Finalization section. I don't see how. In my example I rely on the behaviour that I can add a strong reference to the SharedObject when the finalizer runs, therefor letting it survive the GC. As far as I understand, with WeakReferences I could get a notification that the object was reclaimed but once I get the notification, the SharedObject as well as the monitorObject would both be gone already. Thanks, Clemens From antonios.printezis at sun.com Wed Mar 25 10:29:14 2009 From: antonios.printezis at sun.com (antonios.printezis at sun.com) Date: Wed, 25 Mar 2009 17:29:14 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 8 new changesets Message-ID: <20090325172933.97AB9E9F0@hg.openjdk.java.net> Changeset: 6af0a709d52b Author: twisti Date: 2009-03-11 14:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/6af0a709d52b 6812587: Use auxv to determine SPARC hardware features on Solaris Summary: A similar function to getisax(2) should be used to determine all possible instruction set extensions. Reviewed-by: never, kvn ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/solaris/vm/os_solaris.hpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/includeDB_core Changeset: 660978a2a31a Author: kvn Date: 2009-03-12 10:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/660978a2a31a 6791178: Specialize for zero as the compressed oop vm heap base Summary: Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb. Reviewed-by: never, twisti, jcoomes, coleenp ! agent/src/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java ! agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vtableStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/jhelper.d ! src/os/solaris/dtrace/libjvm_db.c ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/virtualspace.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c771b7f43bbf Author: twisti Date: 2009-03-13 11:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c771b7f43bbf 6378821: bitCount() should use POPC on SPARC processors and AMD+10h Summary: bitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware. Reviewed-by: kvn, never ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/runtime/globals.hpp + test/compiler/6378821/Test6378821.java Changeset: c517646eef23 Author: jrose Date: 2009-03-13 18:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c517646eef23 6813212: factor duplicated assembly code for general subclass check (for 6655638) Summary: Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler. Reviewed-by: kvn ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/graphKit.cpp Changeset: c3a720eefe82 Author: kvn Date: 2009-03-16 15:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/c3a720eefe82 6816308: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003 Summary: Allow Hotspot builds with latest Windows SDK 6.1 on 64bit Windows 2003 Reviewed-by: ohair, tbell, jcoomes ! make/windows/get_msc_ver.sh ! make/windows/makefiles/compile.make ! make/windows/makefiles/sa.make ! make/windows/makefiles/sanity.make ! src/cpu/x86/vm/interpreterRT_x86_64.cpp ! src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp ! src/share/vm/adlc/adlc.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/blockOffsetTable.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp Changeset: 039a914095f4 Author: kvn Date: 2009-03-18 13:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/039a914095f4 6772368: REGRESSION:tomcat crashed twice with JDK 7 Summary: Call make_block_at() with the original handler limits. Reviewed-by: never ! src/share/vm/ci/ciMethodBlocks.cpp Changeset: bd441136a5ce Author: kvn Date: 2009-03-19 09:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/bd441136a5ce Merge ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/includeDB_core ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 59f139e8a8d1 Author: tonyp Date: 2009-03-25 10:36 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/59f139e8a8d1 Merge From Antonios.Printezis at sun.com Wed Mar 25 13:52:33 2009 From: Antonios.Printezis at sun.com (Tony Printezis) Date: Wed, 25 Mar 2009 16:52:33 -0400 Subject: Howto keep track of GC, without letting the monitored object die? In-Reply-To: <194f62550903250928m5c91227dtd766e1d75b3f96ab@mail.gmail.com> References: <194f62550903250857n75d27587q7368023d1ecd60e7@mail.gmail.com> <49CA5500.3030807@sun.com> <49CA5527.6090106@sun.com> <194f62550903250928m5c91227dtd766e1d75b3f96ab@mail.gmail.com> Message-ID: <49CA9991.6020904@sun.com> Clemens, Clemens Eisserer wrote: > Hi Tony, > >> You can use WeakReferences. Have a look at this article: >> >> http://java.sun.com/developer/technicalArticles/javase/finalization/ >> >> In particular, the An Alternative To Finalization section. >> > > I don't see how. In my example I rely on the behaviour that I can add > a strong reference to the SharedObject when the finalizer runs, > therefor letting it survive the GC. > > As far as I understand, with WeakReferences I could get a notification > that the object was reclaimed but once I get the notification, the > SharedObject as well as the monitorObject would both be gone already. > This is correct. So, I clearly misunderstood your example. Do you really want to notice when an object becomes unreachable and, if it is, retain it? Yikes. Can this object be found to be dead and then re-instated several times? If this is the case, then the finalization approach won't work (an object can only be finalized once; if it's re-instated and then dropped again, the second time it is just reclaimed). In fact, I don't know whether you can do what you want in Java; I can't think of a way to do it. Other systems that I'm aware of that try to do something similar to what you're trying to do take a slightly different approach: they explicitly keep track of any references from remote node, say, R into each local node, say L, and this is what's keeping everything reachable from them live in node L. When one of those references is dropped, then node R has to notify node L that that reference was dropped, node L will remove it from its local list, and this is how objects reachable from that reference might be reclaimed. Tony -- --------------------------------------------------------------------- | Tony Printezis, Staff Engineer | Sun Microsystems Inc. | | | MS UBUR02-311 | | e-mail: tony.printezis at sun.com | 35 Network Drive | | office: +1 781 442 0998 (x20998) | Burlington, MA 01803-2756, USA | --------------------------------------------------------------------- e-mail client: Thunderbird (Linux) From Igor.Veresov at Sun.COM Wed Mar 25 15:06:19 2009 From: Igor.Veresov at Sun.COM (Igor Veresov) Date: Wed, 25 Mar 2009 15:06:19 -0700 Subject: Request for review(S): 6822263 G1: JVMTI heap iteration fails Message-ID: <200903251506.19733.igor.veresov@sun.com> JVMTI reachable objects iteration functions use a call to object_iterate() to clean the marking bits of the objects (it uses marking bits to track the vertices of the object graph that it visits). The semantics of the object_iterate() include iteration over the perm gen. However G1 doesn't do that. The fix is to include the perm gen objects in the iterable set. Webrev: http://cr.openjdk.java.net/~iveresov/6822263/webrev.00 Testing: Affected nsk tests From andrey.petrusenko at sun.com Wed Mar 25 16:45:06 2009 From: andrey.petrusenko at sun.com (andrey.petrusenko at sun.com) Date: Wed, 25 Mar 2009 23:45:06 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6543938: G1: remove the concept of popularity Message-ID: <20090325234508.C485EEA2F@hg.openjdk.java.net> Changeset: 96b229c54d1e Author: apetrusenko Date: 2009-03-25 13:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/96b229c54d1e 6543938: G1: remove the concept of popularity Reviewed-by: iveresov, tonyp ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/gc_interface/gcCause.hpp ! src/share/vm/runtime/vm_operations.hpp From igor.veresov at sun.com Thu Mar 26 11:23:05 2009 From: igor.veresov at sun.com (igor.veresov at sun.com) Date: Thu, 26 Mar 2009 18:23:05 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6822263: G1: JVMTI heap iteration fails Message-ID: <20090326182310.A42A4EA70@hg.openjdk.java.net> Changeset: 4ac7d97e6101 Author: iveresov Date: 2009-03-26 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/4ac7d97e6101 6822263: G1: JVMTI heap iteration fails Summary: Make object_iterate() traverse the perm gen Reviewed-by: apetrusenko, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp From Y.S.Ramakrishna at Sun.COM Fri Mar 27 09:52:36 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Fri, 27 Mar 2009 09:52:36 -0700 Subject: Time stopped is much longer than corresponding Full GC In-Reply-To: References: Message-ID: <49CD0454.4020802@Sun.COM> Hi Alex -- The bug tracking system informs me that 6546278 was fixed in 5u14 which you appear to be using here. This could be a different problem or an aspect of the original problem that was somehow not addressed by the fix in 6546278. I am cc'ing you over to the hotspot-runtime-dev alias where the necessary expertise exists to address this issue. I suggest of course checking if you can reproduce this problem with the latest 5uXX, as well as, if possible, the latest OpenJDK 7 JVM. In either event (i.e. if you can reproduce the problem with either of the latest jvm's listed) please file a bug with Sun, preferably through your official support channels for quickest resolution especially when older JDK versions are involved. The following additional information may be useful: (1) the additional JVM option -XX:+PrintSafepointStatistics for more visibility into the issue (2) whether you have lots of native/JNI code in your application. (3) It is interesting (and puzzling) that you see the issue only with the 64-bit JVM. Are all other factors equivalent between your 32 and 64-bit tests? thanks. -- ramki On 03/27/09 09:32, Alex Aisinzon wrote: > Hi all > > > > I am running tests with Sun JDK 1.5_14 32 and 64 bits. I am using > ParallelGC with 2 threads on a Dual Core Opteron 280. > > On the 64 bit one, I see instances whereby the pause times, as reported > by the ?Total time for which application threads were stopped:? is much > longer than the time reported for the full GC. > > > > Here is an example of this: > > > > /{Heap before gc invocations=3693:/ > > / PSYoungGen total 2021952K, used 55892K [0x00002aabbf130000, > 0x00002aac3f130000, 0x00002aac3f130000)/ > > / eden space 1949248K, 0% used > [0x00002aabbf130000,0x00002aabbf130000,0x00002aac360c0000)/ > > / from space 72704K, 76% used > [0x00002aac3a7a0000,0x00002aac3de353b0,0x00002aac3eea0000)/ > > / to space 72576K, 0% used > [0x00002aac360c0000,0x00002aac360c0000,0x00002aac3a7a0000)/ > > / PSOldGen total 4194304K, used 4144351K [0x00002aaabf130000, > 0x00002aabbf130000, 0x00002aabbf130000)/ > > / object space 4194304K, 98% used > [0x00002aaabf130000,0x00002aabbc067c20,0x00002aabbf130000)/ > > / PSPermGen total 204800K, used 122025K [0x00002aaab2930000, > 0x00002aaabf130000, 0x00002aaabf130000)/ > > / object space 204800K, 59% used > [0x00002aaab2930000,0x00002aaaba05a578,0x00002aaabf130000)/ > > /29132.202: [Full GC [PSYoungGen: 55892K->0K(2021952K)] [PSOldGen: > 4144351K->2185260K(4194304K)] 4200243K->2185260K(6216256K) [PSPermGen: > 122025K->122025K(204800K)], 7.8002190 secs]/ > > /Heap after gc invocations=3693:/ > > / PSYoungGen total 2021952K, used 0K [0x00002aabbf130000, > 0x00002aac3f130000, 0x00002aac3f130000)/ > > / eden space 1949248K, 0% used > [0x00002aabbf130000,0x00002aabbf130000,0x00002aac360c0000)/ > > / from space 72704K, 0% used > [0x00002aac3a7a0000,0x00002aac3a7a0000,0x00002aac3eea0000)/ > > / to space 72576K, 0% used > [0x00002aac360c0000,0x00002aac360c0000,0x00002aac3a7a0000)/ > > / PSOldGen total 4194304K, used 2185260K [0x00002aaabf130000, > 0x00002aabbf130000, 0x00002aabbf130000)/ > > / object space 4194304K, 52% used > [0x00002aaabf130000,0x00002aab4473b2a8,0x00002aabbf130000)/ > > / PSPermGen total 204800K, used 122025K [0x00002aaab2930000, > 0x00002aaabf130000, 0x00002aaabf130000)/ > > / object space 204800K, 59% used > [0x00002aaab2930000,0x00002aaaba05a578,0x00002aaabf130000)/ > > /}/ > > /Total time for which application threads were stopped: 15.2489360 seconds/ > > /Application time: 7.2144290 seconds/ > > > > > > I checked on the web and see descriptions of very similar behaviors: > > * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6477891 > * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6546278 > > > > It remains unclear whether this is fixed in a later release of Sun JDK 1.5. > > If it is indeed the ? > Synchronization > problem in the pseudo memory barrier code?. It may be fixed on JDK 1.7: > http://download.java.net/jdk7/changes/jdk7-b15.html > > > > Our application is currently supported on Sun JDK 1.5 so Sun JDK 1.6 and > 1.7, when available, do not constitute good options. > > Should I try to upgrade to the latest of Sun JDK 1.5 or are there > ?switches? that could make this go away, without sacrificing performance. > > The thing that surprises me most is that is, so far, it occurs only on > the 64 bit JVM version. > > > > Thanks for letting me know > > > > Alex Aisinzon > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > hotspot-gc-use mailing list > hotspot-gc-use at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Jon.Masamitsu at Sun.COM Fri Mar 27 11:43:09 2009 From: Jon.Masamitsu at Sun.COM (Jon Masamitsu) Date: Fri, 27 Mar 2009 11:43:09 -0700 Subject: Java6 vs Java5 In-Reply-To: <49CD18F1.7070400@alcatel-lucent.com> References: <49CD18F1.7070400@alcatel-lucent.com> Message-ID: <49CD1E3D.6050401@sun.com> Shaun Hennessy wrote On 03/27/09 11:20,: >A few quick questions I'm hoping someone can help me with... >(I'm running Java6u12) > >1) Is there any plans for the new option >CMSInitiatingPermOccupancyFraction (CR 6634032) >to put into Java6? (The fixed in listed as hs13(b01) - I'm not sure >what this is - Java7?) > > This change will make it to a 6 update. Probably 6u14. >2) Was there a change in the default CMS initiating occupancy from Java5 >to Java6 (68% to 92%) >when using CMS? > > Unless explicitly set on the command line the initiating occupancy is calculated from other parameters (MinHeapFreeRatio and MinHeapFreeRatio) and I don't think those latter changed between 5 and 6. Other CMS parameters changed. http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html >3a) If using the Throughput GC -- our old-gen will be triggered when >it's full right? There's no need >to have it go earlier as we're going to stop-the-world.... Nothing >would be different java5 vs java6? > > Yes, with the throughput collector (and indeed with all the stop the world (aka STW) collectors), a collection is started when a generation is full. >3b) - If I am going to the throughput collector, is there anyway to >force the application to keep >a certain amount of the heap free (ie -Xms=Xms=256M --) I always want to >get say 100M free >so once the free heap drop to that level trigger a GC? (Basically I >want a CmsInitiatingOccupancyFraction >but for the throughput collector) > > There is no JVM option that will allow you to request that a certain amount be kept free with the STW collectors. > > > _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Fri Mar 27 12:11:48 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Fri, 27 Mar 2009 12:11:48 -0700 Subject: Java6 vs Java5 In-Reply-To: <49CD1E3D.6050401@sun.com> References: <49CD18F1.7070400@alcatel-lucent.com> <49CD1E3D.6050401@sun.com> Message-ID: <49CD24F4.5040603@Sun.COM> >> 3b) - If I am going to the throughput collector, is there anyway to >> force the application to keep >> a certain amount of the heap free (ie -Xms=Xms=256M --) I always want to >> get say 100M free >> so once the free heap drop to that level trigger a GC? (Basically I >> want a CmsInitiatingOccupancyFraction >> but for the throughput collector) Do you want that much heap free in say the old generation? What would be your rationale for wanting that kind of behaviour? Looks to me you would be wasting that much of space since you don't really get to allocate from it (or once you exceed that level, each scavenge becomes a full gc at least as i read your specification above). -- ramki _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From Y.S.Ramakrishna at Sun.COM Fri Mar 27 12:54:17 2009 From: Y.S.Ramakrishna at Sun.COM (Y.S.Ramakrishna at Sun.COM) Date: Fri, 27 Mar 2009 12:54:17 -0700 Subject: Java6 vs Java5 In-Reply-To: <49CD1E3D.6050401@sun.com> References: <49CD18F1.7070400@alcatel-lucent.com> <49CD1E3D.6050401@sun.com> Message-ID: <49CD2EE9.4050409@Sun.COM> On 03/27/09 11:43, Jon Masamitsu wrote: > Shaun Hennessy wrote On 03/27/09 11:20,: ... >> 2) Was there a change in the default CMS initiating occupancy from Java5 >> to Java6 (68% to 92%) >> when using CMS? >> >> > > Unless explicitly set on the command line the initiating occupancy is > calculated > from other parameters (MinHeapFreeRatio and MinHeapFreeRatio) and > I don't think those latter changed between 5 and 6. Other CMS > parameters changed. > > http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html Right. It's possible that Shaun may be remembering the change from 1.4.2 to 5.0 when the 68% -> 92% change in ceiling occured as a result of CMSTriggerRatio going from 20(%) in 1.4.2 to 80(%) in 5.0. -- ramki _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use From y.s.ramakrishna at sun.com Sat Mar 28 18:43:53 2009 From: y.s.ramakrishna at sun.com (y.s.ramakrishna at sun.com) Date: Sun, 29 Mar 2009 01:43:53 +0000 Subject: hg: jdk7/hotspot-gc/hotspot: 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops Message-ID: <20090329014358.7E032EC35@hg.openjdk.java.net> Changeset: cea947c8a988 Author: ysr Date: 2009-03-28 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/cea947c8a988 6819891: ParNew: Fix work queue overflow code to deal correctly with +UseCompressedOops Summary: When using compressed oops, rather than chaining the overflowed grey objects' pre-images through their klass words, we use GC-worker thread-local overflow stacks. Reviewed-by: jcoomes, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/runtime/globals.hpp From linuxhippy at gmail.com Mon Mar 30 04:38:16 2009 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Mon, 30 Mar 2009 07:38:16 -0400 Subject: Java6 vs Java5 In-Reply-To: <49CD3B75.4010301@alcatel-lucent.com> References: <49CD18F1.7070400@alcatel-lucent.com> <49CD1E3D.6050401@sun.com> <49CD24F4.5040603@Sun.COM> <49CD3B75.4010301@alcatel-lucent.com> Message-ID: <194f62550903300438v1f0c40dere3e8fe3602fc8f32@mail.gmail.com> Hi, > --- My rationale? ?Saving the designers from fixing problem properly :-) > I agree completely if there was some magic option to do this the end result > would be I'd be end up "reserving" (aka wasting) ?X amount of memory that > I would never ever use. But to what end? What problem do you intend to resolv with that? I can't imagine situations where this could help. - Clemens _______________________________________________ hotspot-gc-use mailing list hotspot-gc-use at openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use