Temat: Zanik połączenia sieciowego i wysoki loadavg
Od dłuższego czasu już w moim routerze tplink Archer C2600 znika połączenie sieciowe. Myślałem, że to może przejściowe problemy z OpenWRT ale parę dni temu zrobiłem update do najnowszego git dla openwrt-24.10(samodzielnie buduję sobie obraz z luci), tj:
commit 7c22ba7b333eeea4725603a5d55d9dbef2860959 (HEAD -> openwrt-24.10, origin/openwrt-24.10)
Author: Tim Harvey <tharvey@gateworks.com>
Date: Mon Jan 26 17:17:26 2026 -0800
kernel: modules: Add tpm-tis-spi
...Ale problem dalej występuje, więc chyba jednak nie jest on przejściowy. ![]()
Router potrafi pracować miesiącami bez restartu i w zasadzie nic mu nie dolega. Ten stan rzeczy zmienia się w przypadku bardziej intensywnego korzystania z sieci, np. gdy działa torrent i pobierane są nowe obrazy linux'a (pobieranie około 5-10MiB/s, upload 3-5MiB/s). W takim przypadku, z początku wszystko wydaje się być w porządku ale w pewnym momencie (zwykle po kilkudziesięciu minutach albo paru godzinach) znika połączenie ze światem. W logu systemowym nic ciekawego się nie doszukałem w chwili zaniku połączenia (jeszcze spróbuję dokładnie złapać moment, w którym ten zanik występuje) -- po prostu znika połączenie i tyle...
Z początku myślałem, że to operator rozłącza połączenie (bo mam tutaj LTE) ale po podpięciu drugiego routera i zrobieniu podwójnego NAT (LAN==ArcherC2600==ArcherMR200==LTE), problem dalej występował. Restartując jednak router Archer C2600, problem się rozwiązywał. W późniejszym czasie udało się ustalić, że wystarczy zrestartować sieć poniższym poleceniem:
root@RedViper:~# /etc/init.d/network restartMyślałem może, że routerowi brakuje RAM albo tablica conntrack'a się zapełnia ale:
root@RedViper:~# cat /proc/net/nf_conntrack | wc -l
257Więc to nie tutaj problem -- rzadko kiedy wartość tutaj przekracza 1K, a do 65K jeszcze bardzo daleko.
RAM'u jest sporo:
root@RedViper:~# free -h
total used free shared buff/cache available
Mem: 475144 127340 270824 5692 76980 292508
Swap: 0 0 0Przyglądając się dalej całej sytuacji zauważyłem, że w chwili, gdy brakuje połączenia, loadavg zaczyna dramatycznie rosnąć w górę. Stabilizuje się w okolicach 3-3,5. Ten router ma 2 rdzenie ale ten load i tak jest bardzo wysoki. Patrząc w htop po procesach, nie widać, by któryś z nich utylizował procesor -- zużycie procesora jest <10%, zwykle 5%.
Później udało się ustalić, że to najpierw zanika połączenie z siecią, a dopiero potem loadavg zaczyna rosnąć, a nie na odwrót. Jeśli się w przy takim zaniku sieci nic nie robi, to loadavg się utrzymuje ciągle na poziomie tych 3-3,5. Dopiero zrestartowanie sieci (/etc/init.d/network restart[) sprawia, że połączenie wraca i loadavg zaczyna spadać do 0-0,05.
Miałem podejrzane, że któraś z usług może coś takiego powodować, np. collectd, vnstat i adblock ale zdaje się, że żadna z nich nie jest winna, bo ta przypadłość z zanikiem sieci przydarza się nawet gdy te usługi są na routerze wyłączone...
Skończyły mi się już pomysły.
Może ktoś z was spotkał się z podobnym problemem lub może ma jakiś pomysł co może być przyczyną tego typu zaniku sieci połączonym z bardzo wysokim loadavg?