๐ ์ธํ ๋ฆฌ์ ์ด(IntelliJ) - VisualVM ์ค์น ๋ฐ ์ฐ๋ํ๊ธฐ
์๋ ํ์ธ์, ์ด๋ฒ์ ์ ๋ฆฌํ ํฌ์คํ ์ ์ธํ ๋ฆฌ์ ์ด IDE์์ VisualVM์ ์ค์นํ๊ณ ์ฐ๋ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
VisualVM์ ๊ณต์ ํํ์ด์ง์์๋ VisualVM์ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๊ณ ์์ต๋๋ค.
VisualVM is a visual tool integrating commandline JDK tools and lightweight profiling capabilities.
Designed for both development and production time use.
-> VisualVM์ ์ปค๋งจ๋๋ผ์ธ JDK ๋๊ตฌ์ ๊ฒฝ๋์ ํ๋กํ์ผ๋ง ๊ธฐ๋ฅ์ ํตํฉํ๋ ์๊ฐ์ ๋๊ตฌ์ ๋๋ค.
-> ๊ฐ๋ฐ ๋ฐ ์์ฐ ์๊ฐ์ ์ฌ์ฉ์ ์ํด ๋์์ธ์ด ๋์์ต๋๋ค
VIsualVM์ ์ฌ์ฉํ๋ฉด ์๋ ์ฌ์ง์ฒ๋ผ JVM์ CPU ๋ฉ๋ชจ๋ฆฌ, Heap, Thread์ ์ํ์ GC์ํ, Heap Dump๋ฑ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ๋ํด ์๊ฐํ๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ข์ ํด์ ๋๋ค.
์ ๊ฐ ์ฌ์ฉํ๊ณ ์๋ IDE์ธ ์ธํ ๋ฆฌ์ ์ด์์ ํ๋ฌ๊ทธ์ธ์ ํตํด ๊ฐ๋จํ ์ค์นํ๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค.
VisualVM ํ๋ก๊ทธ๋จ ์ค์น
๋จผ์ VisualVM ์ฌ์ดํธ์ ์ ์ํ ๋ค ํ๋ก๊ทธ๋จ์ ๋ฐ๊ณ ์์ถ์ ํด์ ํฉ๋๋ค.
์์ถ์ ํด์ ํ์ ๋ค bin ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ visualvm์ ์ธํ ๋ฆฌ์ ์ด์์ ์ค์ ์ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋์ path์ ๋ณด๊ดํฉ๋๋ค.
์ธํ ๋ฆฌ์ ์ด์์ VisualVM ์ค์นํ๊ธฐ
IntelliJ Preferences(command + ,) > Plugin > VisualVM ์ ๊ฒ์ํด์ ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ๋ค IntelliJ Preferences > Other Settings > VisualVM Launcher ์ค์ ์ผ๋ก ์ด๋ํ์ ๋ค path๋ฅผ ์ค์ ํฉ๋๋ค.
- VisualVM executable: VisualVM์ ์ค์นํ ๋๋ ํ ๋ฆฌ๋ก ๊ฐ ํ visualvm ํ๋ก๊ทธ๋จ์ ์ ํํฉ๋๋ค.
- Custom JDK home path: JDK๊ฐ ์ค์น๋์ด ์๋ path๋ฅผ ์ค์ ํฉ๋๋ค.
VisualVM ์คํํ๊ธฐ
์ธํ ๋ฆฌ์ ์ด๋ฅผ ์ฌ์์ ํ ํ ์๋จ์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ด์ฝ์ด ์๊ธด๊ฑธ ํ์ธํ ์ ์์ต๋๋ค.
๊ฐ๊ฐ Run / Debug๋ฅผ ๋ํ๋ด๋ ์์ด์ฝ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด VisualVm์ด ์คํ๋ฉ๋๋ค.
์ ๋ฆฌ
์ด์์ผ๋ก ์ธํ ๋ฆฌ์ ์ด + VisualVM์ ์ค์น์ ์คํ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌ๋ฅผ ํด๋ณด์์ต๋๋ค.
์ด์ ์ GC๊ฐ ์ํ๋๋์ง ํ์ธํ๊ธฐ์ํด ๊ฐ๋จํ ์ฌ์ฉํด ๋ณธ ์ ์ด ์์๋๋ฐ์, ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ํ ์คํธ์ ์ข์ ๋๊ตฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ถํ์๋ ๊ฐ์ ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋์๋ GC ์ํ๊ณผ ๊ด๋ จํ ํ ์คํธ๋ฅผ ์งํํ ํ ํฌ์คํ ์ ์ฌ๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐
'๊ฐ๋ฐ ์ค์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ ๊ฐ์ ํ์ผ ๋น๊ตํ๊ธฐ(IntelliJ, Mac) (2) | 2021.12.28 |
---|---|
์ธํ ๋ฆฌ์ ์ด(IntelliJ) - ๋๋ฒ๊น (Debugging) ํ๊ธฐ (2) | 2021.10.10 |
MacOS iTerm zsh - alias ์ค์ ํ๊ธฐ (1) | 2021.07.04 |
IntelliJ(Ultimate) + Thymeleaf Live reload(์ค์๊ฐ ๋ฐ์)์ ์ฉํ๊ธฐ (4) | 2021.06.14 |
์ธํ ๋ฆฌ์ ์ด(IntelliJ) ์ ์ฉํ ํ๋ฌ๊ทธ์ธ(Plugins) & ์ด๊ธฐ ์ค์ (0) | 2021.05.05 |
๋๊ธ