[Dnsmasq-discuss] dnsmasq using 100% of cpu
Donald Sharp
donaldsharp72 at gmail.com
Mon Feb 17 13:31:13 GMT 2020
Running:
sharpd at eva:~/dnsmasq$ /sbin/dnsmasq --version
Dnsmasq version 2.80 Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP
conntrack ipset auth DNSSEC loop-detect inotify dumpfile
----
When I install several hundred thousand routes into the kernel and
remove them( or some variation thereof ), dnsmasq eventually ends up
running 100% cpu:
top - 18:45:18 up 1 day, 7:44, 1 user, load average: 2.70, 2.65, 2.34
Tasks: 424 total, 3 running, 421 sleeping, 0 stopped, 0 zombie
%Cpu(s): 12.1 us, 6.9 sy, 0.0 ni, 80.2 id, 0.0 wa, 0.0 hi, 0.7 si,
0.0 st
MiB Mem : 32131.3 total, 19483.6 free, 6620.3 used, 6027.4 buff/cache
MiB Swap: 32718.0 total, 31693.0 free, 1025.0 used. 24698.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+
COMMAND
293183 nobody 20 0 11040 2040 1688 R 99.7 0.0 148:48.40
dnsmasq
strace output:
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=POLLERR}])
poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=5, events=POLLIN},
{fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=8, events=POLLIN}], 6,
-1) = 1 ([{fd=4, revents=PO^Cstrace: Process 293183 detached
I can pretty much make this happen at will. What can I provide to help
debug this?
As a side note, I was not placing these routes into the default linux
routing table. Does dnsmasq need to be paying attention to these routes?
donald
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20200217/93f06b1a/attachment.html>
More information about the Dnsmasq-discuss
mailing list