java获取其他电脑物理内存,Java 获取JVM内存和物理内存信息

java 获取JVM内存和物理内存信息1 package com.sysinfo; 2 public class MonitorInfo { 3 /** jvm可使用内存. */ 4 PRivate long totalMemory; 5 6 /** jvm剩余内存. */ 7 private long freeMemory; 8 9 /** jvm最大可使用内存. */10 private long maxMemory;11 12 /** 操作系统. */13 private String osName;14 15 /** 总的物理内存. */16 private long totalMemorySize;17 18 /** 剩余的物理内存. */19 private long freeMemorySize;20 21 /** 已使用的物理内存. */22 private long usedMemorySize;23 24 /** 核心数. */25 private int processors;26 27 public long getTotalMemory() {28 return totalMemory;29 }30 31 public void setTotalMemory(long totalMemory) {32 this.totalMemory = totalMemory;33 }34 35 public long getFreeMemory() {36 return freeMemory;37 }38 39 public void setFreeMemory(long freeMemory) {40 this.freeMemory = freeMemory;41 }42 43 public long getMaxMemory() {44 return maxMemory;45 }46 47 public void setMaxMemory(long maxMemory) {48 this.maxMemory = maxMemory;49 }50 51 public String getOsName() {52 return osName;53 }54 55 public void setOsName(String osName) {56 this.osName = osName;57 }58 59 public long getTotalMemorySize() {60 return totalMemorySize;61 }62 63 public void setTotalMemorySize(long totalMemorySize) {64 this.totalMemorySize = totalMemorySize;65 }66 67 public long getFreeMemorySize() {68 return freeMemorySize;69 }70 71 public void setFreeMemorySize(long freeMemorySize) {72 this.freeMemorySize = freeMemorySize;73 }74 75 public long getUsedMemorySize() {76 return usedMemorySize;77 }78 79 public void setUsedMemorySize(long usedMemorySize) {80 this.usedMemorySize = usedMemorySize;81 }82 83 public int getProcessors() {84 return processors;85 }86 87 public void setProcessors(int processors) {88 this.processors = processors;89 }90 }1 package com.sysinfo; 2 3 import java.lang.management.ManagementFactory; 4 import java.math.BigDecimal; 5 6 import com.sun.management.OperatingSystemMXBean; 7 8 public class MonitorService { 9 public MonitorInfo getMonitorInfoBean() throws Exception {10 double mb = 1024 * 1024 * 1.0;11 double gb = 1024 * 1024 * 1024 * 1.0;12 13 // jvm14 double totalMemory = Runtime.getRuntime().totalMemory() / mb;15 double freeMemory = Runtime.getRuntime().freeMemory() / mb;16 double maxMemory = Runtime.getRuntime().maxMemory() / mb;17 // os18 OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory19 .getOperatingSystemMXBean();20 String osName = System.getProperty("os.name");21 double totalMemorySize = osmxb.getTotalPhysicalMemorySize() / gb;22 double freeMemorySize = osmxb.getFreePhysicalMemorySize() / gb;23 double usedMemorySize = (osmxb.getTotalPhysicalMemorySize() - osmxb24 .getFreePhysicalMemorySize()) / gb;25 // MonitorInfo26 MonitorInfo infoBean = new MonitorInfo();27 infoBean.setTotalMemory(getIntValue(totalMemory));28 infoBean.setFreeMemory(getIntValue(freeMemory));29 infoBean.setMaxMemory(getIntValue(maxMemory));30 infoBean.setOsName(osName);31 infoBean.setTotalMemorySize(getIntValue(totalMemorySize));32 infoBean.setFreeMemorySize(getIntValue(freeMemorySize));33 infoBean.setUsedMemorySize(getIntValue(usedMemorySize));34 infoBean.setProcessors(Runtime.getRuntime().availableProcessors());35 return infoBean;36 }37 38 /**39 * 四舍五入取整40 * 41 * @param d42 * @return43 */44 private static int getIntValue(double d) {45 return new BigDecimal(d).setScale(0, BigDecimal.ROUND_HALF_UP)46 .intValue();47 }48 49 public static void main(String[] args) throws Exception {50 MonitorService service = new MonitorService();51 MonitorInfo monitorInfo = service.getMonitorInfoBean();52 // System.out.println("JVM可使用内存=" + monitorInfo.getTotalMemory() +53 // "MB");54 // System.out.println("JVM剩余内存=" + monitorInfo.getFreeMemory() + "MB");55 // System.out.println("JVM最大可使用内存=" + monitorInfo.getMaxMemory() +56 // "MB");57 58 System.out.println("操作系统=" + monitorInfo.getOsName());59 System.out.println("核心数=" + monitorInfo.getProcessors());60 System.out.println("总的物理内存=" + monitorInfo.getTotalMemorySize() + "GB");61 System.out.println("剩余的物理内存=" + monitorInfo.getFreeMemorySize() + "GB");62 System.out63 .println("已使用的物理内存=" + monitorInfo.getUsedMemorySize() + "GB");64 }65 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值