Hi Klaus,
I discarded the mysql option as a potential problem as in this module,
all the mem ops are transparently done by the mysql client library - as
a user of the lib, there are very small chances to screw up something
that will lead to mem leak, without having worst side effects (like out
of sync errors).
On the other hand, libxml2 give you (as user of the lib) more
flexibility in playing with data (xml and attr nodes), so the chance to
get a undetected leak is much, much higher.
Regards,
Bogdan
Klaus Darilion wrote:
Bogdan-Andrei Iancu schrieb:
Hi Henning,
Thanks for the hint.
So, your openser processes should use as private memory:
(8/*udp*/ + 1/*timer*/ + 1/*attendant*/ + 1/*fifo*/) * 1 = 11M
So, overall, all openser processes will use 11 + 128 = 139M plus
memory requested directly from the OS.
looking at your numbers:
<quote>
# ps -C openser -o vsz,rss
VSZ RSS
234124 12636
369940 159392
369940 158840
369940 158860
370340 159220
369804 158696
370068 158932
370204 159048
370464 159344
234124 20904
234124 9484
234128 7952
234124 7948
234124 7880
234124 7880
234124 7880
234124 7880
234124 7880
234124 7880
234124 7880
234124 8332
</quote>
it is clearly that you have 8 workers (2 - 9) - the rest of the
processes have a similar VSZ and RSS, so no more mem is required form
the system.
For the workers, I guess there are some script function (from some
modules) that are directly requesting memory (and not via openser mem
manager). Looking at your list:
<quote>
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "usrloc.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "maxfwd.so"
loadmodule "mi_fifo.so"
loadmodule "nathelper.so"
loadmodule "perl.so"
loadmodule "registrar.so"
loadmodule "rr.so"
loadmodule "textops.so"
loadmodule "uri.so"
</quote>
there are none of the modules that use libxml2 or expat, but I see
you are using perl - there were some past problems with mem leaks due
this module, so you may try to take out the module and see if the
leak is still present.
what about mysql? It uses the mysql library which probably will use OS
memory allocator and not openser's memory allocator.
regards
klaus