본문 바로가기
JAVA/Java

<JAVA>메모리 사용용량 체크하기

자바 개발을 하다 보면은 내가 작성한 코드가 어느정도의 메모리를 사용하는지 확인해 보고 싶은 상황이 있다.

 

이때 사용하는 메모리양을 체크할 수 있는 코드를 작성해 보았다.

 

참고로 기본으로 리턴되는 메모리 용량단위는 byte이다.

 

 

package main;

public class MainClass {

	public static void main(String[] args) {
		
		// Garbage Collection으로 메모리 초기화
		System.gc(); 
		
		// 실행전 메모리 사용량 조회
		long before = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
		
		// 측정하고싶은 코드
		int j = 0;
		for(int i=0; i<100000000; i++) {
			j = j+i;
		}
		
		// Garbage Collection으로 메모리 정리
		System.gc();
		
		// 실행 후 메모리 사용량 조회
		long after  = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
		
		// 메모리 사용량 측정
		long usedMemory = (before - after)/1024/1024;

		System.out.println("Used Memory : " + usedMemory);
        
        
        
        // 애플리케이션에 할당돈 힙메모리 사이즈. 이 사이즈를 넘어서면 OOM발생
		long heapSize = Runtime.getRuntime().maxMemory();
		System.out.println(heapSize/1024/1024);

	}

}

 

 

 

댓글