메모리 사용량 확인
구로디지털단지역
오엔제이프로그래밍 실무학원
(Java ,
Oracle, SQL, Oracle Tuning, BackUP& Recovery, ASP.NET, C#, C#Network
,채용확정
무상교육)
Runtime의 maxMemory, totalMemory, freeMemory
메소드를 이용하면 현재 애플리케이션이 사용하고 있는 메모리 상태를 확인 할 수 있습니다.
아래의 예제를 확인
하세요~
import java.text.DecimalFormat;
public class MonitorMemory
{ static Runtime r =
Runtime.getRuntime();
public static void main(String[] args)
{ showMemory(); } public
static void showMemory() { DecimalFormat format = new
DecimalFormat("###,###,###.##"); //JVM이
현재 시스템에 요구 가능한 최대 메모리량, 이 값을 넘으면 OutOfMemory 오류가 발생
합니다. long max =
r.maxMemory(); //JVM이 현재 시스템에 얻어 쓴 메모리의
총량 long total =
r.totalMemory(); //JVM이 현재 시스템에 청구하여 사용중인
최대 메모리(total)중에서 사용 가능한 메모리 long free =
r.freeMemory(); System.out.println("Max:"
+ format.format(max) + ", Total:" + format.format(total) + ",
Free:"+format.format(free)); } }
실행시 아래처럼 JVM의
메모리 값을 서로 다른 양으로 요구 할 수 있습니다. 물론 이전의 강좌에도 있었지만 실행 시 OutOfMemory 오류 발생시에도 적절히
JVM의 메모리 요구량을 조절 하시면 됩니다.
[결과]
D:\Tomcat-Project\JavaApp>java
-Xmx128m MonitorMemory Max:133,234,688, Total:2,031,616,
Free:1,590,304
D:\Tomcat-Project\JavaApp>java
-Xmx64m MonitorMemory Max:66,650,112, Total:2,031,616,
Free:1,590,304
D:\Tomcat-Project\JavaApp>java -Xmx64m
-Xms32m MonitorMemory Max:66,650,112, Total:33,357,824, Free:32,893,104 |
댓글 없음:
댓글 쓰기