100% CPU explorer.exe sur Vista après une recherche dans le menu Démarrer

Avec mon Vista, j’avais un problème embêtant et difficile (pour moi) à supporter. De temps en temps j’avais la consommation de mon processeur à 100% sur le processus explorer.exe. Bizarre.

Quand je regardais sur le moniteur de ressources Vista (nouvel outil bien pratique accessible depuis le gestionnaire des tâches), je voyais que le processus explorer.exe qui utilisait 100% CPU, lisait des fichiers sur mon répertoire utilisateur (mon home directory), en particulier mes workspaces Eclipse (plein de petits fichiers java).

Au début, je me suis dit que c’était l’indexation des fichiers, et j’ai donc réduit le périmètre d’indexation pour notamment exclure mes workspaces Eclipse. Mais les 100% CPU continuait, même sur les fichiers exclus de l’indexation…

D’autant que même en utilisation sur batterie (j’ai un portable), j’avais le 100% CPU !

J’ai enfin trouvé la solution.

Continuer la lecture de 100% CPU explorer.exe sur Vista après une recherche dans le menu Démarrer

SAP Memory Analyzer : voilà un vrai outil pour analyser des Heap Dump Java !

Vous avez développé une application JEE, et depuis son passage en production au moins une fois par jour il y a une erreur Java « OutOfMemoryError ». La première réaction a été de dire : mauvaise configuration de la taille maximale de la JVM… vous avez préconisé 1Go de Max Heap Size, cela n’a pas fonctionné, l’erreur OOME arrive encore… Alors on est passé à 2Go… Toujours l’erreur d’OOME… Aie, et que faire…

Quand vous êtes à ce point, vous pouvez être certain que vous avez une fuite de mémoire (memory leaks) quelque part. Oh, ce n’est pas que vous êtes un mauvais développeur 😉 et que vous ne savez pas bien gerer la mémoire, en effet, parfois un problème de fuite de mémoire peut survenir à cause d’une fonctionnalité activée du serveur d’applications de production et qui rentre en « conflit » avec une brique de l’application. (Je citerai un exemple vécu : le cache (activé) JDBC de la source de données WebSphere 5.1 et un framework maison de mapping O/R)

Quand on a un problème d’OutOfMemory, on commence souvent par activer le mode verbeux du Garbage Collector (GC), c’est une très bonne idée, cela permet d’avoir une petite idée sur le déroulement du problème de mémoire (on peut utiliser l’outil Extensible Verbose Toolkit d’IBM pour ce travail, cf références). Cependant c’est insuffisant pour trouver la cause du problème. Quelques recherches sur Internet vous apprennent qu’il est possible d’avoir une image de la mémoire Java avec la génération d’un « heap dump », ensuite il suffit de l’analyser pour trouver la cause de la fuite de mémoire. Facile à écrire, mais dur à faire…

Continuer la lecture de SAP Memory Analyzer : voilà un vrai outil pour analyser des Heap Dump Java !

[Tutorial] Variabiliser un test de charges JMeter

Voici un nouveau tutorial sur JMeter. L’objectif de ce tutorial est montrer comment il est possible de variabliser les données saisies dans un formulaire HTML. C’est-à-dire de faire en sorte qu’à chaque exécution du scénario de tir de charges, les données saisies « changent ».

La variabilisation permet de faire par exemple des tirs de charges orientés « fonctionnels ». On peut ainsi imaginer un tir de charges qui serait plutôt l’exécution de cas de tests d’une application, permettant de vérifier que un traitement fonctionnel est correct. On peut même penser à des tests de non-régressions.

Pour découvrir ce tutorial sur la variabilisation, il faut voir cette page.

Bon courage dans vos aventures JMeter.

Bureautique, nouvelles suites et format ouvert : Des changements ?

Le monde de Word, Excel et Powerpoint est-il en train de changer ? Est ce que les utilisateurs vont-ils enfin employer le terme « traitement de texte » au lieu de « Word » pour parler du logiciel qu’ils utilisent pour leurs documents ?

Depuis quelques temps, des alternatives à la suite Office de Microsoft font parler d’eux :

  • On entend parler d’OpenOffice : à travers une enquête sur le site Journaldunet pour identifier des personnes / structures qui ont migrées vers OpenOffice ; à travers une interview de la responsable francophone du projet ; à travers différents articles d’astuces sur les logiciels composants OpenOffice sur des grands sites web informatiques.
  • On entend aussi parler de Google Apps, c’est plus orientée entreprise ; à travers l’annonce du support de Cap Gemini de cette solution ; à travers son insertion du nouveau module Présentation.
  • Dernièrement, une nouvelle suite, Lotus Symphony de l’éditeur IBM, à travers l’annonce de sa sortie en version gratuite (et bêta et en anglais).
  • On parle toujours de la suite Office aussi. Mais plutôt à travers le prisme de ces nouvelles alternatives, ou bien pour dénoncer l’une des « vaches à lait » de l’éditeur.

Loin de moi de vouloir déterminer quelle est la meilleure solution. L’interrogation est plutôt : Est-ce que ces nouvelles suites vont changer la donne de manière importante ? Ou bien profite-t-elle du vent « format ouvert » qui souffle sur le monde de la bureautique ?

Continuer la lecture de Bureautique, nouvelles suites et format ouvert : Des changements ?

[Tutorial] Faire un test de charges d’un site Web avec Apache JMeter

Apache JMeter est un sous-projet Jakarta de la fondation Apache. C’est un outil permettant de faire différents tests de charges et de mesures de performances sur plusieurs types d’environnements. Allant ainsi du serveur Web au serveur FTP, base de données à travers JDBC, Middleware JMS, annuaire LDAP, connexion TCP, SMTP, etc…

C’est un outil (d’après mon expérience) robuste, fiable et qui sait faire pas « mal de choses », mais malheureusement, bien que l’interface IHM soit graphique (via swing), sa convialité n’est pas son point fort. Parfois pour faire quelque chose, il faut se creuser un peu la tête. Mais qui a dit que l’informatique c’était facile ?

Donc, JMeter peut nous aider si on veut tester la tenue de charge d’un site Web, il peut simuler des « utilisateurs virtuels » (VU) et exécuter en boucle un scénario fonctionnel au préalablement enregistré. Il mesure les temps de réponses du site Web, et permet ainsi d’avoir une idée sur sa tenue en charges.

Je vous propose un petit tutoriel pour apprendre à manipuler JMeter afin de faire un test de charge d’un site Web modèle (ici les servlets d’exemples livrées avec Tomcat 5.5).

La réalisation d’un tir de charges se faisant en étapes, voici le programme :

  1. Introduction

  2. Préparer son scénario fonctionnel

  3. « Jmeteriser » son scénario fonctionnel

  4. Affinage du scénario de tests

  5. Exécuter son scénario de tir de charges

 

A noter, que je compte ajouter d’autres tutoriels / articles autour de JMeter prochainement.

Clients de messagerie : du mouvement

En ce moment, le monde du client de messagerie est train d’entamer un nouveau mouvement. Commençons par un rappel historique : tout d’abord le courrier électronique – ou email – est avec le Web – la navigation sur Internet – l’un des services les plus utilisés depuis que le « début » de l’Internet version « grand public ». A l’époque les webmails – sites web pour consulter et écrire ses mails – n’existaient pas ou peu, on devait avoir sur son poste un « client de messagerie », c’est à dire une application qui relevait le courrier sur le serveur de messagerie et permettait de lire / rédiger des courriers électroniques, puis de les transmettre à son correspondant via une nouvelle connexion à son serveur de messagerie.

Avec ce type de client de messagerie, il était / est donc possible de se connecter sur Internet le temps de récupérer ses nouveaux messages, puis se déconnecter d’Internet. Ensuite la lecture et la rédaction des emails peuvent se faire hors-ligne. Pour finir on se reconnect-ait(-e) sur Internet pour lancer ses envois de mails.

Pourquoi ce mode de fonctionnement à l’époque ? Une raison principale était le moyen de connexion à Internet : c’est-à-dire à travers un modem et une ligne de téléphonique. Donc plus on restait connecté, plus on payait… Continuer la lecture de Clients de messagerie : du mouvement

Les moteurs de recherche de code

On le sait, Google et son moteur de recherche Web est un outil devenu indispensable à tout informaticien qui se respecte. Pour résoudre des problèmes, rien de tel qu’une bonne recherche sur Google pour trouver la cause du problème et sa solution.

Un nouveau type de moteur de recherche est en train de prendre de l’importance dans la vie des informaticiens orientés développement. Ce sont les moteurs de recherche de code. Google dispose du sien, mais c’est Krugle qui semble faire figure de proue aujourd’hui.

A quoi sert un moteur de recherche de code ? Continuer la lecture de Les moteurs de recherche de code

Sortie de Eclipse Europa

La Fondation Eclipse vient de sortir Eclipse Europa. Il s’agit de la mise à jour synchronisée de 21 projets permettant ainsi d’assurer une compatibilité entre les sous-projets d’Eclipse et le socle. Europa désigne donc plus qu’Eclipse et plusieurs déclinaisons d’Europa sont proposées :

 

Chaque déclinaison est composée d’outils adaptés à l’environnement ciblé. Il reste bien sûr possible de faire sa propre déclinaison en téléchargeant individuellement les modules via le mécanisme de mise à jour livré dans Eclipse (socle). Continuer la lecture de Sortie de Eclipse Europa

Le renouveau des navigateurs ?

L’appellation Web 2.0 n’est plus à présenter, mais ne faudrait-il pas aussi ajouter une appellation « navigateur 2.0 » ? Depuis le succès de Firefox face à Internet Explorer, et depuis justement le Web 2.0, on observe que le navigateur Web est devenu un élément central de l’utilisation informatique. AOL, et maintenant Apple l’ont compris. AOL vient de faire renaitre Netscape Navigator, browser des débuts de l’Internet, et Apple vient de sortir la version Windows de son navigateur Safari.

Il y a quelques petites années, seul Internet Explorer régnait en maitre sur la navigation Web, après que Microsoft ait effectué son virage Internet et ‘ecrasé’ Netscape Navigateur en livrant Internet Explorer avec Windows. Mais la donne a changé. Firefox a ouvert la voie avec sa version 1.0. Il a montré qu’un navigateur doit permettre bien sûr de surfer sur Internet, mais en suivant l’évolution de son utilisation par les internautes. Continuer la lecture de Le renouveau des navigateurs ?

Brevets, Microsoft et l’Open source

Cela ressemble à une guerre froide. Microsoft a lancé à travers le magazine Fortune, des menaces contre le monde de l’Open source, en l’accusant de violer 235 brevets de Microsoft. En effet, l’éditeur veut faire payer des royalties aux clients et éditeurs de l’Open source.

On pourrait croire à une sorte de guerre psychologique, qui viserait notamment les clients (end users) de l’Open source. Peut-être qu’ils réfléchiront deux fois avant de basculer vers les logiciels libres : la peur de devoir finalement payer des royalties. Pourtant aujourd’hui, les logiciels open source sont bien à l’intérieur des SI, et également que de nombreuses études montrent que les DSI n’hésitent plus à confier les clés de leurs systèmes « critiques » à des logiciels libres. Continuer la lecture de Brevets, Microsoft et l’Open source