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