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