Weird memory exhaustion with FreeBSD 4.10-STABLE
Pekka Savola
pekkas at netcore.fi
Thu Sep 23 05:03:58 PDT 2004
Hi,
I've been suffering from a weird memory exhaustion problem (or so it
looks?!) on FreeBSD 4.10 -STABLE for a year or two now (obviously,
then it was something like 4.5 or the like :).
After the system has been up for a while (a couple of weeks) and/or
the ethernet link has gone up/down for some time (I suspect this is
related to the Neighbor Discovery cache contents), I get dmesg errors
like:
nd6_lookup: failed to add route for a neighbor(fe80:0001::0290:6900:4276:4d7b), errno=55
nd6_lookup: failed to add route for a neighbor(2001:0708:0:0001::0625), errno=55
(55 is 'No buffer space available'.)
(However, if you look at the 'top' output below, the whole swap is
still pretty much unused..)
Some other commands then also cease to work, e.g., 'ifconfig' displays
nothing, and gives something like 'interface stf0 does not exist'
for interfaces that are up and running. The system still works
otherwise.
There's nothing really fancy about this system, it's just a 6to4 relay
router. The "weirdest" thing is probably that it has address
2001:0708:0:1::624/125 [ie, not /64] configured on its xl0 interface.
I can reproduce this on this particular box, so I can do some tests or
debugging if needed.
Ideas?
...
A few outputs (when there is a problem) which might help:
sixpack# netstat -m
129/2048/6144 mbufs in use (current/peak/max):
129 mbufs allocated to data
128/232/1536 mbuf clusters in use (current/peak/max)
976 Kbytes allocated to network (21% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines
sixpack# top
last pid: 78282; load averages: 0.00, 0.00, 0.00
up 33+09:44:56 17:22:47
20 processes: 1 running, 19 sleeping
CPU states: % user, % nice, % system, % interrupt, % idle
Mem: 12M Active, 20M Inact, 24M Wired, 3424K Cache, 14M Buf, 780K Free
Swap: 132M Total, 112K Used, 132M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
34357 root 2 0 5288K 1612K select 0:00 0.05% 0.05% sshd
104 root 2 0 984K 548K select 426:12 0.00% 0.00% syslogd
146 root 2 0 1896K 944K select 404:35 0.00% 0.00% zebra
148 root 2 0 3644K 2512K select 17:30 0.00% 0.00% bgpd
121 root 2 0 3048K 1628K select 7:06 0.00% 0.00% sendmail
116 root 2 0 2588K 1364K select 1:33 0.00% 0.00% sshd
114 root 10 0 1000K 600K nanslp 1:02 0.00% 0.00% cron
77556 root 3 0 956K 532K ttyin 0:57 0.00% 0.00% getty
124 smmsp 18 0 2928K 1412K pause 0:08 0.00% 0.00% sendmail
112 root 2 0 1076K 616K select 0:08 0.00% 0.00% inetd
34359 root 18 0 1368K 872K pause 0:00 0.00% 0.00% csh
78282 root 31 0 1892K 888K RUN 0:00 0.00% 0.00% top
197 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
198 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
200 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
201 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
199 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
195 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
196 root 3 0 956K 532K ttyin 0:00 0.00% 0.00% getty
24 root 18 0 212K 68K pause 0:00 0.00% 0.00% adjkerntz
sixpack# dmesg
nd6_lookup: failed to add route for a neighbor(fe80:0001::0290:6900:4276:4d7b), errno=55
nd6_lookup: failed to add route for a neighbor(fe80:0001::0290:6900:4276:4d7b), errno=55
nd6_lookup: failed to add route for a neighbor(2001:0708:0:0001::0625), errno=55
nd6_lookup: failed to add route for a neighbor(fe80:0001::0290:6900:4276:4d7b), errno=55
nd6_lookup: failed to add route for a neighbor(fe80:0001::0290:6900:4276:4d7b), errno=55
nd6_lookup: failed to add route for a neighbor(2001:0708:0:0001::0625), errno=55
[snipped like 50-100 other such messages]
sixpack# ifconfig
sixpack# ps auxwww
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 0 0.0 0.0 0 0 ?? DLs 19Aug04 0:00.00 (swapper)
root 77556 0.0 0.9 956 532 v0 Ss+ 1:52PM 0:56.89 /usr/libexec/getty Pc ttyv0
root 34359 0.0 1.4 1368 872 p1 Ss 13Sep04 0:00.22 -csh (csh)
root 34357 0.0 2.6 5288 1612 ?? S 13Sep04 0:00.44 sshd: root at ttyp1 (sshd)
root 201 0.0 0.9 956 532 v7 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv7
root 200 0.0 0.9 956 532 v6 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv6
root 199 0.0 0.9 956 532 v5 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv5
root 198 0.0 0.9 956 532 v4 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv4
root 197 0.0 0.9 956 532 v3 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv3
root 196 0.0 0.9 956 532 v2 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv2
root 195 0.0 0.9 956 532 v1 Is+ 19Aug04 0:00.02 /usr/libexec/getty Pc ttyv1
quagga 148 0.0 4.1 3644 2512 ?? Ss 19Aug04 17:29.51 /usr/local/sbin/bgpd -d
quagga 146 0.0 1.6 1896 944 ?? Ss 19Aug04 404:34.68 /usr/local/sbin/zebra -d
smmsp 124 0.0 2.3 2928 1412 ?? Is 19Aug04 0:08.22 sendmail: Queue runner at 00:30:00 for /var/spool/clientmqueue (sendmail)
root 121 0.0 2.7 3048 1628 ?? Ss 19Aug04 7:05.86 sendmail: accepting connections (sendmail)
root 116 0.0 2.2 2588 1364 ?? Is 19Aug04 1:32.52 /usr/sbin/sshd
root 114 0.0 1.0 1000 600 ?? Ss 19Aug04 1:01.90 /usr/sbin/cron
root 112 0.0 1.0 1076 616 ?? Is 19Aug04 0:08.14 /usr/sbin/inetd -wW
root 104 0.0 0.9 984 548 ?? Ss 19Aug04 426:12.11 /usr/sbin/syslogd -ss
root 24 0.0 0.1 212 68 ?? Is 19Aug04 0:00.00 adjkerntz -i
root 7 0.0 0.0 0 0 ?? DL 19Aug04 24:49.48 (syncer)
root 6 0.0 0.0 0 0 ?? DL 19Aug04 1:08.24 (vnlru)
root 5 0.0 0.0 0 0 ?? DL 19Aug04 0:47.40 (bufdaemon)
root 4 0.0 0.0 0 0 ?? DL 19Aug04 0:00.00 (vmdaemon)
root 3 0.0 0.0 0 0 ?? DL 19Aug04 0:32.02 (pagedaemon)
root 2 0.0 0.0 0 0 ?? DL 19Aug04 0:00.00 (taskqueue)
root 1 0.0 0.3 544 200 ?? ILs 19Aug04 0:01.09 /sbin/init --
root 78285 0.0 0.4 420 216 p1 R+ 5:23PM 0:00.00 ps auxwww
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
More information about the freebsd-net
mailing list