JEP 248: Make G1 the Default Garbage Collector



JEP 248: Make G1 the Default Garbage Collector

This is a very interesting conversation, and I'd like to throw in Google's not-quite-relevant observations, too. We're not quite relevant because we'll just change the default to whatever we want, and because we ignore the parallel GC, for the most part. Much of it has been said before in this thread, but it's worth reiterating. - As it happens, we're considering changing the default, too - to the CMS collector! - We've been asking people to try G1 approximately annually for the last five or so years. - Although G1 performance has gotten better over time, we still find that the additional CPU costs outweigh any benefits, and that CMS typically ends up ahead. - With most of our more important workloads, our admins tend to tune applications carefully so that the OG doesn't fill up too much, and CMS cycles are not triggered often. This is deeply important in server-style applications - you want anything generated and used by a single request to go away with a YG collection. - Part of the reason our CMS performs better is that we've made changes to CMS to improve its performance. We see roughly half as much CPU utilization, and the long tail pause times have been cut dramatically. It would be nice if we could upstream the changes (especially for us, because they break with every new release, and we have to fix them!), but we've never been able to find anyone at Oracle who has the bandwidth to do the reviews. For example, the response to this:

Read full article from JEP 248: Make G1 the Default Garbage Collector


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts