background preloader

Java HotSpot VM Options

Java HotSpot VM Options
Please note that this page only applies to JDK 7 and earlier releases. For JDK 8 please see the Windows, Solaris, Linux and Mac OS X reference pages. This document provides information on typical command-line options and environment variables that can affect the performance characteristics of the Java HotSpot Virtual Machine. Unless otherwise noted, all information in this document pertains to both the Java HotSpot Client VM and the Java HotSpot Server VM. Categories of Java HotSpot VM Options Standard options recognized by the Java HotSpot VM are described on the Java Application Launcher reference pages for Windows and Solaris & Linux. Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK. Some Useful -XX Options Default values are listed for Java SE 6 for Solaris Sparc with -server. The options below are loosely grouped into categories. Behavioral Options Related:  Java TroubleshootingMinecraft

Audit des performances d'une application en Java EE Si les tests de charge n'ont pas été concluants, il va falloir chercher d'où vient le problème. Pour cela il existe un certain nombre d'outils. Les problèmes possibles sont ici regroupés avec une solution possible et comment le détecter. Avec le test de charge on a pu avoir des temps de réponse de manière globale, il est temps de regarder de manière plus précise. A l'aide du profiler, on va pouvoir calculer pour chaque package/class/méthode/... du programme : le temps d'exécution; le nombre d'utilisations. Il faudra chercher à optimiser les parties : ayant le plus grand temps d'exécution et utiliser un certain nombre de fois; utilisées de nombreuses fois. Il faut faire attention, un temps d'exécution d'une méthode peut être long car il est en attente de quelque chose (par exemple le résultat d'une requête SQL) et dans ce cas là, la partie à optimiser est la requête SQL et non la méthode en elle-même. Pour augmenter les capacités hardware, on peut : Si lors des tests de charge on détecte :

Java EE at a Glance Oracle Technology Network > Java Software Downloads View All Downloads Top Downloads New Downloads What's New Java in the Cloud: Rapidly develop and deploy Java business applications in the cloud. Essential Links Developer Spotlight Java EE—the Most Lightweight Enterprise Framework? Blogs Technologies Contact Us About Oracle Cloud Events Top Actions News Key Topics Oracle Integrated Cloud Applications & Platform Services Patent troll Un article de Wikipédia, l'encyclopédie libre. Un patent troll, (en français « chasseur de brevets » ou « troll des brevets »[1]) est, dans le domaine de la propriété intellectuelle, et plus précisément dans celui de la concession de licences (Licensing), le nom donné à une société ou à une personne physique, qui utilise la concession de licence et le litige de brevets comme principale activité économique. Cette notion fait aujourd'hui l'objet de nombreux articles universitaires, ce qui s'accompagne d'un usage de plus en plus fréquent par les cours de justice[2]. Étymologie[modifier | modifier le code] La dénomination patent troll a été utilisée dès 1993 pour décrire les entreprises qui intentent de multiples procès pour violation de brevet[3]. L'expression a été popularisée par Peter Detkin en 2001 lorsqu'il travaillait pour Intel[4]. Activité[modifier | modifier le code] pour ses détracteurs[modifier | modifier le code] pour ses défenseurs[modifier | modifier le code]

How to get java thread dump Опции JVM. Как это работает С каждым днем слово java все больше и больше воспринимается уже не как язык, а как платформа благодаря небезызвестному invokeDynamic. Именно поэтому сегодня я бы хотел поговорить про виртуальную java машину, а именно — об так называемых Performance опциях в Oracle HotSpot JVM версии 1.6 и выше (server). Потому что сегодня почти не встретить людей, которые знают что-то больше чем -Xmx, -Xms и -Xss. В свое время, когда я начал углубляться в тему, то обнаружил огромное количество интересной информации, которой и хочу поделится. Отправной точкой, понятное дело, послужила официальная документация от Oracle. А дальше — гугл, эксперименты и общение: -XX:+DoEscapeAnalysis Начну, пожалуй, с самой интересной опции — DoEscapeAnalysis. Про то, как работает сам алгоритм можно прочитать тут (PDF). Следует уточнить, что на стеке создается не сам объект а его поля. Вполне очевидно, что благодаря такого рода анализу, производительность отдельных частей программы может возрасти в разы. -XX:+AggressiveOpts

Memory Analyzer (MAT) : pistons les fuites mémoire Alors que l’on nous a toujours expliqué que Java s’occupait tout seul du nettoyage des objets inutilisés avec son Garbage Collector, tous les développeurs ont un jour, sur l’un de leurs projets, découvert qu’ils pouvaient faire une fuite de mémoire avec comme sentence le fatal : OutOfMemoryException. Cette erreur est d’autant plus difficile à analyser que les développements ne se font plus de zéro mais sont souvent l’accumulation de différents frameworks le tout étant déployé dans un serveur d’applications. Heureusement pour nous, des outils existent pour y voir plus clair, Optimize It a été l’un des précurseurs, les plus connus actuellement sont YourKit, JProfiler ou JProb Ce sont des produits commerciaux de qualité, mais les développeurs n’ont pas toujours la possibilité de les avoir. Et dans le monde du gratuit ? Découverte de Memory Analyzer Malgré cette jeunesse, le produit est déjà riche en fonctionnalités, il apporte des fonctionnalités intéressantes : Récupération du dump

ScriptingListener - JBoss Community The ScriptingListener Service The ScriptingListener service was introduced in JBoss v4.0.3. The idea is that there can be cases that we want to react to some JMX notification, in a way this should not be hardcoded. For example we want to receive a notification and map it to another notification, log the original notification, apply complex logic to decide if a combination of facts constitutes an alarm, get an mbean attribute from a 2nd mbean and do something with it, call an operation onto a 3rd mbean, etc. Combining the ScriptingListener with a simple JMX Timer (configured through the TimerService to produce TimerNotification notifications at regular intervals) you can essentially achieve a polling effect. periodically to apply arbitrary scripting logic (e.g. perform cleanup tasks, log stuff, monitor a set of attributes). The ScriptingListener uses the Bean Scripting Framework (BSF) library to execute a script in any of the scripting languages that can hook up to BSF (e.g. by the ScriptingListener.

Tomcat - Shutdown port On a new installation of Tomcat (default config files), you'll notice that your server.xml file is set up with a shutdown port of 8005, and shutdown="SHUTDOWN". What does this mean? It means that anyone who contacts the server locally on port 8005 and send it the words SHUTDOWN can cause Tomcat to close out all its web applications and shut down cleanly. If your Tomcat server allows anyone except the administrator to log in with a shell, then I strongly suggest you change shutdown="SHUTDOWN" to shutdown="waSS-I41tis" so that at least it won't be a string that any hacker can guess. waSS-I41tis => "what a STUPID SYSTEM - I for one think it's silly" (written 2006-08-18) Associated topics are indexed as below, or enter for individual articles A654 - Web Application Deployment - Configuring and Controlling Tomcat [3043] Gathering information - logging - with log4j. Some other Articles

How to Tune Java Garbage Collection This is the third article in the series of "Become a Java GC Expert". In the first issue Understanding Java Garbage Collection we have learned about the processes for different GC algorithms, about how GC works, what Young and Old Generation is, what you should know about the 5 types of GC in the new JDK 7, and what the performance implications are for each of these GC types. In the second article How to Monitor Java Garbage Collection I have explained how JVM actually runs the Garbage Collection in the real time, how we can monitor GC, and which tools we can use to make this process faster and more effective. In this third article based on real cases as our examples I will show some of the best options you can use for GC tuning. Is GC Tuning Required? Or more precisely is GC tuning required for Java-based services? The memory size has been specified using -Xms and –Xmx options.The -server option is included.Logs such as Timeout log are not left in the system. Decreasing Full GC Time 1. 2.

Improving your Minecraft server’s performance Understanding how your server ticks underneath can be helpful when diagnosing problems regarding slow performance. We’ll cover several topics. An overview of the game logic loopHow this all applies to modded serversAn explanation of transient problemsA guide to profiling your serverA macro-view of improving performance The game logic loop The most important part of Minecraft is the game loop. Quite a few things are on the to-do list, but as far as the “main game elements” go, those items are blocks, entities, and tile entities. Usually on an un-loaded server, it works out and you have a nice slice of idle time, but what happens when it doesn’t “work out?” Fundamentally, the problem is that of “too many items” with “each item taking 10 nanoseconds too long.” Reduce the number of entities and blocks loaded at any time.Optimize the code for each block or entity to do more in less time. Reducing numbers How do you go about reducing numbers? Unload chunks more often and more reliably.

Détecter et corriger les fuites mémoire java - Blog de David MASCLET La gestion de la mémoire en Java La JVM dispose de plusieurs zones mémoire distinctes : La pile (ou heap), est l'espace mémoire où tous les objets et tableaux sont stockés. Cas des champs statiques : Les champs statiques ne peuvent être garbage collectés tant que la classe qui les référence est chargée. il ne peuvent être garbage collectés que lorsque le class loader qui est responsable du chargement de la classe est lui même garbage collecté. Chaque instance de classe a une taille en mémoire, cette taille appelée "Shallow Heap" est constituée de types primitifs (int, char, ...). Tous les graphes disposent d'une racine d'attache, ces racines peuvent être, par exemple, des threads ou des class loaders qui tiennent des références sur les attributs statiques. Les références peuvent être de plusieurs types. Empreinte de la mémoire (Heap dump) Ces dumps contiennent : Tous les objets : champs, références, et objet primitifs.Toutes les classes : Class loader, super Class, champs statiques .

Related: