Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
didn't get the time to look at the code, but pkg.stats should work also for mi process, maybe the module doesn't do proc init callback. It needs to be fixed in some way.
Also, for timer processes, either there is a buffer overflow and the value of the size of an allocated packet is overwritten with an invalid packet resulting in wrong values overall or something else is wrong in other part for this particular process types. Anyhow, no value should be more that the allocated pkg size.
The values are:
- used - how much memory is allocated for data - real used - it is the value for 'used' plus the overhead of each packet (the structure per packet that holds the length, next packet, etc ... plus the debug details like pointer to file and line for debug mode).
Cheers, Daniel
On 07/04/16 10:30, Lucian Balaceanu wrote:
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list 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 http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi Daniel,
Thank you for yesterday's input.
By doing some debugging on the 'no private memory left' I came to the conclusion that there is enough private memory as a whole to allocate the required amount, but that there is no single free chunk big enough to accommodate the required size. This is a valid scenario when MEM_JOIN_FREE is 0, right?
Btw, how can I determine if I have this MEM_JOIN_FREE set or not? I am looking in `kamailio -V ` output and in the kamailio.cfg and mem_join is not set. I cannot determine in which version MEM_JOIN_FREE is supposed to be set by default - how can I find this?
Thank you, Lucian
On 07.04.2016 11:30, Lucian Balaceanu wrote:
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi Lucian,
the mem_join is enabled by default -- I checked from 4.1.x to 4.3.x. In the Makefile.defs should be a:
C_DEFS+= -DMEM_JOIN_FREE
In 4.4 I just noticed it was lost when I added the feature to select the memory manger with command line option -x. I will fix it.
Even MEM_JOIN_FREE is enabled at compile, you still need mem_join=1 in your configuration file (the default value is mem_join=0). Also, you can change the value for mem_join at runtime, via kamcmd/rpc commands.
Cheers, Daniel
On 08/04/16 11:18, Lucian Balaceanu wrote:
Hi Daniel,
Thank you for yesterday's input.
By doing some debugging on the 'no private memory left' I came to the conclusion that there is enough private memory as a whole to allocate the required amount, but that there is no single free chunk big enough to accommodate the required size. This is a valid scenario when MEM_JOIN_FREE is 0, right?
Btw, how can I determine if I have this MEM_JOIN_FREE set or not? I am looking in `kamailio -V ` output and in the kamailio.cfg and mem_join is not set. I cannot determine in which version MEM_JOIN_FREE is supposed to be set by default - how can I find this?
Thank you, Lucian
On 07.04.2016 11:30, Lucian Balaceanu wrote:
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi,
Ok, then in my case mem_join is not enabled.
So the scenario is plausible, right? 8M of free private memory doesn't mean neccesarily that there is a contiguous chunk of 200K. So such a big pkg alloc can fail?
Thank you
On 08.04.2016 12:48, Daniel-Constantin Mierla wrote:
Hi Lucian,
the mem_join is enabled by default -- I checked from 4.1.x to 4.3.x. In the Makefile.defs should be a:
C_DEFS+= -DMEM_JOIN_FREE
In 4.4 I just noticed it was lost when I added the feature to select the memory manger with command line option -x. I will fix it.
Even MEM_JOIN_FREE is enabled at compile, you still need mem_join=1 in your configuration file (the default value is mem_join=0). Also, you can change the value for mem_join at runtime, via kamcmd/rpc commands.
Cheers, Daniel
On 08/04/16 11:18, Lucian Balaceanu wrote:
Hi Daniel,
Thank you for yesterday's input.
By doing some debugging on the 'no private memory left' I came to the conclusion that there is enough private memory as a whole to allocate the required amount, but that there is no single free chunk big enough to accommodate the required size. This is a valid scenario when MEM_JOIN_FREE is 0, right?
Btw, how can I determine if I have this MEM_JOIN_FREE set or not? I am looking in `kamailio -V ` output and in the kamailio.cfg and mem_join is not set. I cannot determine in which version MEM_JOIN_FREE is supposed to be set by default - how can I find this?
Thank you, Lucian
On 07.04.2016 11:30, Lucian Balaceanu wrote:
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
On 08/04/16 13:42, Lucian Balaceanu wrote:
Hi,
Ok, then in my case mem_join is not enabled.
So the scenario is plausible, right? 8M of free private memory doesn't mean neccesarily that there is a contiguous chunk of 200K. So such a big pkg alloc can fail?
yes, that is possible, depending on the version and the memory manager you have.
With the recent versions, f_malloc does defrag on demand, meaning that if no chunk of desired size is available, then will do defrag till it merges chunks and gets to the needed size. Check sources of your kamailio version in mem/f_malloc.c for fm_search_defrag() function.
Cheers, Daniel
Thank you
On 08.04.2016 12:48, Daniel-Constantin Mierla wrote:
Hi Lucian,
the mem_join is enabled by default -- I checked from 4.1.x to 4.3.x. In the Makefile.defs should be a:
C_DEFS+= -DMEM_JOIN_FREE
In 4.4 I just noticed it was lost when I added the feature to select the memory manger with command line option -x. I will fix it.
Even MEM_JOIN_FREE is enabled at compile, you still need mem_join=1 in your configuration file (the default value is mem_join=0). Also, you can change the value for mem_join at runtime, via kamcmd/rpc commands.
Cheers, Daniel
On 08/04/16 11:18, Lucian Balaceanu wrote:
Hi Daniel,
Thank you for yesterday's input.
By doing some debugging on the 'no private memory left' I came to the conclusion that there is enough private memory as a whole to allocate the required amount, but that there is no single free chunk big enough to accommodate the required size. This is a valid scenario when MEM_JOIN_FREE is 0, right?
Btw, how can I determine if I have this MEM_JOIN_FREE set or not? I am looking in `kamailio -V ` output and in the kamailio.cfg and mem_join is not set. I cannot determine in which version MEM_JOIN_FREE is supposed to be set by default - how can I find this?
Thank you, Lucian
On 07.04.2016 11:30, Lucian Balaceanu wrote:
Hi again,
I get the pkg mem error inside the mi_fifo module and this seems not to be part of the `kamcmd pkg.stats`. I guess the only way to debug this mi_fifo process is by way of gdb as in https://www.kamailio.org/wiki/tutorials/troubleshooting/memory, right?
Thank you, Lucian
On 06.04.2016 20:52, Lucian Balaceanu wrote:
Hi Daniel,
While debugging a 'no private memory left' issue by using `kamcmd pkg.stats` we stumbled upon data we don't understand. Could you help with some information?
`kamcmd pkg.stats`returns free values of about 8M per process with an exception: kamailio with no apparent problems: `timer` process: free value: 8M used value: 100M real_used: 308M. kamailio with no private memory left: `timer` process: free value: 8/9M used value: 98M real_used: 662M (both mentioned kamailios have roughly the same load)
Are these timer values normal? What is this real_used value and how can it be bigger than the allocated pkg mem? Additionally, how come we don't see the fifo process pkg stats in the output of `kamcmd pkg.stats`?
We get the error message when doing reloading backlists via kamctl fifo.
Thank you, Lucian Balaceanu
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users