{"action":"created","issue":{"url":"https://api.github.com/repos/javamelody/javamelody/issues/182","labels_url":"https://api.github.com/repos/javamelody/javamelody/issues/182/labels{/name}","comments_url":"https://api.github.com/repos/javamelody/javamelody/issues/182/comments","events_url":"https://api.github.com/repos/javamelody/javamelody/issues/182/events","html_url":"https://github.com/javamelody/javamelody/issues/182","id":89931533,"number":182,"title":"Memory statistics are not detailed enough to do memory tuning","user":{"login":"GoogleCodeExporter","id":9614759,"avatar_url":"https://avatars.githubusercontent.com/u/9614759?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCodeExporter","html_url":"https://github.com/GoogleCodeExporter","followers_url":"https://api.github.com/users/GoogleCodeExporter/followers","following_url":"https://api.github.com/users/GoogleCodeExporter/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCodeExporter/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCodeExporter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCodeExporter/subscriptions","organizations_url":"https://api.github.com/users/GoogleCodeExporter/orgs","repos_url":"https://api.github.com/users/GoogleCodeExporter/repos","events_url":"https://api.github.com/users/GoogleCodeExporter/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCodeExporter/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/javamelody/javamelody/labels/auto-migrated","name":"auto-migrated","color":"ededed"},{"url":"https://api.github.com/repos/javamelody/javamelody/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-06-21T16:35:39Z","updated_at":"2015-09-11T14:00:34Z","closed_at":null,"body":"```\nWhat steps will reproduce the problem?\n1. Just look at the graphs, it only shows a wholelistic memory number\n2.\n3.\n\nWhat is the expected output? What do you see instead?\nmemory break down for each pool as each pool has to be tuned separately and \neach pool can crash the server individually upon filling.\n\n\nWhat version of the product are you using? On what application server, JDK,\noperating system? N/A\n\n\nPlease provide any additional information below.\n\nPatch set attached which removes the old \"all memory\" and \"permgen\" hard coded \nitems, it dynamically looks up all the memory pools and prints them. (This is \nrequired because the memory pools change depending on the JVM you're running, \neven with just the SUN jvm if you use client v.s. server the number of pools \nand the name and types of pools change.\n```\n\nOriginal issue reported on code.google.com by `r6squee...@gmail.com` on 17 Feb 2012 at 4:21\n\nAttachments:\n* [memory_pools.patch](https://storage.googleapis.com/google-code-attachments/javamelody/issue-182/comment-0/memory_pools.patch)\n"},"comment":{"url":"https://api.github.com/repos/javamelody/javamelody/issues/comments/139555014","html_url":"https://github.com/javamelody/javamelody/issues/182#issuecomment-139555014","issue_url":"https://api.github.com/repos/javamelody/javamelody/issues/182","id":139555014,"user":{"login":"stoerr","id":999184,"avatar_url":"https://avatars.githubusercontent.com/u/999184?v=3","gravatar_id":"","url":"https://api.github.com/users/stoerr","html_url":"https://github.com/stoerr","followers_url":"https://api.github.com/users/stoerr/followers","following_url":"https://api.github.com/users/stoerr/following{/other_user}","gists_url":"https://api.github.com/users/stoerr/gists{/gist_id}","starred_url":"https://api.github.com/users/stoerr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stoerr/subscriptions","organizations_url":"https://api.github.com/users/stoerr/orgs","repos_url":"https://api.github.com/users/stoerr/repos","events_url":"https://api.github.com/users/stoerr/events{/privacy}","received_events_url":"https://api.github.com/users/stoerr/received_events","type":"User","site_admin":false},"created_at":"2015-09-11T14:00:33Z","updated_at":"2015-09-11T14:00:33Z","body":"Another aspect in memory tuning is to know what portion of the used memory is just garbage, which could be collected right away in a pinch, and what portion is permanent stuff. So, for an application, which generates and reclaims a lot of garbage quickly, you wouldn't have enough information from this. I created https://github.com/javamelody/javamelody/issues/497 which covers that aspect, and is also a little bit more general - tuning the individual memory pool sizes is probably less often than heap sizing in general."}}