JAL-3477 A bit of refactoring for the better
[jalview.git] / getdown / src / getdown / core / src / main / java / jalview / bin / MemoryPercent.java
1 package jalview.bin;
2
3 import java.lang.management.ManagementFactory;
4 import java.lang.management.OperatingSystemMXBean;
5
6 public class MemoryPercent
7 {
8
9   protected static long getPhysicalMemory()
10   {
11     final OperatingSystemMXBean o = ManagementFactory
12             .getOperatingSystemMXBean();
13
14     try
15     {
16       if (o instanceof com.sun.management.OperatingSystemMXBean)
17       {
18         final com.sun.management.OperatingSystemMXBean osb = (com.sun.management.OperatingSystemMXBean) o;
19         return osb.getTotalPhysicalMemorySize();
20       }
21     } catch (NoClassDefFoundError e)
22     {
23       // com.sun.management.OperatingSystemMXBean doesn't exist in this JVM
24       System.err.println(
25               "No com.sun.management.OperatingSystemMXBean: cannot get total physical memory size");
26     }
27
28     // We didn't get a com.sun.management.OperatingSystemMXBean.
29     return -1;
30   }
31
32 }