Bonjour à tous,
Je suis confronté à un énorme soucis, dont je ne comprends pas la raison.
Je travaille sur un serveur Linux, sous Firebird 2.5 RC3 (V2.5.0.26074), donc la toute dernière version, en ClassicServer, avec une base en multi-fichier (un peu plus de 3Go au total) et une autre de moins de 100Mo. Le choix de Firebird 2.5 est la communication directe entre les bases.
Les seuls éléments activés sur FIREBIRD.CONF sont
LockHashSlot=2039
TempDirectories= /data/tmp/ (accès à 109Go)
Mon architecture est la suivante:
- un serveur Linux (Firebird 2.5RC3) => centralisation de mes bases
- un Windows (Firebird 2.1.3) => avec mes applications qui se connectent aux bases de données
- X clients (applicatifs) qui se connectent sur mes applications du Windows, pour accéder aux données.
Depuis quelques temps, l'accès aux bases de données se bloque, c-à-d que les applications sur le serveur Windows ont perdu la connexion aux bases. Et moi je ne peux plus atteindre le Linux, je dois attendre env. 5min pour y accéder à nouveau (je ping toujours le linux pendant l'attente). Et re-demarrer toutes les applications du Windows.
Erreur Firebird :
Operating system call pthread_create failed. Error code 12
Database: /bdd/*****.fdb
lock manager error
operating system directive pthread_create failed
cannot allocate memory
J'ai plusieurs plateformes où la même architecture (machines/applicatifs, etc) est présente, et je n'en qu'une seule où survient ce problème.
Est ce du :
- à la taille de la base principale (3Go, les autres étant à env. 1Go)?
- Firebird, qui ne vide pas son cache?
- Trop d'accès/demande à la bdd? => déja vu une fois plus de 1500 instance fb_inet_server
- Linux? => 3Go de RAM + 2Go sur le swap
- mes applications??? => J'ai vérifié les transactions de chaque application, elles sont toujours correctes
Après avoir lu plusieurs doc entre Firebird et Linux, j'ai essayer d'optimiser les deux, même résultat.
Je m'y prends surement mal, il y a quelque chose qui doit m'échapper.
Merci à vous.
Partager