实例介绍
JProfiler入门教程.pdf 适合于初步使用的人 开发人员 参考
JProfiler71.2使用教程赵磊201208-07 八、创建监祧远程τ mcat的工程(非等待模式)..… 25 九、创建监视远程Java程序的上程 D普,,, .25 JProfiler71.2使用教程赵磊201208-07 一、 JProfiler介绍 J P rofile是一个非常优夯的的ⅣM分析工具,可监视本地和远程的JM,适用于各种操作系统。 常用的功能有 1、监视堆内存占用情况和创建对象实例的数量找出内存泄露 2、监视占用CPU较多的方法 3、监视线程的阻塞与死锁 4、监视GC的耗时。 监视本地丿VM( Windows): 需要安装 JProfiler windows版本 监视远程的』M( Linux) 客户端需要安装 JProfiler windows版本 服务需要安装 JProfiler linux版本 客户端与服务端通过 socket通信 JProfiler软件下载地址 http://www.ej-technologies.com http://www.ej-technologies.com/download/jprofiler/files.html (不需要注册就可以下载 本文以」 Profiler7.1.2为例进行讲解。 、启动 JProfiler7 21 Quick Start菜单 每次启时弹出“快速启动”菜单,它的不重要,可以关闭它。“快速启动”菜单能实现的功能在后面的 Srart center 菜单中都可以实现。 在菜单的第一选项就是示例工程和你以前保存过的工程 Quick Start Quick Start what do you want to profile? Q;A王m。10m0.,男d.票10 If you want to check ott .Profilers features, *o1 A locally running JVM, w=thout restarting it have te configure a prc filing 究需1rf1"究t2Fraf11 O An application server, locally or remotely with several pre-confiaured demo SEsSa o An application on a rem ⊥≈ cting this op:rw】 LL show o A Java Web Start applica:ion the start renter n the nect behivior if the quick start O An apple: running in s browser La1agi西 disabled 回shw如 uick Start it startup ot.A1 W1 Ercs are =va11h1 s from th"S唾sin” memu and fr om th"』 2V 5851 01L"tab H JProfiler71.2使用教程赵磊201208-07 22 Srart center菜单 221 Srart Center-> Open Session菜单介绍 主菜单-> session-> Srart Center是创建与管理监视项目的总入口,是最常用的功能。如下图 aI Animated Bezier Curve Demo-JProfiler 7.1.2 Session View Profiling G oo Noon Help 日多國潺岛②的口|◎ s Stop Masahet port Fnn Go d Record record start 〓1 是 和 IracliaF Sctting Settis 每次打开,默认展示的是第一个选项卡“ Open Session”。在菜单的第一选项卡“ Open session”中是示例工程 和你以前保存过的工程。如下图: e JProfiler Start Center Start Center Open sessi on Iew Session Convert Session Open Snapshots Available session confi gurati ons A Animated Bezier Curve Demo 同 olet Demo Fishm orld) 白带的示例 Apache Tomcat6.zan我本机 Q Help Start Close 其中 Animated是一个监视 Swing动画的演示、JDBC是一个监视JDBC的演示、 Applet是一个监视网页小程序 演 222使用 JProfiler自带的示例演示内存泄露和线程阻塞 我们来演示内存泄露和线程阻塞,主菜单-> session-> Srart Center-> Open Session窗口中,选第一个示例项目 Animated beaier curve demo,点击 Start按钮,在下一个窗口中都使用默认值,按oK按钮。这时示例程序就开始运 行了,你就可以监视JⅥM的状态了。并且可以手动控制是否开始模拟内存泄露,和模拟线程阻塞的情况。 运行起米后情况如下图: JProfiler71.2使用教程赵磊201208-07 E Animated Bezier Curve Demo-JProfiler 7.12 Session View Profiling Go To Window Help @日→國岛口◎ 品 Nerr ory poolE ap 0:0C 0210695101 Animated Bezier Curve Demo-JProtiler 7.1.2 ava 2D(IM)JEmo-BezierAnim Dr aw Cuite Fill Chute S: mulate block:ng E Longrurming talc on EDT froh " he PRofil VM Telemetry VieWs Free siz;11,领MB■ Used siz;4.3M ts Secord:1: hroughput岛 ▲P如t-at:2:(123@r:1g 在下图中有前两个复选框,可以模拟内存泄露,线程阻塞的情况。 Leak memory:模拟内存泄露 Simulate blocking:模拟线程阻塞 Java 2D(TM)Demo- Bezier Anim Leak memory ■ Draw choice■ Fill Choice回 Simulate blocking FLong-rurning tasks on EDI JProfiler71.2使用教程赵磊201208-07 2.221监视堆内存的增长情况 经过长时间的运行,发现如下图的情况: 下图:前半部分是模拟内存泄露,后半部分是关闭了模拟内存泄露。可发现内存泄露时Heap内存呈增长趋势。可 在大方向上发现存在内存泄露,但不知是具体原因什么引起的 T y 10 30 s:n 3a1 5盖1 H悟a1kr cPU冒E 1r电 100颤E 圆cntr1:宙 发生了泄露 正常 丁y电 e HE是Frob Fr面i王:4484 放大缩小功能很常用一月 Meaarx Rawrdsd Objets Bearded Throughput c setivity Cluses ThecPu Lead 量 overhead hot trot 宁即 Meto tpdat:.t 50:30 G Profiling 2222查看内存中对象的实例数量 点击如下图的菜单,可以开始查看内存中对象的实例数量 a Animated Bezier Cu Session view profiling t是工 S: Memory Views 查看内存中对象的实例数量,找出不能被回收的对象。经过长时间的观察,下图中的 Hash MapsEntry实例数量 JProfiler71.2使用教程赵磊201208-0 一直在增长,最早时 HashMapsentry数量是1万左右,现在是16万多。可以断定就是它没有被释放。 不一定数量最多的实例就是泄露,要根据业务情况分析。如果1个用户登录操作数据库,创建了一个连接,用户退 出后,这个连接实现数量没有-1(你开发时设计的会-1),就正明发生了泄露。 可以通过包名过滤,只显示你开发的类,这个功能是非常有用的。 Atgrwratinm level:clase atil Masastsury ,2 飞,G山Path 2 44题 wwa lne Lent 号.2络 1.79 jaa1 anc object【 58题 5 iava. lung String 329B har【 14收 jF.L【 AffIsEIFEItErE 13 sv≌24PE+ 93 n【 16M sun fent. Truein74Fa4Darecttrytntry 5晒 16 j集1 une Inter 32 LES 4 的ac=m: 名鱼 Tall s 的.s 52.54 F1t:Pakt,a垂 按包名过滤 ?节Ft国 4l10j444 Fecwrdtd Objeets Anleeatian Call Ire allocation Nat Spatr aur Tracker 査看实例数量增长趋势图1: Atretataes level: CLasses 工nt山nc些c收n v,日t1.1 asHeRY byte[ J Show Selection In Heap Walker float[ I Add selection to class track H动Pa1kr ava.lane L jv.t,《0. GneralFath EShow Source java. lang String char[ I sun. font Truetype entsDirectoryEntry ! 鼠标右键,打 Show Bytecode 单,可以新窗 0 Mark Current values 1RN iava. lang Objeet[ I 口中,进一步查 shortt 1 这个类创建实现的 Remove Mark 情况 ava. atal Hashish+sEntry ort classes IwdV垂画 jv,at, Rectan已l g3 Find Ctrl+F com.jprofiler agent. util.E ES_E Export View TriTe j。v:,ngE,M他后 sunjawa24 pipe Begion Monitor vitas 0L View Settings Ctrl+T ava. util. HashMapSEntry[ jawa. atil. MashMlap ■1,012 jv1ng工ntF JProfiler71.2使用教程赵磊201208-07 查看实例数量增长趋势图2 a Animated Bezier Curve Demo-JProfiler 7.1.2 Session View Profiling Go Tc Window Help 日國岛导 manihot Eport Fan cr hdd Feccrd record star t Bcolark MmcIy CIT Iracliis Settin settiNg Objects:All objeets Show:@ javs util. HasHMaPsEntry M MIL r mln Heap Walker 0,00 ● 6o,000 50,.00 L上UV1∈W三 去△A M [hr=adVL色 20.0 增长趋對据,直呈 10.000 Monitor Vies Class java. u:il HashMap SEntry: 54, 819 WM Telemetry Tiews 111 Objects Recorded Objects Allccation Call Tree Allocati cn Hot Spots Class Tracker ‖▲◆中‖ Auto-update吕s Profiler.g JProfiler71.2使用教程赵磊201208-07 2223查看实例被谁引用 在左侧的主菜单,选 Heap Walker,并点相机图标开始。 在卜图中,叮以通过鼠标右键打开快捷菜单,选择 Use selected instances ad Animated Re]ier Curve Demo-lProfiler 7.1.2 ession View Profiling Go To Window Help 园@回多國屏勖当囟口||圖|缌 Start Hdd Ecord Ecord irport in TenteR SApsHo t Rolark Emory CH TrackinrSettiIEs SettinGs Balpsnapsho t Current object set: 122799 objects in 761 classes, 69534 array L selecti on step, 10 ME shallow size Memory views ·e、 回到起点,使用这个 ame 工 mstance count Heap Walker java util. HashMapSEntry eva. lang Lo Use selected Instances byte[ 1 鼠标右键菜单中选择一 Use Selected java. lang Class Objects cPuⅥi ews java. awt. geom. GeneralPath Show source ava. lang String a Show Bytecode sun. font. TruelypeFcntsDirectoryEntry Scrt classe Thread views java util. Hasht ablE$Entry 2 Aa Find com. jprofiler agent. util. B BS_B 1 [ 1, 032 Export Vew java util. IrccMapsEntr 863 Moni tor w色s Java.ut il HasHMap[ |623 View Settings yulil slma 162 4, BL0 by les java. lang ref Weakeference 14,448 bytes java.lang String[ 1 520 17,46byte5 WM Telemetry vlews SoftEn Md6 A5-21 lection step 1: All objects after full Go 122799 objects in 761 clis=45, 69534 arr JEE Probes H Allocations a Biggest Objects Rafer ences ▲◆宁 【实例截图】
【核心代码】
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论