There is gc_free_memory() API, which can be used to compute the used memory.
On Fri, Feb 22, 2008 at 12:17 AM, Andrey Yakushev (JIRA) <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/HARMONY-5523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571092#action_12571092 > ] > > Andrey Yakushev commented on HARMONY-5523: > ------------------------------------------ > > I'd implemented: > > jlong used = gc_total_memory(); > jlong committed = gc_total_memory(); > > because vm<->gc interface didn't have the request for committed memory, and > I didn't imagine the situation when returning "used" instead of "committed" > could confuse any requster. > > Nevertheless for pure imlementation we can add precise committed value. > > Could we extend vm<->gc interface for such request and implement it in > gc_gen? > > > > [drlvm][gc][lang-management][geronimo] MemoryUsage returns incorrect values > > --------------------------------------------------------------------------- > > > > Key: HARMONY-5523 > > URL: https://issues.apache.org/jira/browse/HARMONY-5523 > > Project: Harmony > > Issue Type: Bug > > Components: App-Oriented Bug Reports, DRLVM > > Affects Versions: 5.0M4, 5.0M5 > > Reporter: Vasily Zakharov > > Attachments: Harmony-5523-classlib.patch > > > > > > The following test demonstrates the problem: > > public class Test { > > public static void main(String[] args) throws Exception { > > > System.out.println(java.lang.management.ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()); > > } > > } > > Output on RI: > > $ java Test > > init = 0(0K) used = 162416(158K) committed = 2031616(1984K) max = > 66650112(65088K) > > $ java -Xms128M -Xmx256M Test > > init = 134217728(131072K) used = 166480(162K) committed = > 133234688(130112K) max = 266403840(260160K) > > Output on Harmony: > > $ java Test > > MemoryUsage: init=16777216used=16777216committed=16777216max=16777216 > > $ java -Xms128M -Xmx256M Test > > MemoryUsage: init=134217728used=134217728committed=134217728max=134217728 > > Clearly enough, the following problems do exist: > > 1. getUsed() method always returns the -Xms value instead of actual used > memory amount. > > 2. getMax() method returns the -Xms value instead of -Xmx value. > > 3. toString() method works incorrectly (output is badly readable). > > This issues causes the Geronimo console to display the used memory > information incorrectly. > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > -- http://xiao-feng.blogspot.com
