On Thu, Jan 03, 2019 at 07:06:51PM +0000, Duarte Rocha wrote:
As far as i can tell, i have 3 ways to permanently
change the memory
settings in Kamailio :
/etc/init.d/kamailio , /etc/default/kamailio and src/core/config.h.
What's the priority between them? If i have different values in all 3 of
them, which one will be used? Which is one is the best to use reliably?
I recently upgraded my Kamailio from 5.0 to 5.2 and i need 12Mb of PKG.
Before starting the new version for the first time i changed the values in
/etc/default and the memory error didn't go away. It only worked after i
changed it in core/config.h and recompilled. After that, i started Kamailio
and i could do the changes in /etc/default without any problem. Does this
happen for a reason?
You should look into what your platform does these days. Linux distros
infected with systemd don't work the same way they did the last 2x
years. Looking at how Debian does things (tm):
- /etc/init.d/kamailio that script will not be executed anymore, there
are systemd binding at the top (". /lib/lsb/init-functions") that will
detect there is systemd magic and will use that instead. You can
disable this by setting a certain variable (you'll have to search
that somewhere). 5.0 might not have had this functionality in the
init.d file, 5.1.x has, so I guess 5.2 also has.
- /etc/default/kamailio included from /etc/init.d/kamailio (but see
above) and from the systemd magic stuff (see output of "systemctl cat
kamailio.service"), but if you are trying get coredump you see the
variable from the default file isn't used anywhere (and as such
setting DUMP_CORE=yes doesn't do anything anymore (spoiler: set
"LimitCORE=unlimited" in a "[Service]" section with systemctl edit
kamailio.service))
- src/core/config.h compile time hardcoded, not a very good option to
change anything runtime.
If you use any other distro, checkout what that does these days.
Yesterdays knowledge is useless with systemd.
BTW you might not have read it between the lines: I hate systemd.
Almost everything that broke in the last couple of years can be traced
back to systemd (sure it fixed a few things and appears to be reasonable
stable these days, but you can only get one first impression and systemd
fucked it up bigtime for me).