通过Runtime获取当前JVM使用的Heap大小

一提起如何解决内存溢出问题,动辄使用复杂的监控软件,比如Jprofile等,其实我们可以通过Runtime来获得当前Heap大小,使用Heap大小。测试如下:

1. 设置JVM属性: -Xms64m -Xmx256m 最小64M 最大使用256M.

2. 运行如下代码:

public static void main(String [] args) throws Exception {

         int mb = 1024*1024;

        //Getting the runtime reference from system
         Runtime runtime = Runtime.getRuntime();

        System.out.println("##### Heap utilization statistics [MB] #####");
       // use memory
        List testList = new ArrayList();
        for(int i =0; i<5000;i++){
            Thread.sleep(1000);
        for(int i1 =0; i1<5000; i1++){
        testList.add(new String[1000]);
        }
        System.out.println("Used Memory:"
             + (runtime.totalMemory() - runtime.freeMemory()) / mb+"M");
        }
         System.out.println("Free Memory:"   + runtime.freeMemory() / mb+"M");
         System.out.println("Total Memory:" + runtime.totalMemory() / mb+"M");
         System.out.println("Max Memory:" + runtime.maxMemory() / mb+"M");

     }

}

时间: 2024-12-28 01:30:14

通过Runtime获取当前JVM使用的Heap大小的相关文章

通过runtime获取对象相关信息

通过runtime获取对象相关信息 在这里,本人给大家提供一个runtime关于NSObject的扩展,用来显示各种NSObject中的信息,这有助于你来分析类的组成:) 先准备以下类供测试: Model.h 与 Model.m // // Model.h // Runtime // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> typedef enum : NSUIn

一行命令获取当前JVM所有可设置的参数以及当前默认值

一行命令获取当前JVM所有可设置的参数以及当前默认值 java -XX:+PrintFlagsInitial  >>1.txt 然后查看这个1.txt即可 uintx AdaptivePermSizeWeight = 20 {product} uintx AdaptiveSizeDecrementScaleFactor = 4 {product} uintx AdaptiveSizeMajorGCDecayTimeScale = 10 {product} uintx AdaptiveSizeP

php获取远程文件的内容和大小_php技巧

本文实例总结了php获取远程文件的内容和大小的方法.分享给大家供大家参考.具体如下: 1.获取远程文件内容的方法 2.获取远程文件大小的方法 以上就是php获取远程文件的内容和大小函数代码,希望对大家的学习有所帮助.

Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法_Android

本文实例讲述了Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法.分享给大家供大家参考,具体如下: 可能有的同学不知道系统已经提供了获取获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法,用系统源代码提供的方法可以很简单,方便的获取其大小.这里我把系统源代码中的一个方法贴出来,供大家参考一下: 图片: 图片上红色方框中的代码就是源代码中获取SD卡大小的程序方法. 在这里我整理了一下,我把我整理封装好的方法给大家贴出来: /** * 获得SD卡总大小 * *

c# Winform 获取麦克风音量 控制麦克风音量大小

问题描述 c#Winform获取麦克风音量控制麦克风音量大小请问怎么实现 解决方案 解决方案二:GOhttp://social.msdn.microsoft.com/Forums/zh-TW/233/thread/51c5acaa-046b-4b90-a96a-86a000140dd7解决方案三:在线等解决方案四:我上传的资源中有源代码解决方案五:直接贴上来不好吗?要不怎么给分解决方案六:引用3楼jq_whh的回复: 我上传的资源中有源代码 你那是什么东西,看标题是麦克风晕死解决方案七:这个调用

Java 实践:获取 一些 JVM 运行信息

上代码 /** * The MIT License * * Copyright (c) 2016 Shell Technologies PTY LTD. http://au.shellpays.com * * You may obtain a copy of the License at * * http://mit-license.org/ * */ package com.shellpays.literminal.ux; import java.lang.management.ClassLo

JQ获取动态加载的图片大小的正确方法分享_jquery

有一些很容易出错的获取动态加载的图片的尺寸的方法, 之所以出错, 主要原因是:你在代码在图片从网页上下载完毕之前就调用了, 这种情况在本机开发时不太容易发现.jQuery load()事件处理的BUG, 当图片是从浏览器缓存取得时, 获取的是错误的尺寸.错误的代码是:(错误)在添加了HTML之后立即调用代码获取尺寸 复制代码 代码如下: var html = ''; $('#my_div').html(html); var width = $('#my_div img').width(); //

Android获取外部和内部存储空间总大小

  android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等.       看下读取sd卡的: Java代码 void  readSDCard() {           String state = Environment.getExternalStorageState();           if (Environment.MEDIA_MOUNTED.equals(state)) {     

用JavaScript获取DOM元素位置和尺寸大小的方法_基础知识

在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽略的一部分,要想写出预想效果的JavaScript代码,我们需要了解一些基本知识. 基础概念 为了方便理解,我们需要了解几个基础概念,每个HTML元素都有下列属性 offsetWidth clientWidth scrollWidth offsetHeight clientHeight scrollHeight offsetLeft clientL