yuu_nkjm blog
2011-01-18(Tue) 編集
[Profiler][JVM][Java][Eclipse] Javaのプロファイラ Java VisualVM
Java1.6以降のSDKをダウンロードするとbin以下にjvisualvm.exeというプロファイラが同梱されている.EclipseのTPTPプラグインを使ってたけど,こっちの方が分かりやすかった.
プログラムの監視
- Java VisualVM(jvisualvm.exe)を起動する.
- 監視対象としたいプログラムを起動する.
- VisualVMの左ペインのローカルセクションに,監視対象としたいプログラムが表示されたら,右クリックして「開く」を選択する.
- 監視タブを開くと,CPUやヒープの利用状況を見ることができる.スレッドタブを開くと,スレッドの利用状況を見ることができる.
CPU時間をサンプリングする
- サンプラタブを開く.CPUボタンをクリックするとサンプリングが開始される.
- 適当な時間が経過したあと,スナップショットボタンを押すとサンプリング結果が表示される.
- 監視対象が終了すると左ペインからプログラムが消えてしまうので,適当なタイミングで右クリックメニューから「アプリケーションのダンプ」を選んでおいた方が良さそう.
ヒープダンプする
- 左ペインから,ヒープをダンプしたいプログラムを右クリックし,ヒープダンプを選ぶ.
- ダンプしたファイルは,Eclipse Memory Analyzerプラグインで見るのが良さそう.IBM HeapAnalyzerも試して見たけど,Eclipse Memory Analyzerの方が直感で操作できた.
関連ページ
- 「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その2 - Java技術最前線:ITpro 「Java SE 6完全攻略」管理ツールの集大成 - VisualVM その3 - Java技術最前線:ITpro
2013-01-18(Fri) 編集
[TeX] TeXの文書中にソースコードを記載する
TeXの文書中で,ソースコードを記載したいことがあった.verbatimを使いたかったんだけど,デフォルトの見た目が気にくわない.verbatim環境と他の環境との組み合わせ - Tools & Tips に,verbatim環境のフォントサイズや行間を調整する方法が書かれていたので,使わせて頂いた.
こんな感じでコマンドを定義.
\usepackage{ascmac} \usepackage{fancybox} \newenvironment{cmd} { \VerbatimEnvironment \begin{screen} \footnotesize \def\baselinestretch{.75} \begin{Verbatim} } { \end{Verbatim} \end{screen} }
使う時はこう.
\begin{figure}[t] \begin{cmd} (define (human-player-model-of-first-player self env exec msg) (wait-message-from-player self env exec Provider decide-providing-val) .... \end{cmd} \caption{example} \label{fig:example} \end{figure}