Question

J'utilise ejabberd + mochiweb sur notre serveur. Plus je garde ejabberd et le fonctionnement de mochiweb, plus la mémoire est consommée (la nuit dernière, il consommait 35% de la mémoire. En ce moment il est un peu supérieur à 50%). Je pensais que c'était juste un problème de collecte des ordures mnesia - donc j'ai installé Erlang R13B3 et remis en marche ejabberd. Cela n'a pas fixé cependant.

Alors, je remarque maintenant que, à un peu plus de 50% de la consommation totale de la mémoire, il ressemble à partir de ejabberd à « lâcher » de la mémoire et de rester à environ 50%. Est-ce normal? Est ~ 50% pour un seuil ejabberd, de sorte que quand il l'atteint, il dit: « bon temps de laisser en fait un peu de mémoire vont ... » et peut-être il garde le reste autour pour un accès rapide (comme mnesia de la mise en cache?)

Je vous remercie de toute entrée. Merci!

Était-ce utile?

La solution 2

fin de compte, il n'y a pas de fuite de mémoire (youpi!) Ejabberd prend place seulement <40Mo. Enfin, j'ai vu la lumière quand j'ai vu l'utilisation des graphiques sur EngineYard - seulement 288Mo est en fait utilisé, 550MB est tamponne et 175Mo est mise en mémoire cache. Mon serveur ejabberd une mise à jour toutes les 2,5 secondes de chaque client afin peuvent expliquer pourquoi tant est mis en buffer / cache.

Merci pour toute votre aide.

Autres conseils

Exécuter erlang:memory(). dans votre shell chaque maintenant et puis. Vous pouvez aussi donner erlang:system_info(Type). avec allocated_areas et allocator essayer. Ceux-ci devraient vous donner un indice sur ce type de mémoire est une fuite.

Vous pouvez également configurer memsup pour vous avertir sur les processus allocation trop mémoire.

atomes nouvellement créés dans les processus de Erlang obtiennent jamais déchets collectés. Cela pourrait être un problème lorsque les processus sont enregistrés par un algorith qui crée des noms d'atomes de hasard, par exemple. chaînes au hasard créé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top