java程序获取JVM与宿主机内存使用状态

这篇具有很好参考价值的文章主要介绍了java程序获取JVM与宿主机内存使用状态。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class SystemUtils {

//获取JVM内存状态
    static public void printMemoryInfoJVM(){
        try{
        double allocatedMemory = (double)Runtime.getRuntime().totalMemory()/1024./1024./1024.;
        double maxMemory = (double)Runtime.getRuntime().maxMemory()/1024./1024./1024.;
        double freeMemory =  (double)Runtime.getRuntime().freeMemory()/1024./1024./1024.;
        freeMemory += (maxMemory - allocatedMemory); 
        double memoryUsage = (maxMemory - freeMemory)/maxMemory;
        log.info("JVM Allocated Memory:"+String.format("%.2f",allocatedMemory)+"G");
        log.info("JVM Max Memory:"+String.format("%.2f",maxMemory)+"G");
        log.info("JVM Free Memory:"+String.format("%.2f",freeMemory)+"G");
        log.info("JVM Memory Usage:"+String.format("%.2f",memoryUsage*100)+"%");
    }
//获取宿主机内存状态
    static public void printMemoryInfoHost(){
            OperatingSystemMXBean mem = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
            double totalMemorySystem = (double)mem.getTotalPhysicalMemorySize() / 1024. / 1024. /1024.;
            double freeMemorySystem = (double)mem.getFreePhysicalMemorySize() / 1024. / 1024. /1024.;
            double memoryUsageSystem = (totalMemorySystem - freeMemorySystem)/totalMemorySystem;
            log.info("Host Total Memory:"+String.format("%.2f",totalMemorySystem)+"G");
            log.info("Host Free Memory:"+String.format("%.2f",freeMemorySystem)+"G");
            log.info("Host Memory Usage:"+String.format("%.2f",memoryUsageSystem*100)+"%");
    }
}

    }```

文章来源地址https://www.toymoban.com/news/detail-600927.html

到了这里,关于java程序获取JVM与宿主机内存使用状态的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 宿主机使用wifi时虚拟机如何连网

    一、宿主机设置 打开网络连接,选择WLAN的属性-共享,如图。 配置虚拟机网络VMnet8,属性-internet协议版本4,配置如图。             二、虚拟机设置 打开VMware Workstation,选择编辑-虚拟网络编辑器,配置如图。 选择虚拟机-设置-网络适配器-网络连接,勾选NAT模式。​​​​​

    2024年02月06日
    浏览(48)
  • pod,docker启动使用宿主机网络的方案

    这是一个Docker命令,用于在主机网络模式下运行一个名为\\\"identity\\\"的容器,并将容器内部的端口18092映射到主机上的端口18092。 解析该命令的各个部分: docker run :运行一个新的容器。 --net=host :使用主机网络模式,这意味着容器将与主机共享网络命名空间,可以直接使用主机

    2024年02月11日
    浏览(55)
  • Jenkins(Docker版)中使用宿主机的Docker

    (1)宿主机安装好了Docker。 (2)宿主机拉取Jenkins的最新镜像。 使用Jenkins将打包好的镜像推送到远程镜像仓库时,运行docker login命令的时候,控制台报错:docker command not found。 Jenkins容器内部并没有安装Docker,但是我不想在内部再安装一个Docker,而是想直接使用使用宿主机

    2024年02月12日
    浏览(41)
  • 【Docker】数据卷挂载以及宿主机目录挂载的使用

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年01月16日
    浏览(47)
  • 最简单配置jenkins容器使用宿主机的docker方法

    构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可 设置宿主机docker.sock权限 chown root:root /var/run/docker.sock chmod o+rw /var/run/docker.sock 添加数据卷 version: \\\"3.1\\\" services:   jenkins:     image: jenkins/jenkins     container_na

    2024年02月11日
    浏览(45)
  • Docker Desktop使用宿主机Windows的配置文件持久化存储数据

    《微软官网Windows 上的 Docker 引擎帮助文档》 以Nginx为例 把Nginx的配置文件复制到Windows 注意:Windows的盘符是小写的,以及目录直接是用反斜杠的!(我掉这坑里好久!!!) 修改宿主机的nginx.conf配置文件 删除nginx容器 重启启动一个新的Nginx容器 访问localhost

    2024年02月09日
    浏览(52)
  • 虚拟机安装 Ubuntu桌面版,宿主机无法访问虚拟机 & ufw 防火墙简单使用

    本次安装使用的 ubuntu-22.04.2-desktop-amd64 ,网络连接使用的是桥接,查看ubuntu的ip是正常的,与宿主机在同一个网段且防火墙已关闭。 能ping通但是无法连接。 最后发现ubuntu内没有ssh服务 安装ssh服务 ufw防火墙 放行ssh服务 成功连接 ufw 常用命令 查看ufw防火墙 状态 启用防火墙 放

    2024年02月13日
    浏览(50)
  • 配置Docker OpenWrt与宿主机网络互通且作为宿主机网关

    最近需要用Docker版的Openwrt作为旁路由(网关),在配置过程中遇到一些问题,通过查阅资料,最终完美解决。现在将整体方案和具体操作步骤贴到这里分享给大家 这里我使用的环境如下: 宿主机操作系统:Armbian 宿主机ip:192.168.5.2 宿主机新macvlan接口ip:192.168.5.3 Docker镜像:

    2024年02月03日
    浏览(98)
  • shell脚本使用(宿主机windows-服务器-centos)--用于使用shell脚本方式控制docker容器

    需求: 我想要使得windows上编写shell脚本,并且在这个shell脚本在linux中也可用 shell脚本在windows上无法直接运行,但是有WSL这个linux子系统的工具 可以使得shell脚本在主机上执行 视频讲解连接 方式1 方式2

    2024年02月07日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包