2017-06-07 2 views
1

Nous avons rencontré un problème ces derniers temps en essayant d'accéder à la console weblogic dans le serveur Unix, nous obtenons:Weblogic FileNotFoundException Trop de fichiers ouverts

Erreur 503 - Service non disponible

Et dans le le fichier journal, il déclarerait:

causés par: java.io.FileNotFoundException: /opt/weblogic1036/wlserver_10.3/server/lib/co>nsoleapp/webapp/WEB-INF/weblogic.xml (trop ouvrir les fichiers)

Après quelques googler, je suis tombé sur une solution qui a déclaré que le fichier /etc/security/limits.conf dicte le nombre de fichiers qu'un processus peut contenir ouvert, https://linux.die.net/man/5/limits.conf spécifiquement nofile et il doit être élevé. Je l'ai également comparé à un autre serveur sur lequel les consoles weblogic fonctionnent, où la ligne nofile existait avec une valeur suffisamment élevée.

Nous avons ajouté deux lignes aussi bien dans le serveur où les problèmes Happens:

nofile * doux 65536

* hard nofile 65536

Et en effet, il a résolu le problème et la console a fonctionné. mais maintenant pour une raison quelconque après le redémarrage de ce Weblogic la question revient, et lors de la vérification des limites du processus weblogic, nous voyons qu'il a l'ancienne valeur par défaut de 1024 fichiers:

cat /proc/32203/limits Limit Soft Limit Hard Limit Units Max open files 1024 1024 files ...

  1. Un autre weblogic console sur le même serveur fonctionne (après l'esprit de vous fixer) et retourne un « nombre maximal de fichiers ouverts » de 65536
  2. le fichier limite n'a pas été modifié et détient toujours la nouvelle valeur nofile

Une idée de pourquoi le problème aurait pu revenir? Il semble que le serveur ait "oublié" ou "effacé" la valeur maximale des fichiers ouverts pour ce weblogic spécifique après le redémarrage.

Toute aide serait appréciée.

+0

https://community.oracle.com/thread/2156103 cette aide? – Optional

Répondre

0

Le link que vous avez partagé des guillemets n'est pas permanent.

Veuillez également noter que tous les paramètres de limite sont définis par connexion. Ils sont non globaux et ne sont pas permanents; existant seulement pour la durée de la session.

Dans le fichier de configuration des limites, le caractère '#' introduit un commentaire - après quoi le reste de la ligne est ignoré.

Essayez comme indiqué dans le commentaire

ulimit -n 65536