SlideShare a Scribd company logo
1 of 13
Download to read offline
VisualVMの紹介   @tattyamm
このスライドの目的

¡  VisualVMとは何か
¡  何ができるのか
VisualVMとは

¡  アプリケーションの概要を表示する
¡  モニタリングする
¡  JVM上のアプリケーションのプロファイラもできる。

¡  プロファイラとは
  §  アプリケーションの性能を解析する為のツール
     §  CPUを消費しているのはどこ?
     §  メモリを食いつぶしているのはどこ?


¡  Scalaでも使える
  §  ScalaはJavaVM上で動作しているから。

¡  簡単に起動
  §  $ jvisualvm
機能紹介

¡  主なものだけ。
Monitor画面

¡  各種モニタリング
¡  CPU、メモリ、ロードされたクラス数、スレッド数
CPUのSampler画面

¡  プロファイラー。リアルタイムに更新されている。
¡  メソッド名、メソッドの実行時間(%)、メソッドの実行時間




Snapshot
CPUのSnapshot画面  – Hot Spotsタブ

   ¡  メソッド名、メソッドの実行時間(%)、メソッドの呼び出し回数
   ¡  時間がかかってるメソッドが見つけられる。




行を右クリック
     ↓
Find in Call Tree
CPUのSnapshot画面  –Call Treeタブ

¡  どのメソッドがどのメソッドをコールしているか参照できる
MemoryのSampler画面

¡  プロファイラー。リアルタイムに更新されている。
¡  名前、メモリの大きさ(%,Bytes)、インスタンスの個数




                                    Heap Dump
HeapDump画面のClassesタブ

¡  ヒープダンプとは、メモリ内のオブジェクト一覧を取得する事
¡  クラス名、オブジェクトの個数とサイズ




                          行を
                          ダブルクリック
HeapDump画面のInstancesタブ

¡  選択されたクラスのオブジェクト一覧を表示
¡  オブジェクトのフィールド値も参照できる。
まとめ

¡  CPU、メモリのモニタリングが可能

¡  JVM上で動くアプリケーションのプロファイルが可能
参考資料

¡  http://visualvm.java.net/ja/intro.html
¡  http://www.oki-osk.jp/esc/debugtool/visualvm.html
¡  http://itpro.nikkeibp.co.jp/article/COLUMN/
    20090910/336975/

More Related Content

What's hot

MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたMySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたTokuhiro Matsuno
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみたAkira Kaneda
 
Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Naosuke Yokoe
 
Shellを書こう 02 shUnit2を使おう
Shellを書こう 02 shUnit2を使おうShellを書こう 02 shUnit2を使おう
Shellを書こう 02 shUnit2を使おうKeisuke Oohata
 
Shellを書こう 01 Shellcheckを使おう
Shellを書こう 01 Shellcheckを使おうShellを書こう 01 Shellcheckを使おう
Shellを書こう 01 Shellcheckを使おうKeisuke Oohata
 

What's hot (10)

Tips for bash script
Tips for bash scriptTips for bash script
Tips for bash script
 
MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたMySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみた
 
Ruby build
Ruby buildRuby build
Ruby build
 
今から始めるzsh
今から始めるzsh今から始めるzsh
今から始めるzsh
 
Chefについて数週間勉強してみた
Chefについて数週間勉強してみたChefについて数週間勉強してみた
Chefについて数週間勉強してみた
 
Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )Test::QUnit ( YAPC::Asia 2010 zentooo )
Test::QUnit ( YAPC::Asia 2010 zentooo )
 
前期講座08
前期講座08前期講座08
前期講座08
 
Shellを書こう 02 shUnit2を使おう
Shellを書こう 02 shUnit2を使おうShellを書こう 02 shUnit2を使おう
Shellを書こう 02 shUnit2を使おう
 
Shellを書こう 01 Shellcheckを使おう
Shellを書こう 01 Shellcheckを使おうShellを書こう 01 Shellcheckを使おう
Shellを書こう 01 Shellcheckを使おう
 
PhoneGap Introduction
PhoneGap IntroductionPhoneGap Introduction
PhoneGap Introduction
 

Similar to VisualVMの紹介

はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.jsHiroki Toyokawa
 
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Ryo RKTM
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!yoshikawa_t
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2ytanno
 
Capistranoで自動デプロイ
Capistranoで自動デプロイCapistranoで自動デプロイ
Capistranoで自動デプロイtoyoshi
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
JVMの中身を可視化してみた
JVMの中身を可視化してみたJVMの中身を可視化してみた
JVMの中身を可視化してみたKengo Toda
 
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズSORACOM, INC
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリークtorutk
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24Kazuhiro Sera
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugY Watanabe
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発papamitra
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 

Similar to VisualVMの紹介 (20)

はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
Cve 2013-0422
Cve 2013-0422Cve 2013-0422
Cve 2013-0422
 
Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介Play framework 2.0のちょっとした紹介
Play framework 2.0のちょっとした紹介
 
Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!Chrome Developer Toolsを使いこなそう!
Chrome Developer Toolsを使いこなそう!
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 
Hello Java
Hello JavaHello Java
Hello Java
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
2012 kanemotolablecture2
2012 kanemotolablecture22012 kanemotolablecture2
2012 kanemotolablecture2
 
Capistranoで自動デプロイ
Capistranoで自動デプロイCapistranoで自動デプロイ
Capistranoで自動デプロイ
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
JVMの中身を可視化してみた
JVMの中身を可視化してみたJVMの中身を可視化してみた
JVMの中身を可視化してみた
 
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
 
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
 
2012年javaメモリリーク
2012年javaメモリリーク2012年javaメモリリーク
2012年javaメモリリーク
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 

VisualVMの紹介