Aller au contenu | Aller au menu | Aller à la recherche


jeudi 22 septembre 2011

CentOS + Tomcat + beaucoup d'ouvertures de fichiers = java.net.SocketException: Too many open files

ExceptionTout est dans le titre !!! Comme d'habitude, c'est plus un pense-bête qu'un véritable article ... si ça peut aider ...

J'ai eu une surprise ce matin sur un serveur client de constater cette erreur :

java.net.SocketException: Too many open files


C'est un serveur sous CentOS 5.5 hébergeant un serveur MySQL, un serveur tomcat avec plusieurs Webapps, un serveur Apache et enfin un serveur propriétaire qui utilise pas mal de socket et a une base de donnée en interne ...

Cocktail génial pour visiblement dépasser la limite par défaut du système s'élevant à 1024 que l'on obtient en faisant un :

ulimit -n

Il y a 2 valeurs possibles à modifier, celle présente dans le fichier /proc/sys/fs/file-max par défaut, celle-ci est assez élevée (plus de 64000). Au besoin il faut modifier la ligne suivante :

...

fs.file-max = 64000

...

Si (comme tel était mon cas) la valeur de ce fichier est plus élevée, il reste à ajouter une entrée au fichier /etc/security/limits.conf :

user         -          nofile          8192

ou

@group         -          nofile          8192

La première colonne désigne l'utilisateur ou le groupe (grâce à @) ou encore n'importe qui grâce à *.
La seconde colonne, on détermine si la limite est soft ou hard, ou les 2 grâce à -.
La troisième colonne indique sur quel paramètre cette configuration s'exécute, ici nofile correspond au paramètre open files retourné par ulimit.
Enfin la dernière colonne indique la valeur.
Dans mon cas, j'ai rajouté :

@tomcat         -          nofile          8192
optitime           -          nofile          8192

Il est indiqué sur la documentation Red Hat de redémarrer le serveur pour que cela prenne effet. La solution peut consister à relancer le ou les services concernés ainsi que les sessions utilisateurs.

Voilà, en espérant que ça puisse aider et surtout m'éviter de rechercher cette information à nouveau ;) !

À lire également :

mercredi 17 août 2011

Les planètes su Système Libre

Bonjour à tous !

Je commence à avoir pas mal de liens que je garde dans un pauvre fichier texte ! Je n'ai pas encore pu m'installer une instance de Firefox Sync sur mon Nas, alors je ne déroge pas à la règle du cordonnier le moins bien chaussé !

Bref, tout ça pour vous annoncer une nouvelle catégorie sur mon blog ou je compte partager ces liens accumulés au fil des années ... C'est parti !!!

Un des outils dont je raffole particulièrement, c'est le planet ! Petit rappel de ce qu'est un planet grâce à Wikipédia :  http://fr.wikipedia.org/wiki/Planet

PlanetVoici une liste de planets forts intéressants pour tous libristes et/ou intéressés par l'informatique en général ! On y trouve souvent des sources qui nous donne envie de réaliser des projets qui nous inspirent et ça, c'est ce que je préfère dans ce domaine !!!

Totalement fan de ce concept, Communauté-SLA.org a très vite découvert un nouvel outil : son propre planet, source unique d'actualité concernant la SLA (Sclérose Latérale Amyotrophique ou maladie de Charcot).

Voici la liste :

Planets Général

Planets Distributions
Planets Basede Données
Planets Logiciels Planets Programmation
Cette liste n'est pas exhaustive, complétez-là et partagez-là ;) !

À lire également :

lundi 11 juillet 2011

Erreur lors de l'installation d'Eclipse sous CentOS 5

Bonjour à tous,

Ce matin en voulant rejouer un bug de notre solution d'optimisation et de planification de techniciens mobiles (Opti-Time RMS et GOS). J'ai eu besoin d'installer un environnement de debug sur une CentOS 5 Server. D'ailleurs, vous aurez remarqué (ou pas) que le site Internet d'Opti-Time est flambant neuf !! Et sous Drupal ! Le libre s'installe de plus en plus chez nous et ce n'est pas pour me déplaire !

J'ai d'abord dû installer une interface graphique :
su -lc 'yum groupinstall "X Window System" "Environnement de bureau GNOME"'

Puis vient le moment d'installer Eclipse : su -lc 'yum install eclipse-platform' Hors en voulant installer le paquet 'eclipse-platform' j'ai obtenu l'erreur suivante :

Missing Dependency: /usr/bin/rebuild-security-providers is needed by package java-1.4.2-gcj-compat-1.4.2.0-40jpp.115.x86_64 (installed)

En effet, il se peut qu'au niveau de mes dépôts, entre EPEL, CentOS Plus et surtout ceux d'Opti-Time, il y ait des petits soucis au niveau de java ... même si je ne vois pas trop où ... par soucis d'efficacité, je n'ai pas chercher à comprendre !

Voici la solution détaillée : JPackage jpackage-utils compatibility for CentOS 5.x , sinon vous pouvez tout simplement faire ce qui suit :
su -lc 'rpm ivh http://plone.lucidsolutions.co.nz/linux/centos/images/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm/at_download/file'

Attention à bien autoriser l'installation malgré la clé gpg inconnue !

Une fois fait, on peut reprendre l'installation d'Eclipse :
su -lc 'yum install eclipse-platform'

Et voilà, maintenant, je n'ai plus qu'à récupérer mes sources ... mais là, ça ne vous intéresse plus ;) !

À lire également :