VisualVM에 JVM 인수를 어떻게 제공합니까?


97

JDK 1.6.0_26의 VisualVM을 사용하여 Tomcat에서 실행되는 Java 웹 응용 프로그램을 프로파일 링하고 있지만 VisualVM은 종종 스냅 샷을 찍고 Netbeans에 더 많은 메모리를 제공하기 위해 -Xmx 스위치를 사용하는 데 충분한 메모리가 없다고 말합니다. . 문제는 Netbeans 외부에서 VisualVM을 실행하고 있는데 어떻게 jvisualvm.exe에 JVM 인수를 제공 할 수 있습니까?

답변:


139

메모리 설정을 수정할 수 있어야합니다. %JDK_HOME%\lib\visualvm\etc\visualvm.conf

XmsXmx에있는 default_options라인.


2
On (my copy of :) OSX : /System/Library/Java/Support/VisualVM.bundle/Contents/Home/etc/visualvm.conf
Jonas N

@Zack 할 수 있습니다는 것을 확인 -J-Xms하고 -J-Xmx올바른 옵션 이름이 실제로? 는 IS -J이이 conf의 파일에 지정된 경우 접두사가 필요?
GreenGiant 2013

@GreenGiant 나는 그들이인지 아닌지 확실하지 않습니다 ... visualvm.conf의 내 사본에서 -J-Xms24m&가 -J-Xmx256m있으므로 올바른 옵션 이름이라고 가정합니다. 당신은 아마 ... 추가 정보를 원하시면 visualvm.conf 서식을 지정하는 방법 구글 수
잭 컴버에게

@Zack 내 conf 파일도 동일합니다. 답변에 -J접두사가 포함되지 않았으므로 확인하고 싶었습니다 .
GreenGiant 2013

참고로 Linux (Mint, 아마도 Ubuntu도 가능)에서는 /usr/lib/jvm/java-6-sun/lib/visualvm/etc/visualvm.conf.
David Moles

53

또는 이것도 작동한다고 생각합니다.

jvisualvm.exe -J-Xmx512m (또는 필요한 금액)

일회성 설정의 경우 .exe 명령 줄의 -J 또는 기본값 변경을위한 다른 답변에 기록 된 .conf 파일


나는 이것을 작동시킬 수 없었다. jvisualvm.exe -J-Xms256m -J-Xmx1024m명령 프롬프트에서 시도한 결과 프로세스를 검사 할 때 인수가 적용되지 않았 음을 알 수있었습니다.
Mike Partridge 2012 년

3
나는 그것을 시도했고 그것을 추가하는 것처럼 보입니다. 나는 기본 192m와보고 있어요 그래서 또한 1,024m의 또 다른 항목을. 후자가 우선하는 것 같습니다. 어떤 버전의 JDK?
Kevin Welker 2012 년

1.6.0_26을 사용하고 있습니다. JConsole을 사용하여 VisualVM 프로세스를 검사 할 때 VM 요약 탭의 VM 인수 섹션에는 기본값과 내가 제공 한 값이 표시되지만 VisualVM을 사용하여 자체 검사 할 때는 개요> JVM 인수에서 기본값 만보고합니다.
마이크 파트 리지

1.6.0_20을 사용하고 있는데 Xmx를 나열하는 두 줄이 있습니다. 첫 번째는 기본값이고 후자는 새 값입니다. 확실하게하기 위해 위의 주석에서 직접 명령 줄을 복사했습니다. 개요> JVM의 출력에는 다음이 포함됩니다.-Xms24m -Xmx192m -Dsun.jvmstat.perdata.syncWaitMs=10000 -Xms256m -Xmx1024m
Kevin Welker 2012 년

31

나는 시작했다

jvisualvm -J-Xms1024m -J-Xmx2048m

그리고 그것은 작동했습니다.


.conf 파일의 위치가 변경되었지만 여전히 작동하고 아마도 다른 Java 프로그램에서 작동 할 것이기 때문에 이것을 좋아합니다. 위의 주석과 달리 Mac 사용자는 찾기 어렵지 않습니다. 세상은 우리를 여기로 데려 오는 Google을 사용합니다.
George Co

아래 주석에서 언급했듯이 jvisualvm 내부에서 VM 인수를 볼 때 작동하지 않는 것처럼 보이지만 작동합니다. 더 이상 OOM 오류가 발생하지 않습니다.
George Co

23

Mac에서는이 파일을 편집하여 구성 할 수 있습니다.

/Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf

visualvm_default_options="-J-client -J-Xms4096m -J-Xmx5120m -J-XX:+IgnoreUnrecognizedVMOptions -J-Dnetbeans.accept_license_class=com.sun.tools.visualvm.modules.startup.AcceptLicense -J-Dsun.jvmstat.perdata.syncWaitMs=10000 -J-Dsun.java2d.noddraw=true"

해결책에 초점을 맞추 십시오 . 메타 정보를 추가하려면 댓글로 작성 해주세요.
Martijn Pieters

그리고 질문 태그 windows를 사용 하면 Mac 사용자가 답을 찾기가 어려울 것입니다. 어쨌든 그것을 새로운 질문으로 만드는 것을 고려하십시오 .
Martijn Pieters

나는이 게시물에 투표하지 않았으므로, 결론을 내리지 마십시오.
Martijn Pieters

이 답변을 불필요하게 편집하는 이유는 무엇입니까? 더 많은 평판을 얻으려면? 대답은 이미 집중되어 있었고 분명했습니다 . BTW, 당신의 편집 각각에 대해 나는 다운 등급을 받고 있습니다!
aspdeepak

2
나는했습니다 하나 여기에 편집, 내가 그렇게 왜 취소했다. 태그로 Windows 사용자를 대상으로하는 질문에 Mac 전용 답변을 추가하고 싶다면 괜찮지 만 메타 정보는 제외하십시오. 게시물에는 투표 조언이 아닌 솔루션 만 포함되어야합니다.
마티 피에 터스

2

Mac OSX 10.12 이상

https://visualvm.github.io/download.html 에서 visualvm dmg을 다운로드 하고 디렉토리 로 이동 한 경우 . 위치 에서 구성 파일을 찾을 수 있습니다 . 이 구성 파일에서 다음을 변경할 수 있습니다.Applicationsvisualvm.confApplications/VisualVM.app/Contents/etc/visualvm.conf

visualvm_default_options="-J-client -J-Xms24m -J-Xmx256m

to (예)

visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048m


내 Mac에서는 /Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
Kranach
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.