[asterisk-users] memory issues

Sean Bright sean.bright at gmail.com
Fri Sep 25 20:32:53 CDT 2020


https://issues.asterisk.org/jira/browse/ASTERISK-28695


On Fri, Sep 25, 2020 at 2:32 PM hw <hw at gc-24.de> wrote:

>
>
> Hi,
>
>
>
> ever since I have switched my server from Centos 7 to Fedora 32, asterisk
>
> is showing memory issues and no calls are possible.  I'm using the asterisk
>
> that comes with Fedora; before that, I used a self-compiled version on
>
> Centos.  The hardware is still the same.  Asterisk shows the following
>
> message when trying to make a call:
>
>
>
>
>
> WARNING[92530]: pbx.c:4644 increase_call_count: Available system memory
>
> (~168MB) is below the configured low watermark (1024MB)
>
>
>
>
>
> I was thinking that asterisk is leaking memory because the only way to get
>
> asterisk to work again was by restarting the server.  Since this is very
>
> annoying and the Fedora bug report remains ignored, I finally started to
>
> investigate.  The relevant source is attached in asnip.c.
>
>
>
> To see what's going on, I wrote a test program, attached as sysinfo.c.  You
>
> can simply compile it with 'cc -O2 sysinfo.c -o sysinfo'.
>
>
>
> The output is follows:
>
>
>
>
>
> ./sysinfo
>
> unit size:                 1 byte(s)
>
> #
>
> freeram:                 153
>
> bufferram:                 5
>
> ----
>
> Sum:                     158
>
> #
>
> trying to allocate 158
>
> sleeping 5 seconds
>
> allocate twice as much
>
> sleeping 5 seconds
>
> memset allocated memory to 0
>
> sleeping 5 seconds
>
> memory freed
>
>
>
>
>
> So what asterisk says is about right.  When I look at the info from 'cat
>
> /proc/meminfo', I see this:
>
>
>
>
>
> cat /proc/meminfo
>
> MemTotal:       16361780 kB
>
> MemFree:          151844 kB
>
> MemAvailable:   14883060 kB
>
> Buffers:            5468 kB
>
> Cached:         14773136 kB
>
> SwapCached:          224 kB
>
> Active:          2019568 kB
>
> Inactive:       13592124 kB
>
> [...]
>
>
>
>
>
> which would mean that I have 14GB buffered/cached, and 'free -h' confirms
>
> this.
>
>
>
> Apparently, the cache remains persistently occupied.  Since I'm currently
>
> performing backups, it's not surprising that the cache is large.
>
>  Apparently it means that asterisk fails every time I'm doing something
>
> that fills the cache :(
>
>
>
> After understanding that the cache remains full, I figured there might be
>
> way to flush the buffers and the cache.  [1] shows how to do this, and
>
> after 'sync; echo 3 > /proc/sys/vm/drop_caches', 'free -h' showed
>
> buff/cache as 1.3Gi and asterisk was working again.
>
>
>
> However, the backups are still going on, and it doesn't take long before
>
> the cache is back at 14GB again and asterisk is blocked.
>
>
>
> I think asterisk needs to consider the cache as free memory as well.  Isn't
>
> the cache supposed to automatically shrink when more memory is required?
>
>
>
> As a workaround, I can set minmemfree in asterisk.conf to a low value.
>
>  Nonetheless, I guess that should be fixed.  I'll update the Fedora bug
>
> report with this.
>
>
>
>
>
> [1]:
>
>
> https://www.tecmint.com/clear-ram-memory-cache-buffer-and-swap-space-on-linux/
>
>
>
> --
>
> _____________________________________________________________________
>
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
>
>
> Check out the new Asterisk community forum at:
> https://community.asterisk.org/
>
>
>
> New to Asterisk? Start here:
>
>       https://wiki.asterisk.org/wiki/display/AST/Getting+Started
>
>
>
> asterisk-users mailing list
>
> To UNSUBSCRIBE or update options visit:
>
>    http://lists.digium.com/mailman/listinfo/asterisk-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20200925/d4bf1b2b/attachment.html>


More information about the asterisk-users mailing list