Thanks for the answers.
Here are the config file and the memory status right now.
I didn't change the memory pool.
I don't know how to interpret the memory log. Can you help me?
Config file
# ----------- global configuration parameters ------------------------
# vim:bg=dark
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
dns_cache_init=no
use_dns_cache=no
disable_tcp=yes
server_header="Server: SIP ROUTER"
user_agent_header="User-Agent: SIP ROUTER"
sip_warning=0
debug=2
memlog=1
port=5060
# ------------------ module loading ----------------------------------
mpath="/usr/local/lib/kamailio/modules/:/usr/local/lib/kamailio/modules_k/"
loadmodule "maxfwd.so"
loadmodule "exec.so"
loadmodule "tm.so"
loadmodule "sl.so"
loadmodule "dispatcher.so"
loadmodule "textops.so"
loadmodule "xlog.so"
loadmodule "mi_fifo.so"
loadmodule "regex.so"
loadmodule "pv.so"
# ----------- setting module-specific parameters ---------------------
modparam("exec", "setvars", 0)
modparam("dispatcher", "list_file",
"/usr/local/etc/kamailio/servers.list")
modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
modparam("dispatcher", "ds_ping_interval", 5)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_probing_threshhold", 3)
modparam("dispatcher", "flags", 2)
modparam("tm", "fr_timer", 3)
# ------------------ request routing logic ---------------------------
route {
# initial sanity checks:
# messages with max_forwards==0
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
# excessively long requests
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# excessively long display name
if (!pcre_match("$fn","^.{0,62}$$")) {
sl_send_reply("403", "Forbidden - Display Name Max
Size Exceeded");
exit;
};
#Register
if (method=="REGISTER") {
if
(from_uri=~".*(<?sip:[a-z][a-z0-9_.]{3,11}(\$[0-9]{1,3})?...@voiprovider\.com(:[0-9]{4})?(;[^>]+)?>?)
?(;tag=[a-zA-Z0-9]{4,}.*)?$" ||
from_uri=~".*(<?sip:\$voipmoni...@voiprovider\.com(:[0-9]{4})?(;[^>]+)?>?)
?(;tag=[a-zA-Z0-9]{4,}.*)?$") {
route(4);
exit;
};
sl_send_reply("403","Forbidden - Wrong domain or
Username format");
exit;
};
#Deny OPTIONS
if (method=="OPTIONS") {
sl_send_reply("404", "Not found");
exit;
};
#Deny PING
if (method=="PING") {
sl_send_reply("404", "Not found");
exit;
};
# INVITE
if (method=="INVITE") {
if
(from_uri=~".*(<?sip:[a-z][a-z0-9_.]{3,11}(\$[0-9]{1,3})?...@voiprovider\.com(:[0-9]{4})?(;[^>]+)?>?)
?(;tag=[a-zA-Z0-9]{4,}.*)?$" ||
from_uri=~"@equip[0-9][0-9]?.voiprovider\.com($|;|:|>)" ||
from_uri=~"@10.0.0.1 <http://10.0.0.1>($|;|:|>)" ||
from_uri=~"@10.0.0.2 <http://10.0.0.2>($|;|:|>)" ||
from_uri=~"@10.0.0.3 <http://10.0.0.3>($|;|:|>)") {
# Skype
if (to_uri=~"\#skype@") {
route(2);
exit;
};
# Skype
if (to_uri=~"%23skype@") {
route(2);
exit;
};
# default
route(1);
exit;
};
sl_send_reply("403","Forbidden - Wrong domain or
Username format");
exit;
};
# Default
route(1);
exit;
}
#Default (softswitches)
route[1] {
ds_select_dst("1", "0");
forward();
exit;
}
#Skype
route[2] {
ds_select_dst("2", "0");
forward();
exit;
}
#Register
route[4] {
ds_select_dst("4", "0");
forward();
exit;
}
Memory log:
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
<core> [main.c:691]: Memory status (pkg):
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: fm_status (0x88d5c0):
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: heap size= 4194304
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: used= 126576, used+overhead=169192, free=4025112
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: max used (+overhead)= 204008
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: dumping free list:
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 1 fragments no.: 1, unused:
0 bucket size: 8 - 8 (first 8)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 2 fragments no.: 2, unused:
0 bucket size: 16 - 16 (first 16)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 3 fragments no.: 8, unused:
0 bucket size: 24 - 24 (first 24)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 4 fragments no.: 1, unused:
0 bucket size: 32 - 32 (first 32)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 5 fragments no.: 3, unused:
0 bucket size: 40 - 40 (first 40)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 54 fragments no.: 1, unused:
0 bucket size: 432 - 432 (first 432)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 216 fragments no.: 20, unused:
0 bucket size: 1728 - 1728 (first 1728)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 2056 fragments no.: 1, unused:
0 bucket size: 2097152 - 4194304 (first 3989736)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: TOTAL: 37 free fragments = 4025112 free bytes
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: -----------------------------
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
<core> [main.c:703]: Memory status (shm):
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: fm_status (0x2b982b03b000):
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: heap size= 33554432
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: used= 3071760, used+overhead=3109608, free=30444824
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: max used (+overhead)= 3235640
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: dumping free list:
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 3 fragments no.: 2, unused:
0 bucket size: 24 - 24 (first 24)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 5 fragments no.: 8, unused:
0 bucket size: 40 - 40 (first 40)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 8 fragments no.: 19, unused:
0 bucket size: 64 - 64 (first 64)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 27 fragments no.: 1, unused:
0 bucket size: 216 - 216 (first 216)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 37 fragments no.: 1, unused:
0 bucket size: 296 - 296 (first 296)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 38 fragments no.: 22, unused:
0 bucket size: 304 - 304 (first 304)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 39 fragments no.: 2, unused:
0 bucket size: 312 - 312 (first 312)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 40 fragments no.: 1, unused:
0 bucket size: 320 - 320 (first 320)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 583 fragments no.: 25, unused:
0 bucket size: 4664 - 4664 (first 4664)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: hash = 2059 fragments no.: 1, unused:
0 bucket size: 16777216 - 33554432 (first 30318496)
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: TOTAL: 82 free fragments = 30444824 free bytes
Sep 21 11:31:02 siprouter /usr/local/sbin/kamailio[766]: NOTICE:
fm_status: -----------------------------
Santiago Soares
On Tue, Sep 21, 2010 at 5:29 AM, Daniel-Constantin Mierla
<mico...@gmail.com <mailto:mico...@gmail.com>> wrote:
For a shorter version of memory status you can set
memory_summary=2 or 3:
http://www.kamailio.org/dokuwiki/doku.php/core-cookbook:3.0.x#mem_summary
This will show quickly if there is a leak.
Cheers,
Daniel
On 9/21/10 9:57 AM, marius zbihlei wrote:
On 09/21/2010 09:18 AM, Marius Zbihlei wrote:
Hello
Can you give us more information on the modules you are
loading/ your specific config ?
Marius
Also, is it shared memory or private memory? If you have a
dump of the memory distribution, can you spot anything out of
the ordinary. As a tip look for functions in the ending part
of the dump that repeat for multiple times. The lower offset
is usually alloc'ed during module initialization so any big
leak will happen at higher offsets (I don't know if this is
the rule but this is what I observed).
Have you tried increasing the memory pool?
Cheers
Marius
________________________________________
From: sr-users-boun...@lists.sip-router.org
<mailto:sr-users-boun...@lists.sip-router.org>
[sr-users-boun...@lists.sip-router.org
<mailto:sr-users-boun...@lists.sip-router.org>] On Behalf
Of Santiago Soares [santiagosoa...@gmail.com
<mailto:santiagosoa...@gmail.com>]
Sent: Monday, September 20, 2010 9:21 PM
To: SR-Users; us...@lists.kamailio.org
<mailto:us...@lists.kamailio.org>
Subject: [SR-Users] Memory leak
Hello,
We use Kamailio as a stateless load balancer.
It runs on a VM, with 512 MB RAM, and it seems to have
some kind of memory leak.
The kamailio processes consume all available memory, until
Kamailio crashes and restart.
This occurs about once a day.
Since it's stateless, and the restart is very fast, it's
not a big deal, but I'd like to fix it.
The strange thing is that I updated kamailio from 1.5.3 to
3.0.3 and the problem still ocurrs.
I followed the instructions on
http://www.kamailio.org/dokuwiki/doku.php/troubleshooting:memory
in order to determine the cause, and stopped the traffic
on the proxy. The allocated memory were not freed, after 1
hour the amount of free memory is still the same.
Anybody has an ideia about what's happening, or how can I
debug it?
Thank you!
Santiago Soares
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
sr-users@lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
sr-users@lists.sip-router.org
<mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://www.asipto.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
list
sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users