Changeset 6678


Ignore:
Timestamp:
Jan 13, 2015, 11:16:57 AM (7 years ago)
Author:
Nicklas Nordborg
Message:

References #1904: Display more memory usage details

Groups display in heap and non-heap memory and display a warning if a region has used more than 50% of it's available memory.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3.4-stable/www/info/about.jsp

    r6676 r6678  
    4141  import="java.lang.management.ManagementFactory"
    4242  import="java.lang.management.MemoryPoolMXBean"
     43  import="java.lang.management.MemoryType"
    4344  import="java.lang.management.MemoryUsage"
    4445%>
     
    7778  padding-left: 1em;
    7879  padding-right: 1.5em;
     80}
     81
     82.memory-warning
     83{
     84  color: #C80000;
     85  font-weight: bold;
     86  background-image: url('../images/warning_small.png');
     87  background-repeat: no-repeat;
     88  background-position: 100% 50%;
    7989}
    8090</style>
     
    154164      <table id="memoryTable" style="xwidth:100%;">
    155165      <tr style="border-bottom-width: 1px;">
    156         <th>Region</th>
     166        <th></th>
    157167        <th>Used</th>
    158168        <th>Max</th>
    159169        <th></th>
    160170      </tr>
    161       <tr>
    162         <td>Heap</td>
    163         <td><%=Values.formatBytes(runtime.totalMemory()-runtime.freeMemory()) %></td>
    164         <td><%=Values.formatBytes(runtime.maxMemory())%></td>
    165         <td><%=100*(runtime.totalMemory()-runtime.freeMemory()) / runtime.maxMemory() %>%
    166       </tr>
    167171      <%
    168       for (MemoryPoolMXBean mbean : beans)
     172      for (MemoryType mtype : MemoryType.values())
    169173      {
    170         MemoryUsage usage = mbean.getUsage();
     174        long sumUsed = 0;
     175        long sumMax = 0;
     176        for (MemoryPoolMXBean mbean : beans)
     177        {
     178          if (mbean.getType() == mtype)
     179          {
     180            MemoryUsage usage = mbean.getUsage();
     181            sumUsed += usage.getUsed();
     182            sumMax += usage.getMax();
     183            long percent = 100*usage.getUsed() / usage.getMax();
     184            %>
     185            <tr>
     186            <td><%=mbean.getName() %></td>
     187            <td><%=Values.formatBytes(usage.getUsed()) %></td>
     188            <td><%=Values.formatBytes(usage.getMax()) %></td>
     189            <td class="<%=percent > 50 ? "memory-warning" : "" %>"><%=percent %>%</td>
     190            </tr>
     191          <%
     192          }
     193        }
    171194        %>
    172         <tr>
    173         <td><%=mbean.getName() %></td>
    174         <td><%=Values.formatBytes(usage.getUsed()) %></td>
    175         <td><%=Values.formatBytes(usage.getMax()) %></td>
    176         <td><%=100*usage.getUsed() / usage.getMax() %>%
     195        <tr style="border-bottom-width: 1px; xborder-top-width: 1px; font-weight: bold;" class="xbg-filled-100">
     196          <td>Sum <%=mtype.toString() %></td>
     197          <td><%=Values.formatBytes(sumUsed) %></td>
     198          <td><%=Values.formatBytes(sumMax) %></td>
     199          <td><%=100*sumUsed / sumMax %>%</td>
    177200        </tr>
    178201        <%
    179202      }
    180203      %>
     204     
    181205      </table>
    182206  </tr>
Note: See TracChangeset for help on using the changeset viewer.