컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, November 20, 2006

Java/자바] 총 메모리, 남은 메모리 보기, 자바 가상머신 totalMemory, freeMemory


public long totalMemory() 메소드는 자바 가상 머신(JVM)의 모든 메모리 양을 바이트 단위로 반환합니다.

public long freeMemory() 는 자바 가상머신 내의 남은 메모리의 양을 바이트 단위로 반환합니다.

public long maxMemory() 는, 가상머신이 사용하려고 시도했던 가장 큰 메모리 양입니다.


다음 예제에서는 테스트를 위해, 64비트 실수인 double 의 배열을 2백만 개 만들었습니다.

totalMemory, freeMemory: 자바 메모리 총 용량, 남은 용량 보기 예제


파일명: Foo.java
public class Foo {
  public static void main (String[] args) {

    double[] n1 = new double[1000000];
    double[] n2 = new double[1000000];


    long free  = Runtime.getRuntime().freeMemory();
    long total = Runtime.getRuntime().totalMemory();
    long max   = Runtime.getRuntime().maxMemory();


    System.out.format("Total Memory : %6.2f MB%n", (double) total / (1024 * 1024));
    System.out.format("Free  Memory : %6.2f MB%n", (double) free  / (1024 * 1024));
    System.out.format("Max   Memory : %6.2f MB%n", (double) max   / (1024 * 1024));


  }
}



예제를 모두 3번 실행했는데

1번째 실행 때는 소스 파일에서, n1 과 n2 배열을 주석화하여 없앴고
2번째 실행 때는 소스 파일에서, n1 배열만 선언했고
3번째 실행 때는 소스 파일에서, n1 과 n2 배열을 모두 선언했습니다.

D:\Z>javac Foo.java && java Foo
Total Memory :   1.94 MB
Free  Memory :   1.76 MB
Max   Memory :  63.56 MB

D:\Z>javac Foo.java && java Foo
Total Memory :   9.57 MB
Free  Memory :   1.80 MB
Max   Memory :  63.56 MB

D:\Z>javac Foo.java && java Foo
Total Memory :  21.63 MB
Free  Memory :   6.22 MB
Max   Memory :  63.56 MB

D:\Z>





tag: java
자바 | Java

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top