<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>Benjamin Cabé &#187; Java</title> <atom:link href="http://blog.benjamin-cabe.com/category/java/feed" rel="self" type="application/rss+xml" /><link>http://blog.benjamin-cabe.com</link> <description>Eclipse, les oiseaux et ta mère</description> <lastBuildDate>Mon, 24 Oct 2011 19:11:26 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Identifier le deadlock d&#8217;une application Java</title><link>http://blog.benjamin-cabe.com/fr/2009/01/28/identifier-le-deadlock-dune-application-java</link> <comments>http://blog.benjamin-cabe.com/fr/2009/01/28/identifier-le-deadlock-dune-application-java#comments</comments> <pubDate>Wed, 28 Jan 2009 10:58:35 +0000</pubDate> <dc:creator>Benjamin Cabé</dc:creator> <category><![CDATA[Eclipse]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[deadlock]]></category> <category><![CDATA[jvm]]></category> <guid
isPermaLink="false">http://blog.benjamin-cabe.com/?p=220</guid> <description><![CDATA[Le wiki Eclipse détaille très clairement la procédure pour obtenir un dump de la JVM au moment précis où celle-ci semble soit complétement bloquée, soit tombée dans un mode dans lequel un thread s&#8217;est emballé et occupe 100% du CPU&#8230; Pour faire court, si vous avez un JDK 1.6 ou supérieur, il ne vous faudra [...]]]></description> <content:encoded><![CDATA[<p><img
style="float:right; margin-left:2em;" title="lock" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/01/443924168_7e6a6d55bb_m1.jpg" alt="lock" width="168" height="240" />Le <a
href="http://wiki.eclipse.org" target="_blank">wiki Eclipse</a> détaille très clairement la <a
href="http://wiki.eclipse.org/How_to_report_a_deadlock" target="_blank">procédure pour obtenir un dump de la JVM</a> au moment précis où celle-ci semble soit complétement bloquée, soit tombée dans un mode dans lequel un thread s&#8217;est emballé et occupe 100% du CPU&#8230;</p><p>Pour faire court, si vous avez un <strong>JDK 1.6</strong> ou supérieur, il ne vous faudra que quelques secondes pour obtenir un état de la pile, puisqu&#8217;il suffit d&#8217;exécuter :</p><ul><li><strong><span
style="font-family: courier new,courier;">jps</span></strong>, afin d&#8217;obtenir le PID de la JVM qui vous intéresse</li><li><strong><span
style="font-family: courier new,courier;">jstack &lt;pid&gt;</span></strong>, pour obtenir le dump sur la sortie standard</li></ul><p>Avec une version de JDK plus ancienne, il faut avoir lancé la JVM (de Sun&#8230;) avec l&#8217;option <span
style="font-family: courier new,courier;">-Dcom.sun.management.jmxremote</span>. Cela permet de s&#8217;y connecter par la suite avec l&#8217;outil <strong><span
style="font-family: courier new,courier;">jconsole</span></strong>. Bien qu&#8217;assez peu contraignante, cette pratique a tout de même l&#8217;inconvénient d&#8217;obliger à savoir à l&#8217;avance que l&#8217;application va tomber dans un deadlock, ce qui n&#8217;est pas toujours le cas&#8230; <img
src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p><p>Si vous êtes <strong>sous Linux</strong>, vous avez gagné puisque quelle que soit votre version de Java, un <strong><span
style="font-family: courier new,courier;">kill -3 &lt;pid_JVM&gt;</span></strong> fonctionnera à coup sûr !</p><p>Le wiki détaille d&#8217;autres procédures, et notamment comment s&#8217;y prendre si l&#8217;on veut obtenir le dump d&#8217;une application à distance.</p> ]]></content:encoded> <wfw:commentRss>http://blog.benjamin-cabe.com/fr/2009/01/28/identifier-le-deadlock-dune-application-java/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
