PDA

Bekijk de volledige versie : Ошибка "page allocation failure" на прошивках RT-N16-1.9.2.7-rtn



ryzhov_al
04-10-2010, 20:26
Коллеги, время от времени на форуме всплывают (http://www.wl500g.info/showpost.php?p=209093&postcount=3004) сообщения (http://www.wl500g.info/showpost.php?p=211777&postcount=5377) об (http://www.wl500g.info/showpost.php?p=211393&postcount=5574) ошибке (http://www.wl500g.info/showpost.php?p=202449&postcount=1574) kernel: swapper: page allocation failure.

Oct 2 23:10:21 kernel: swapper: page allocation failure. order:3, mode:0x4020
Oct 2 23:10:21 kernel: Call Trace:
Oct 2 23:10:21 kernel: [<8000de20>] dump_stack+0x8/0x34
Oct 2 23:10:21 kernel: [<8005914c>] __alloc_pages+0x294/0x344
Oct 2 23:10:21 kernel: [<80077438>] __slab_alloc+0x1d8/0x4b8
Oct 2 23:10:21 kernel: [<80077a34>] __kmalloc_track_caller+0x144/0x184
Oct 2 23:10:21 kernel: [<801a8a30>] __alloc_skb+0x70/0x140
Oct 2 23:10:21 kernel: [<8020badc>] tcp_collapse+0x214/0x468
Oct 2 23:10:21 kernel: [<8020be80>] tcp_prune_queue+0x150/0x340
Oct 2 23:10:21 kernel: [<8020c778>] tcp_data_queue+0x708/0xe10
Oct 2 23:10:21 kernel: [<8020e594>] tcp_rcv_established+0x224/0xc00
Oct 2 23:10:21 kernel: [<802167dc>] tcp_v4_do_rcv+0xe8/0x450
Oct 2 23:10:21 kernel: [<80217598>] tcp_v4_rcv+0xa54/0xb38
Oct 2 23:10:21 kernel: [<801f5604>] ip_local_deliver+0x1e8/0x318
Oct 2 23:10:21 kernel: [<801f4810>] ip_rcv_finish+0x1d0/0x464
Oct 2 23:10:21 kernel: [<801db934>] nf_reinject+0x11c/0x2b8
Oct 2 23:10:21 kernel: [<c014e1ec>] imq_dev_xmit+0x50/0x60 [imq]
Oct 2 23:10:21 kernel: [<801c1958>] qdisc_restart1+0xb4/0x21c
Oct 2 23:10:21 kernel: [<c014e360>] imq_nf_queue+0x164/0x264 [imq]
Oct 2 23:10:21 kernel: [<801db608>] __nf_queue+0x17c/0x38c
Oct 2 23:10:21 kernel: [<801dab20>] nf_hook_slow+0xe0/0x160
Oct 2 23:10:21 kernel: [<801f4d54>] ip_rcv+0x2b0/0x720
Oct 2 23:10:21 kernel: [<801afaa4>] process_backlog+0xf0/0x220
Oct 2 23:10:21 kernel: [<801ad1b0>] net_rx_action+0xb4/0x21c
Oct 2 23:10:21 kernel: [<8002d28c>] __do_softirq+0x88/0x11c
Oct 2 23:10:21 kernel: [<8002d38c>] do_softirq+0x6c/0x74
Oct 2 23:10:21 kernel: [<80007614>] plat_irq_dispatch+0x14c/0x1b8
Oct 2 23:10:21 kernel: [<80007d6c>] ret_from_irq+0x0/0x4
Oct 2 23:10:21 kernel: [<80009d1c>] cpu_idle+0x1c/0x50
Oct 2 23:10:21 kernel: [<80328c00>] start_kernel+0x2e8/0x344
Oct 2 23:10:21 kernel: Mem-info:
Oct 2 23:10:21 kernel: Normal per-cpu:
Oct 2 23:10:21 kernel: CPU 0: Hot: hi: 42, btch: 7 usd: 3 Cold: hi: 14, btch: 3 usd: 6
Oct 2 23:10:21 kernel: Active:14580 inactive:10447 dirty:1524 writeback:0 unstable:0
Oct 2 23:10:21 kernel: free:2544 slab:1628 mapped:2695 pagetables:128 bounce:0
Oct 2 23:10:21 kernel: Normal free:10176kB min:1440kB low:1800kB high:2160kB active:58320kB inactive:41788kB present:130048kB pages_scanned:0 all_unreclaimable? no
Oct 2 23:10:21 kernel: lowmem_reserve[]: 0
Oct 2 23:10:21 kernel: Normal: 0*4kB 654*8kB 305*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 10176kB
Oct 2 23:10:21 kernel: Swap cache: add 0, delete 0, find 0/0, race 0+0
Oct 2 23:10:21 kernel: Free swap = 0kB
Oct 2 23:10:21 kernel: Total swap = 0kB
Oct 2 23:10:21 kernel: Free swap: 0kB
Oct 2 23:10:21 kernel: 32768 pages of RAM
Oct 2 23:10:21 kernel: 0 pages of HIGHMEM
Oct 2 23:10:21 kernel: 1132 reserved pages
Oct 2 23:10:21 kernel: 22161 pages shared
Oct 2 23:10:21 kernel: 0 pages swap cached
Условия возникновения ошибки:

прошивка RT-N16-1.9.2.7-rtn-rXXXX,
использание роутера для скачивания торрентов,
скорость скачивания >~200KB/s.


Использование свопа от ошибки не избаваляет. При возникновении ошибки ряд скачанных файлов оказываются "битыми". Причём ошибки возникают как при использовании rtorrent, так и при использовании transmission. В момент воспроизведения проблемы роутер не тормозит - ни в WEB-интерфейсе, ни в консоли. Единственное, что можно зафиксировать - это жутко долгое выполнение любой операции, связанной с чтением/записью на диск при скачивании торрентов.

Число открытых дискрипторов для файловой системы диска:

$ lsof +D /tmp/harddisk/ | wc -l
287Из них открыто на запись:

$ lsof +D /tmp/harddisk/ | grep "w " | wc -l
2Дерево процессов:

$ ps afx
PID TTY STAT TIME COMMAND
2 ? S< 0:00 [kthreadd]
5 ? S< 0:00 \_ [khelper]
4 ? S< 0:00 \_ [events/0]
3 ? RN 0:00 \_ [ksoftirqd/0]
24 ? S< 0:00 \_ [kblockd/0]
52 ? S< 0:00 \_ [kswapd0]
53 ? S< 0:00 \_ [aio/0]
51 ? S 0:00 \_ [pdflush]
50 ? S 0:00 \_ [pdflush]
105 ? S< 0:01 \_ [mtdblockd]
238 ? S< 0:00 \_ [khubd]
297 ? S< 0:00 \_ [scsi_eh_0]
298 ? D< 0:00 \_ [usb-storage]
336 ? S< 0:05 \_ [kl2tpd/0]
385 ? D< 0:00 \_ [kjournald]
1 ttyS0 Ss+ 0:00 /sbin/init
199 ? Ss 0:00 syslogd -m 0 -O /tmp/syslog.log -S -D -l 7 -b 1
202 ? Ss 0:00 klogd
205 ? S 0:00 nas
209 ? Ss 0:00 telnetd
213 ? S 0:00 dropbear -p 22 -4
594 ? Ss 0:00 \_ dropbear -p 22 -4
595 pts/0 Ss 0:00 | \_ -sh
596 pts/0 S+ 0:07 | \_ top
1270 ? Ss 0:00 \_ dropbear -p 22 -4
1362 pts/1 Ss 0:00 \_ -sh
1660 pts/1 R+ 0:00 \_ ps afx
216 ? S 0:00 httpd vlan2
221 ? S 0:00 dnsmasq
245 ? S 0:00 lld2d br0 eth1
327 ? Ss 0:00 udhcpc -i vlan2 -p /var/run/udhcpc0.pid -s /tmp/udhcp
330 ? S 0:00 l2tpd
337 ? S 0:00 \_ pppd sync nodetach noaccomp nobsdcomp nodeflate n
334 ? Ss 0:00 watchdog
366 ? S 0:00 upnp -D -L br0 -W ppp0
388 ? Ss 0:00 /usr/sbin/vsftpd
390 ? Ss 0:00 /usr/sbin/nmbd -D
392 ? Ss 0:00 /usr/sbin/smbd -D
404 ? Ss 0:00 cron
548 ? S 0:00 /opt/bin/bash /opt/bin/dlengine
1662 ? S 0:00 \_ sleep 30
559 ? S< 0:00 lighttpd -f /opt/etc/lighttpd/lighttpd.conf
560 ? S<s 0:00 \_ /opt/bin/php-fcgi
573 ? S< 0:00 \_ /opt/bin/php-fcgi
574 ? S< 0:00 \_ /opt/bin/php-fcgi
571 ? S<s 0:00 darkstat -i ppp0 -p 667 --chroot /opt/var/log
572 ? S<s 0:00 \_ darkstat -i ppp0 -p 667 --chroot /opt/var/log
585 ? S 0:00 transmission-daemon -g /opt/etc/transmission
586 ? S 0:00 \_ transmission-daemon -g /opt/etc/transmission
587 ? D 0:25 \_ transmission-daemon -g /opt/etc/transmission
588 ? S 0:00 \_ transmission-daemon -g /opt/etc/transmission

Мои догадки: в какой-то момент память RAM лавинообразно заполняется, а swapper не успевает выделить нужный объём памяти на диске. Это видно по приложенному графику: в 21:40 было снято ограничение на скорость скачивания торрента, а в 21:50 посыпались ошибки в syslog'е.
http://i063.radikal.ru/1205/ec/ccd460fff617t.jpg (http://radikal.ru/F/i063.radikal.ru/1205/ec/ccd460fff617.png.html)
Если оценить скорость ввода-вывода на диск:

$ dd if=/dev/discs/disca/part1 of=/dev/null count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 34,892 s, 7,7 MB/s

$ dd if=/dev/zero of=/tmp/harddisk/backup/nonsense.swp count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 116,384 s, 2,3 MB/s

то она окажется меньше, чем пиковая скорость скачивания торрента по графикам rrd.

Пробовал воспроизвести ситуацию с помощью wget, скачивая с ПК большие файлы, но не смог получить wget'ом скорость скачивания большую, чем максимальная скорость записи на диск. wget оказался умнее меня?:)

Линуксоиды, есть мнение, что wget не скачивает быстрее, чем может записать на диск, используя алгоритм "скачал блок - записал блок". А вот торрент-клиенты такой логики лишены. Как мне подтвердить свои догадки?

sglyk
08-10-2010, 07:29
Так же всплывают и ответы;)

Надо увеличить /proc/sys/vm/min_free_kbytes...
У меня 16384, и ошибок нет.

ryzhov_al
08-10-2010, 08:26
Спасибо за совет. Настройки по умолчанию:

$ cat /proc/sys/vm/swappiness
60
$ cat /proc/sys/vm/min_free_kbytes
1442
Увеличил min_free_kbytes до 16384, проверю в работе.

Однако два вопроса всё равно остались.

Насколько я для себя выяснил, rtorrent использует memory mapping. Получается, файлы напрямую отображаются в память, а за ввод-вывод на диск отвечают исключительно функции\алгоритмы ядра. Как бы не старался Linux VM, если скорость скачивания заметно превышает скорость записи на диск, то kswapd\pdflush просто не успеют ничего выгрузить на диск. Linux VM мы параметром min_free_kbytes подкрутили, но в случае, описанном постом выше засада всё равно возникнет?

Почему ошибка page allocation failure у меня никогда не возникала на ядрах 2.4?

Pablo Escobar
08-10-2010, 11:47
Почему ошибка page allocation failure у меня никогда не возникала на ядрах 2.4?

регулярно на 2,4. Правда, на wl500gp1

ryzhov_al
08-10-2010, 11:49
регулярно на 2,4. Правда, на wl500gp1
Угу. При упоминании ядра 2.4 имелось в виду устройство wl-500g premium v1 128mb.

Pablo Escobar
08-10-2010, 12:22
Угу. При упоминании ядра 2.4 имелось в виду устройство wl-500g premium v1 128mb.

у меня по симптоматике бывает два варианта:
- отваливается dropbear, web-морда и интернет;
- отваливается только dropbear и web-морда.

Судя по тому, что в три часа ночи туда льется бэкап (NFS), и логи такие же, а с утра в подавляющем полшинстве случаев все работает (битые торренты иногда присутствуют), ваша идея ram-swapper сильно правдоподобна.

Vitaly_k
08-10-2010, 12:23
Тоже регулярно вываливается ошибка ядра.
Роуетер RT-N16, transmission.
Своп не включал, разве 128 мб памяти мало, чтобы обойтись без свопа?

nexby
08-10-2010, 14:59
похожая ошибка возникает при добавлении торрентов на закачку.
торрент-клиент - rTorrent
ну и проблем и тормозов при этом, как бы, никаких не замечено.
мож так задумано?

nexby
08-10-2010, 17:03
поправочка:
ошибка возникает не при добавлении торрентов, а при открытии веб-интерфейса. и далее, при открытом интерфейсе возникновение этой ошибки носит постоянный характер вплоть до закрытия веб-интерфейса.

Pablo Escobar
08-10-2010, 19:52
поправочка:
ошибка возникает не при добавлении торрентов, а при открытии веб-интерфейса. и далее, при открытом интерфейсе возникновение этой ошибки носит постоянный характер вплоть до закрытия веб-интерфейса.

поддерживаю. причем загрузка 30-70%

igor77777
08-10-2010, 19:53
Увеличил min_free_kbytes до 16384, проверю в работе.



А как это делается?
(В смысле увеличение min_free_kbytes)

ryzhov_al
08-10-2010, 20:22
Либо где-нибудь в post-boot

echo 16384 > /proc/sys/vm/min_free_kbytes
либо через sysctl (http://www.centos.org/docs/4/4.5/Reference_Guide/s1-proc-sysctl.html) в стартовых скриптах (http://www.wl500g.info/showthread.php?t=12221).

igor77777
09-10-2010, 04:01
Либо где-нибудь в post-boot

cat 16384 > /proc/sys/vm/min_free_kbytes

после перегрузки параметр не изменился.
А если выполнить это в putty то получаю:

cat 16384 > /proc/sys/vm/min_free_kbytes
16384: No such file or directory

Где собака зарыта?

igor77777
09-10-2010, 04:07
после перегрузки параметр не изменился.
А если выполнить это в putty то получаю:

cat 16384 > /proc/sys/vm/min_free_kbytes
16384: No such file or directory

Где собака зарыта?

ага, сам же отвечаю.
Нужно вставлять в post-boot:

echo 16384 > /proc/sys/vm/min_free_kbytes
параметр вроде поменялся.
посмотрю, что будет с ошибками.

ryzhov_al
09-10-2010, 21:15
Помогло, указанной ошибки больше нет.
При скачивании на скорости 2,5МБ/c наблюдаем картину:

top - 00:00:14 up 1 day, 1:32, 0 users, load average: 3.33, 3.45, 3.53
Tasks: 52 total, 1 running, 51 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.7%sy, 0.0%ni, 0.0%id, 97.7%wa, 0.0%hi, 1.0%si, 0.0%st
Mem: 126544k total, 101812k used, 24732k free, 868k buffers
Swap: 0k total, 0k used, 0k free, 69620k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21805 god 16 0 1648 648 500 R 1.3 0.5 0:02.30 top
337 god 10 -5 0 0 0 S 0.3 0.0 5:26.75 kl2tpd/0
5008 god 18 0 9024 6536 1756 D 0.3 5.2 17:13.04 transmission-da
2 god 10 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 god 34 19 0 0 0 S 0.0 0.0 0:12.55 ksoftirqd/0
24 god 10 -5 0 0 0 S 0.0 0.0 0:00.42 kblockd/0
51 god 15 0 0 0 0 S 0.0 0.0 0:01.41 pdflush
4 god 10 -5 0 0 0 S 0.0 0.0 0:00.07 events/0
53 god 20 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0
105 god 10 -5 0 0 0 S 0.0 0.0 0:02.80 mtdblockd
196 god 15 0 1544 284 232 S 0.0 0.2 0:00.25 syslogd
52 god 10 -5 0 0 0 S 0.0 0.0 0:02.90 kswapd0
202 god 15 0 1128 188 96 S 0.0 0.1 0:00.74 nas
1 god 23 0 1568 616 516 S 0.0 0.5 0:00.58 init
210 god 15 0 1172 348 276 S 0.0 0.3 0:00.00 dropbear
213 god 15 0 1196 428 324 S 0.0 0.3 0:01.34 httpd
218 nobody 15 0 932 420 312 S 0.0 0.3 0:02.91 dnsmasq
Видно, что 97% времени процессор ожидает завершения I/O-операций. В дальнейшем можно будет поиграться параметрами /proc/sys/vm/* для минимизации wait-времени (пример (http://forum.iconbit.ru/viewtopic.php?f=42&t=3244&p=36395)).
RAM больше не переполняется:
http://s019.radikal.ru/i633/1205/31/01b477953ceat.jpg (http://radikal.ru/F/s019.radikal.ru/i633/1205/31/01b477953cea.png.html)

rss
10-10-2010, 20:05
Спасибо за совет. Настройки по умолчанию:

$ cat /proc/sys/vm/swappiness
60
$ cat /proc/sys/vm/min_free_kbytes
1442
Увеличил min_free_kbytes до 16384, проверю в работе.

Однако два вопроса всё равно остались.

Насколько я для себя выяснил, rtorrent использует memory mapping. Получается, файлы напрямую отображаются в память, а за ввод-вывод на диск отвечают исключительно функции\алгоритмы ядра. Как бы не старался Linux VM, если скорость скачивания заметно превышает скорость записи на диск, то kswapd\pdflush просто не успеют ничего выгрузить на диск. Linux VM мы параметром min_free_kbytes подкрутили, но в случае, описанном постом выше засада всё равно возникнет?

Почему ошибка page allocation failure у меня никогда не возникала на ядрах 2.4?

Просьба погонять маршрутизатор на тестах. В архиве обычный STREAM на 45 МБ, а также простые многопотоковые тесты для создания нагрузки со случайным доступом. Соответственно на 10, 100 и 128 МБ. Последний гарантированно вызывает свопинг на RT-N16. Всё с исходниками. Если есть желание, можно попробовать изменить количество потоков и объем выделяемой памяти.

PS: основная задача - добиться устойчивой ошибки без использования торрентов.

sht0rm
31-10-2010, 09:32
А что делать есть валится с ошибкой
"kernel: swapper: page allocation failure. order:3, mode:0x4020"
НО, сам роутер торренты не раздает.
По ssh зайти на него смог, по top памяти свободно было 108мб.

Торренты раздаются за роутером.
NAS Synology ds210j (Transmission 2.11) - 17 торрентов (максимум 300 коннектов разрешено, не более 20 на торрент)

Ноут Dell XPS m1330a (Transmission 2.12) - 156 торрентов (аналогично максимум 300 пиров разрешено и не более 20 на торрент).

Что было сделано:
отключил UPnP на роутере.
Пробросил на каждый торрент-клиент 1 порт. и его же прописал в настройках клиента.

через полтора часа снова упал.
Прошивки пробовал почти все. Сбрасывал в дефолт и настраивал заново.
в данный момент тестирую 2308.

Приложу syslog.

ryzhov_al
31-10-2010, 19:00
Просьба погонять маршрутизатор на тестах. В архиве обычный STREAM на 45 МБ, а также простые многопотоковые тесты для создания нагрузки со случайным доступом. Соответственно на 10, 100 и 128 МБ. Последний гарантированно вызывает свопинг на RT-N16. Всё с исходниками. Если есть желание, можно попробовать изменить количество потоков и объем выделяемой памяти.

PS: основная задача - добиться устойчивой ошибки без использования торрентов.
Погонял, в том числе с торрентами, никаких ошибок при установленном параметре vm.min_free_kbytes=10240 нет. Использовал скрипт:

$ cat /tmp/harddisk/tmp/mem_load.sh
#!/bin/sh
echo Time [HH:MM:SS], Free RAM [MB], Free Swap [MB] > /tmp/mem_heartbeat.csv
for seconds in `seq 1 180`;
do
echo `date +%H:%M:%S`, `cat /proc/meminfo | grep ^MemFree | gawk '{print $2}'`, `cat /proc/meminfo | grep ^SwapFree | gawk '{print $2}'` >> /tmp/mem_heartbeat.csv
case "$seconds" in
20) /tmp/harddisk/tmp/memtest10 & ;;
40) killall memtest10 & ;;
60) /tmp/harddisk/tmp/memtest100 & ;;
80) killall memtest100 & ;;
100) /tmp/harddisk/tmp/memtest & ;;
120) killall memtest & ;;
esac
sleep 1s

$ nice -20 /tmp/harddisk/tmp/mem_load.sh



Пояснения к графику:
http://s019.radikal.ru/i639/1205/a1/89064b551c81t.jpg (http://radikal.ru/F/s019.radikal.ru/i639/1205/a1/89064b551c81.png.html)
в 21:40:41 запуск memtest10,
в 21:41:11 остановка memtest10,
в 21:41:33 запуск memtest100,
в 21:42:40 остановка memtest100,
в 21:42:40 запуск memtest,
в 21:43:28 остановка memtest.

rss
31-10-2010, 19:20
Погонял, в том числе с торрентами, никаких ошибок при установленном параметре vm.min_free_kbytes=10240 нет.


Спасибо за информацию. Только для memtest со 128-ю МБ может быть маловато 50 секунд. А со значением vm.min_free_kbytes по-умолчанию всё работает?

Если сбоев не будет, значит надо другой тест подбирать.

sht0rm
31-10-2010, 19:57
Тестировал последнюю асусовскую прошивку 1.0.1.9
Тоже самое.
Прошился на томато, и в его настройках смотрю сколько соединений он отслеживает, оказалось трансмишн на synology хреново ограничивает себя в пирах, на 18 торрентах 1308 соединений.

ryzhov_al
01-11-2010, 18:24
А со значением vm.min_free_kbytes по-умолчанию всё работает?
Тоже работает.

Если сбоев не будет, значит надо другой тест подбирать.
Ошибку можно воспроизвести лишь с медленным USB-носителем - дешевой флешкой:

$ dd if=/dev/discs/disca/part1 of=/dev/null count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 34,892 s, 7,7 MB/s

$ dd if=/dev/zero of=/tmp/harddisk/backup/nonsense.swp count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 116,384 s, 2,3 MB/s

С относительно быстрым USB-HDD ошибку повторить не удаётся.
Скорость I/O винчестера:

$ dd if=/dev/discs/disca/part1 of=/dev/null count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 12,0739 s, 22,2 MB/s

$ dd if=/dev/zero of=/tmp/harddisk/nonsense.swp count=512K
524288+0 records in
524288+0 records out
268435456 bytes (268 MB) copied, 32,5379 s, 8,2 MB/s
Напрашивается следующий вывод: при использовании тормозного носителя и дефолтного (малого!) значения vm.min_free_kbytes может возникнуть ситуация, когда ядро не успевает выделять требуемую процессам память.

Upd 23.11.10. Пользователи rtorrent, если у Вас названая ошибка возникает в момент обращения к веб-интерфейсу rtorrent'а, то необходимо выполнить действия, описанные здесь (http://www.wl500g.info/showpost.php?p=217785&postcount=3527).

Zhmak
09-02-2011, 12:40
Если роутер с rTorrent долгое время висит на раздаче, то всякая активнось прекращается. В веб интерфейсе всё в порядке - раздачи зеленые.
Если подхватить screen, то у каждой раздачи написано Tracker: [Error]
Перезапуск клиента проблему решает до следующего раза. Трекеры разные (лостфильм, рутрекер, и др.)

Как убрать проблему?

maxbanton
18-03-2011, 22:46
WL500gpv2, 1.9.2.7-rtn-r2808 + USB HDD WD 500Gb
Сыпет ошибки в syslog. Выдержку прилагаю. Такая же ситуация и в ревизии 2817.
Прошивки брал тут: ftp://core.dumped.ru/rt-n/*/wl/WL500gpv2-1.9.2.7-rtn-r*.trx.gz

theMIROn
18-03-2011, 23:53
WL500gpv2, 1.9.2.7-rtn-r2808 + USB HDD WD 500Gb
Сыпет ошибки в syslog. Выдержку прилагаю. Такая же ситуация и в ревизии 2817.
Прошивки брал тут: ftp://core.dumped.ru/rt-n/*/wl/WL500gpv2-1.9.2.7-rtn-r*.trx.gz

настройте аппетиты rtorret-а в плане памяти.
размер всех файлов логов кстати какой в этот момент?

maxbanton
19-03-2011, 00:28
настройте аппетиты rtorret-а в плане памяти.
размер всех файлов логов кстати какой в этот момент?


8 /opt/var/log/kern.log
4 /opt/var/log/rtorrentInit.log
56 /opt/var/log/syslog.log

логи на HDD, настроен logrotate.

P.S.: Прошивал r2808, отключили свет. Свет включают, я к роутеру - он в rescue mode. Утилитой асуса восстановил r2817 - пол часа, полет номальный, ошибки в лог не сыпет :confused:

P.S.S.: Какого размера ограничение памяти для rtorrent порекомендуете?

mvo
11-07-2011, 08:18
RT-N16-1.9.2.7-rtn-r3121.trx, HDD 320GB, SWAP 256M, во время работы transmission в логах появляется:
(warning|kern|kernel) swapper: page allocation failure. order:3, mode:0x4020

в /tmp/local/sbin/post-boot дописал: "echo 16384 > /proc/sys/vm/min_free_kbytes" -> flashfs save && flashfs commit && flashfs enable && reboot

Безрезультатно... Как с этим бороться? :confused:

ryzhov_al
11-07-2011, 09:56
в /tmp/local/sbin/post-boot дописал: "echo 16384 > /proc/sys/vm/min_free_kbytes" -> flashfs save && flashfs commit && flashfs enable && reboot

Безрезультатно... Странно, потому что..

09:58:28 11-07-2011 (warning|kern|kernel) Mem-info:
...
09:58:28 11-07-2011 (warning|kern|kernel) Normal free:10908kB min:1440kB low:1800kB high:2160kB
Попробуйте на загруженной системе выполнить свой tmp/local/sbin/post-boot. Не будет ли сообщений об ошибках?

И ещё, в любом случае необходимо в transmission ограничить скорость скачивания до значений меньших, чем скорость записи на USB-носитель. Иначе при любых настройках LinuxVM можно словить локального пира и получить описанную вами ситуацию. Обратите внимание: SWAP в момент возникновения ошибки практически не участвует. Может как раз потому, что участвовать не успевает:)


...
09:58:28 11-07-2011 (warning|kern|kernel) Free swap = 256740kB
09:58:28 11-07-2011 (warning|kern|kernel) Total swap = 257000kB

mvo
12-07-2011, 12:53
Странно, потому что..

Попробуйте на загруженной системе выполнить свой tmp/local/sbin/post-boot. Не будет ли сообщений об ошибках?



[root@my sbin]$ post-boot
cannot access `/tmp\r': No such file or directory
: nonexistent directoryot: line 4: can't create /proc/sys/vm/min_free_kbytes

postboot:


#!/bin/sh
chmod 777 /tmp

echo 16384 > /proc/sys/vm/min_free_kbytes

ryzhov_al
12-07-2011, 13:11
Вывод: концы строк в файле /tmp/local/sbin/post-boot не соответствуют стандартам unix. Правьте.

mvo
12-07-2011, 13:36
Вывод: концы строк в файле /tmp/local/sbin/post-boot не соответствуют стандартам unix. Правьте.

Спасибо, сейчас нормально запускается. Надеюсь, дело было в этом :rolleyes:

njachaj
16-07-2011, 05:48
Прописал в конфиге rtorrent:

send_buffer_size = 4096
receive_buffer_size = 4096 и чума пропала, за неделю ни одной ошибки. Раньше перли непрерывно.

MrGalaxy
14-08-2011, 08:09
Тут пишут (http://thedaneshproject.com/posts/cannot-allocate-memory-error/), что обсуждаемый параметр появился в ядре 2.6.
Докладываю, что и у меня ошибок с allocation на ядре 2.4 не было, наверное там памяти для системы резервировалось больше.

А почему в прошивке сделано 1442 по умолчанию? Ни 1024, ни 2048. Цифра какая-то непонятная.

И не много ли 16384?

pretoreani
23-08-2011, 06:31
Подскажите, на RT-N16 (прошивка 1.9.2.7-rtn-r3158) установленный rtorrent поедает всю оперативку (от 100мб свободных до 3мб) и потом сам же пишет в логи Error chunk read: Cannot allocate memory.
К роутеру подключен USB винт разбитый на два раздела, оба в EXT3.
dstat показывает что память забивается кэшем.
Однако по какойто причине этот кэш не выбрасывается по мере необходимости - например даже после остановки rtorrent я не могу запустить запрос в sqlite - пишет segmentation fault.

Конфиг


max_memory_usage = 16M
max_open_http = 8
send_buffer_size = 4K
receive_buffer_size = 4K
hash_max_tries = 1
max_open_files = 50
max_open_sockets = 150
hash_read_ahead = 1
hash_interval = 1000
check_hash = no
use_udp_trackers = no

min_peers = 1
max_peers =40
min_peers_seed = 1
max_peers_seed = 40
max_uploads = 35
max_uploads_global = 85
max_downloads_global = 30
enable_trackers = yes
tracker_numwant = 200
download_rate = 5000
upload_rate = 5000


Далее либо ребут, либо помогает непонятная мне команда


sync; echo 3 > /proc/sys/vm/drop_caches


но через три-четыре минуты опять вся память забита кэшем.
кстати такой факт - если rt делает rehash недокачанного файла - кэш забивается за секунды.

konnmor
02-12-2011, 07:23
Всем привет!

Для устранения ошибки "page allocation failure" при работе rtorrent по рекомендациям с форума прописал в post-boot следующий код:


echo 16384 > /proc/sys/vm/min_free_kbytes

Делал всё дистанционно через putty, после чего роутер перестал отзываться. Потом до меня дошло, что рекомендации были для RT-16N с 128 МБ оперативки, а у меня wl500gp v.1 с 32 МБ (прошивка последняя от Энтузиастов r3497). Пока физически к роутеру подойти смогу только вечером, а на носу выходные и без инета оставаться на эти дни не хочется, поэтому сейчас прошу оперативной помощи - к чему готовиться и если что, как можно будет малой кровью восстановить работу.
Прошивать и ставить всё заново не хотелось бы.

ryzhov_al
02-12-2011, 07:58
Сбросить роутер в заводские настройки.
В следующий раз подумать над смыслом вводимых команд.
Всё.

ConstAntz
02-12-2011, 08:41
Сбросить роутер в заводские настройки.
В следующий раз подумать над смыслом вводимых команд.
Всё.

а отключить ван, затем поправить постбут - не прокатит?

konnmor
11-12-2011, 17:34
Либо где-нибудь в post-boot

echo 16384 > /proc/sys/vm/min_free_kbytes

А для wl500gp v.1 с памятью 32 МБ сколько можно установить min_free_kbytes?

ryzhov_al
11-12-2011, 17:40
А для wl500gp v.1 с памятью 32 МБ сколько можно установить min_free_kbytes?Оптимальный резерв необходимо будет выяснять опытным путём. Для начала рекомендовал бы удвоить значение, установленное по умолчанию.

yuraz
09-01-2012, 23:38
Всем привет!

Для устранения ошибки "page allocation failure" при работе rtorrent по рекомендациям с форума прописал в post-boot следующий код:


echo 16384 > /proc/sys/vm/min_free_kbytes

Делал всё дистанционно через putty, после чего роутер перестал отзываться. Потом до меня дошло, что рекомендации были для RT-16N с 128 МБ оперативки, а у меня wl500gp v.1 с 32 МБ (прошивка последняя от Энтузиастов r3497). Пока физически к роутеру подойти смогу только вечером, а на носу выходные и без инета оставаться на эти дни не хочется, поэтому сейчас прошу оперативной помощи - к чему готовиться и если что, как можно будет малой кровью восстановить работу.
Прошивать и ставить всё заново не хотелось бы.

рекомендация давалась для rt-16
у него озу 128
в wl500gp озу 32

по умолчанию в wl500gp этот параметр стоит
около 721

вообще wl500gp будет слабоват для rutorrent, лучше купить rt-16
--
перешивать не надо - достаточно вернуть значение на место
убрать из post-boot это изменение



echo 16384 > /proc/sys/vm/min_free_kbytes

AlexeyS
11-01-2012, 17:25
Подскажите, это ошибка в коде или ему просто не хватает памяти:


Jan 11 21:26:47 kernel: tcpdump: page allocation failure. order:5, mode:0xc0d0
Jan 11 21:26:47 kernel: Call Trace:
Jan 11 21:26:47 kernel: [<800032f0>] stack_done+0x20/0x40
Jan 11 21:26:47 kernel: Mem-info:
Jan 11 21:26:47 kernel: Normal per-cpu:
Jan 11 21:26:47 kernel: CPU 0: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1 usd: 0
Jan 11 21:26:47 kernel: Active:1561 inactive:2091 dirty:0 writeback:0 unstable:0
Jan 11 21:26:47 kernel: free:770 slab:1232 mapped:498 pagetables:64 bounce:0
Jan 11 21:26:47 kernel: Normal free:3080kB min:720kB low:900kB high:1080kB active:6244kB inactive:8364kB present:32512kB pages_scanned:0 all_unreclaimable? no
Jan 11 21:26:47 kernel: lowmem_reserve[]: 0


В простейшем случае возникает если просто запустить tcpdump без параметров.

Прошивка 1.9.2.7-rtn-r3716, возникало и на более ранних.

ovpavel
11-01-2012, 17:35
Подскажите, это ошибка в коде или ему просто не хватает памяти:


post-boot
#!/bin/sh
echo 4096 > /proc/sys/vm/min_free_kbytes
echo 15 > /proc/sys/vm/swappiness

MrGalaxy
12-01-2012, 05:04
echo 15 > /proc/sys/vm/swappiness
Поясните, пожалуйста, этот параметр.

ovpavel
12-01-2012, 05:38
Также хочу несколько слов написать о параметре swappiness, который управляет интенсивностью перемещения данных из ОЗУ в swap-память. Этот параметр может принимать значения от 0 до 100. Если параметр установлен в 0, то ядро будет пытаться не использовать swap-память насколько это возможно, если swappiness=100, то наоборот ядро будет с максимально возможной интенсивностью использовать swap-память.

MMX2
09-03-2012, 08:09
Всем доброго времени суток!
Поиском искал, искал долго - на нашел:(
Имеется RT-n16 с подключенными к нему 3-мя дисками по USB. На одном из них (Discb) есть 2 раздела - swap и под opt. На этот же диск качает Transmission.
Проблема в следующем: при активном копировании или записи на диск - маршрутизатор перезагружается. т.е. можно скопировать 60 гигов и будет все ок., а может уйти в ребут после 1 гига.
Может с копированием это и не связано - это только моя догадка.
Сам жесткий диск с внешним питанием. От маршрутизатора никто (кроме юсб хаба) не запитан.
В системном логе в большом объеме при этотм сыпется что-то непонятное:


kernel: printk: 26 messages suppressed.
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<802f0000>] cpu_cache_init+0x50/0x6c
Mar 9 10:34:43 kernel: [<c00f5838>] et_link_up+0x1658/0x2cd8 [et]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: Normal: 285*4kB 66*8kB 31*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2228kB
Mar 9 10:34:43 kernel: Swap cache: add 1276, delete 1276, find 210/328, race 0+0
Mar 9 10:34:43 kernel: Free swap = 505492kB
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c02f2b28>] wl_intrson+0x28/0x318 [wl]
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c02f2b28>] wl_intrson+0x28/0x318 [wl]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<802ebca4>] start_kernel+0x2e8/0x344
Mar 9 10:34:43 kernel: [<802eb5a4>] unknown_bootoption+0x0/0x3a4
Mar 9 10:34:43 kernel: Mem-info:
Mar 9 10:34:43 kernel: Normal per-cpu:
Mar 9 10:34:43 kernel: CPU 0: Hot: hi: 42, btch: 7 usd: 6 Cold: hi: 14, btch: 3 usd: 12
Mar 9 10:34:43 kernel: Active:15482 inactive:11486 dirty:1959 writeback:0 unstable:0
Mar 9 10:34:43 kernel: free:550 slab:2386 mapped:982 pagetables:86 bounce:0
Mar 9 10:34:43 kernel: Normal free:2200kB min:1440kB low:1800kB high:2160kB active:61928kB inactive:45944kB present:130048kB pages_scanned:0 all_unreclaimable? no
Mar 9 10:34:43 kernel: lowmem_reserve[]: 0
Mar 9 10:34:43 kernel: Normal: 278*4kB 66*8kB 31*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2200kB
Mar 9 10:34:43 kernel: Swap cache: add 1276, delete 1276, find 210/328, race 0+0
Mar 9 10:34:43 kernel: Free swap = 505492kB
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c0116d78>] init_module+0x48d78/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c0115a74>] init_module+0x47a74/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c0115a80>] init_module+0x47a80/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<c0115a38>] init_module+0x47a38/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c0115a74>] init_module+0x47a74/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c0115a80>] init_module+0x47a80/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<c0115a38>] init_module+0x47a38/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: WARNING: at mm/slub.c:2432 kfree()
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<802f0000>] cpu_cache_init+0x50/0x6c
Mar 9 10:34:43 kernel: [<c00f5838>] et_link_up+0x1658/0x2cd8 [et]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<c013e718>] usb_hcd_submit_urb+0x0/0xa44 [usbcore]
Mar 9 10:34:44 kernel: WARNING: at mm/slub.c:2432 kfree()



и так далее в большом количестве - все не влезло.
Куда копать!
Всем большое спасибо!

MMX2
09-03-2012, 18:04
Всем доброго времени суток!
Поиском искал, искал долго - на нашел:(
Имеется RT-n16 с подключенными к нему 3-мя дисками по USB. На одном из них (Discb) есть 2 раздела - swap и под opt. На этот же диск качает Transmission.
Проблема в следующем: при активном копировании или записи на диск - маршрутизатор перезагружается. т.е. можно скопировать 60 гигов и будет все ок., а может уйти в ребут после 1 гига.
Может с копированием это и не связано - это только моя догадка.
Сам жесткий диск с внешним питанием. От маршрутизатора никто (кроме юсб хаба) не запитан.
В системном логе в большом объеме при этотм сыпется что-то непонятное:


kernel: printk: 26 messages suppressed.
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<802f0000>] cpu_cache_init+0x50/0x6c
Mar 9 10:34:43 kernel: [<c00f5838>] et_link_up+0x1658/0x2cd8 [et]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: Normal: 285*4kB 66*8kB 31*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2228kB
Mar 9 10:34:43 kernel: Swap cache: add 1276, delete 1276, find 210/328, race 0+0
Mar 9 10:34:43 kernel: Free swap = 505492kB
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c02f2b28>] wl_intrson+0x28/0x318 [wl]
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c02f2b28>] wl_intrson+0x28/0x318 [wl]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<802ebca4>] start_kernel+0x2e8/0x344
Mar 9 10:34:43 kernel: [<802eb5a4>] unknown_bootoption+0x0/0x3a4
Mar 9 10:34:43 kernel: Mem-info:
Mar 9 10:34:43 kernel: Normal per-cpu:
Mar 9 10:34:43 kernel: CPU 0: Hot: hi: 42, btch: 7 usd: 6 Cold: hi: 14, btch: 3 usd: 12
Mar 9 10:34:43 kernel: Active:15482 inactive:11486 dirty:1959 writeback:0 unstable:0
Mar 9 10:34:43 kernel: free:550 slab:2386 mapped:982 pagetables:86 bounce:0
Mar 9 10:34:43 kernel: Normal free:2200kB min:1440kB low:1800kB high:2160kB active:61928kB inactive:45944kB present:130048kB pages_scanned:0 all_unreclaimable? no
Mar 9 10:34:43 kernel: lowmem_reserve[]: 0
Mar 9 10:34:43 kernel: Normal: 278*4kB 66*8kB 31*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2200kB
Mar 9 10:34:43 kernel: Swap cache: add 1276, delete 1276, find 210/328, race 0+0
Mar 9 10:34:43 kernel: Free swap = 505492kB
Mar 9 10:34:43 kernel: Total swap = 506008kB
Mar 9 10:34:43 kernel: Free swap: 505492kB
Mar 9 10:34:43 kernel: 32768 pages of RAM
Mar 9 10:34:43 kernel: 0 pages of HIGHMEM
Mar 9 10:34:43 kernel: 1066 reserved pages
Mar 9 10:34:43 kernel: 18059 pages shared
Mar 9 10:34:43 kernel: 0 pages swap cached
Mar 9 10:34:43 kernel: swapper: page allocation failure. order:3, mode:0x4020
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c0116d78>] init_module+0x48d78/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c0115a74>] init_module+0x47a74/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c0115a80>] init_module+0x47a80/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<c0115a38>] init_module+0x47a38/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<c032a640>] wlc_tbtt+0x294/0x478 [wl]
Mar 9 10:34:43 kernel: [<c03033f0>] wlc_dpc+0x540/0xa20 [wl]
Mar 9 10:34:43 kernel: [<c0115a74>] init_module+0x47a74/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c0115a80>] init_module+0x47a80/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<c02f2ce0>] wl_intrson+0x1e0/0x318 [wl]
Mar 9 10:34:43 kernel: [<c0115a38>] init_module+0x47a38/0x48f74 [ehci_hcd]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: WARNING: at mm/slub.c:2432 kfree()
Mar 9 10:34:43 kernel: Call Trace:
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<802f0000>] cpu_cache_init+0x50/0x6c
Mar 9 10:34:43 kernel: [<c00f5838>] et_link_up+0x1658/0x2cd8 [et]
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<8000150c>] ret_from_irq+0x0/0x4
Mar 9 10:34:43 kernel: [<80300000>] pktsched_init+0x4/0xec
Mar 9 10:34:43 kernel: [<c013e718>] usb_hcd_submit_urb+0x0/0xa44 [usbcore]
Mar 9 10:34:44 kernel: WARNING: at mm/slub.c:2432 kfree()



и так далее в большом количестве - все не влезло.
Куда копать!
Всем большое спасибо!

Спасибо за тыкание носом в тему:)! Внес

echo 16384 > /proc/sys/vm/min_free_kbytes
в Post-boot, пока полет нормальный:)

dfayruzov
29-11-2012, 11:34
Всем привет, давно сюда не заглядывал, но вот случилась необходимость.
С недавних пор начал пошаливать домашний RT-N16. Симптомы простые, но разнообразные - полностью зависает, "отваливается" dhcp, беспроводные клиенты не могут подключиться к сети, а проводные при этом работают и т.д. Траблшутинг осложняется тем, что вроде бы ничего не менял, плохо стало само собой.

Первым делом в лог, нашел там подозрительные вещи:

Oct 29 16:56:22 kernel: swapper: page allocation failure. order:3, mode:0x4020
Oct 29 16:56:22 kernel: Call Trace:
Oct 29 16:56:22 kernel: [<8000ded0>] dump_stack+0x8/0x34
Oct 29 16:56:22 kernel: [<80059bbc>] __alloc_pages+0x294/0x344
Oct 29 16:56:22 kernel: [<80077f18>] __slab_alloc+0x1d8/0x4b8
Oct 29 16:56:22 kernel: [<80078c88>] __kmalloc+0x144/0x184
Oct 29 16:56:22 kernel: [<801a6f3c>] pskb_expand_head+0x5c/0x268
Oct 29 16:56:22 kernel: [<80291c1c>] vlan_dev_hard_start_xmit+0x208/0x27c
Oct 29 16:56:22 kernel: [<801afa5c>] dev_queue_xmit+0x2f8/0x324
Oct 29 16:56:22 kernel: [<8028a60c>] br_dev_queue_push_xmit+0x70/0xbc
Oct 29 16:56:22 kernel: [<8028a6c8>] br_forward_finish+0x70/0x84
Oct 29 16:56:22 kernel: Call Trace:
Oct 29 16:56:22 kernel: [<8000ded0>] dump_stack+0x8/0x34
Oct 29 16:56:22 kernel: [<80059bbc>] __alloc_pages+0x294/0x344
Oct 29 16:56:22 kernel: [<80077f18>] __slab_alloc+0x1d8/0x4b8
Oct 29 16:56:22 kernel: [<80078514>] __kmalloc_track_caller+0x144/0x184
Oct 29 16:56:22 kernel: [<801a79d0>] __alloc_skb+0x70/0x13c
Oct 29 16:56:22 kernel: Mem-info:
Oct 29 16:56:23 kernel: Normal per-cpu:
Oct 29 16:56:23 kernel: CPU 0: Hot: hi: 42, btch: 7 usd: 0 Cold: hi: 14, btch: 3 usd: 11
Oct 29 16:56:23 kernel: Active:2321 inactive:3424 dirty:0 writeback:0 unstable:0
Oct 29 16:56:23 kernel: free:471 slab:23550 mapped:1073 pagetables:78 bounce:0
Oct 29 16:56:23 kernel: Normal free:1884kB min:1440kB low:1800kB high:2160kB active:9284kB inactive:13696kB present:130048kB pages_scanned:0 all_unreclaimable? no
Oct 29 16:56:23 kernel: lowmem_reserve[]: 0
Oct 29 16:56:23 kernel: Normal: 125*4kB 95*8kB 35*16kB 0*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1884kB
Oct 29 16:56:23 kernel: Swap cache: add 0, delete 0, find 0/0, race 0+0
Oct 29 16:56:23 kernel: Free swap = 0kB
Oct 29 16:56:23 kernel: Total swap = 0kB
Oct 29 16:56:23 kernel: Free swap: 0kB
Oct 29 16:56:23 kernel: 32767 pages of RAM
Oct 29 16:56:23 kernel: 0 pages of HIGHMEM
Oct 29 16:56:23 kernel: 1168 reserved pages
Oct 29 16:56:23 kernel: 4216 pages shared
Oct 29 16:56:23 kernel: 0 pages swap cached


Поиском по форуму обнаружил, что проблема стандартная, добавил в автозагрузку

echo 16384 > /proc/sys/vm/min_free_kbytes
Характер ошибок изменился, но проблема не решилась, интернет все так же отваливается:


Nov 26 05:30:26 kernel: dnsmasq invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0
Nov 26 05:30:27 kernel: Call Trace:
Nov 26 05:30:27 kernel: [<8000ded0>] dump_stack+0x8/0x34
Nov 26 05:30:27 kernel: [<80057b58>] out_of_memory+0x2b4/0x2ec
Nov 26 05:30:27 kernel: [<80059c58>] __alloc_pages+0x330/0x344
Nov 26 05:30:27 kernel: [<8005be74>] __do_page_cache_readahead+0x104/0x2c8
Nov 26 05:30:27 kernel: [<8005440c>] filemap_nopage+0x144/0x3cc
Nov 26 05:30:27 kernel: [<80064b1c>] __handle_mm_fault+0x138/0xc20
Nov 26 05:30:27 kernel: [<80012000>] do_page_fault+0x140/0x3b0
Nov 26 05:30:27 kernel: [<80007d60>] ret_from_exception+0x0/0xc
Nov 26 05:30:27 kernel: Mem-info:
Nov 26 05:30:27 kernel: Normal per-cpu:
Nov 26 05:30:27 kernel: CPU 0: Hot: hi: 42, btch: 7 usd: 0 Cold: hi: 14, btch: 3 usd: 11
Nov 26 05:30:27 kernel: Active:899 inactive:22 dirty:0 writeback:0 unstable:0
Nov 26 05:30:27 kernel: free:3153 slab:25672 mapped:19 pagetables:78 bounce:0
Nov 26 05:30:27 kernel: Normal free:12516kB min:16384kB low:20480kB high:24576kB active:3596kB inactive:88kB present:130048kB pages_scanned:7238 all_unreclaimable? yes
Nov 26 05:30:27 kernel: lowmem_reserve[]: 0
Nov 26 05:30:27 kernel: Normal: 290*4kB 404*8kB 248*16kB 1*32kB 0*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 12360kB
Nov 26 05:30:27 kernel: Swap cache: add 0, delete 0, find 0/0, race 0+0
Nov 26 05:30:27 kernel: Free swap = 0kB
Nov 26 05:30:27 kernel: Total swap = 0kB
Nov 26 05:30:27 kernel: Free swap: 0kB
Nov 26 05:30:27 kernel: 32767 pages of RAM
Nov 26 05:30:27 kernel: 0 pages of HIGHMEM
Nov 26 05:30:27 kernel: 1168 reserved pages
Nov 26 05:30:27 kernel: 989 pages shared
Nov 26 05:30:27 kernel: 0 pages swap cached
Nov 26 05:30:27 kernel: Out of memory: kill process 400 (php-fcgi) score 243 or a child
Nov 26 05:30:27 kernel: Killed process 401 (php-fcgi)


Буду благодарен советам по траблшутингу.

Игорь
15-01-2013, 19:29
Я протупил, нужно было > убрать понял когда роутер ушел на перезагрузку.
Интернет работает, но все что настраивалось скриптами (самба, торенты, poptop и т.д.) все пропало, бекапов настроек как назло нет.
Прошу совета как вернуть все в рабочее состояние.
Переписывать десяток скриптов и наново создавать самбовых пользователей очень неохота.

Игорь
17-01-2013, 12:10
ssh доступен буквально пару секунд после включения не успеваю поправить.

Вылечил. Сразу после появления пинга раза с пятого успел зайти по ssh и сделать

echo 8192 > /proc/sys/vm/min_free_kbytes

Trigger2000
22-02-2013, 13:17
А как в прошивке 1.9.2.7-d тоже увеличить этот параметр? Такого /proc/sys/vm/min_free_kbytes там нет, а ошибка вылезает такая:
kernel: __alloc_pages: 0-order allocation failed
Думаю проблема аналогичная теме.

MercuryV
22-02-2013, 22:10
А как в прошивке 1.9.2.7-d...
Археологией заниматься сложно, попробуйте Гуглу скормить строку
site:wl500g.info order allocation failed

mironov.nikita
23-02-2013, 10:55
Спасибо. Долго мучался с transmission. Помогло!

jmt
17-05-2013, 19:25
Всем доброго времени суток, у меня назрел вопрос касаемо прошивок RT-N16-1.9.2.7-rtn для, очевидно, RT-N16. Интересующие версии - r4XXX-r5XXX. У всех ли наблюдаются падения L2TP-сессий при фактической скорости скачивания чего-либо через torrent(торрент-клиент запущен на компьютере, который подключен к LAN-порту, >500 соединений с пирами одновременно) близкой к 85 мбит/с? Касаемо перегрева - его нет, стоит активное охлаждение на основном чипе, чипе радио и чипах памяти. До мода охлаждения, просто ребутался роутер, сейчас стало падать L2TP-подключение с ошибкой "connection reset by peer". Со штатной прошивкой 3.0.0.4.354 падений нет, всё работает стабильно. Однако, в штатной прошивке много чего нет и не работает, поэтому не могу отказаться от прошивок этой ветки. Буду благодарен за информацию по подобной проблеме. Провайдер - Билайн МСК, бывшая Корбина. Тариф - ночью скорость ограничена только физическими параметрами канала(около 95 мбит/с).

МИНЗДРАВ
22-07-2014, 16:13
Подскажите пожалуйста, почему тырнет вырубается?
18:33:32 22-07-2014 (warning|kern|kernel) [<802a3724>] dump_stack+0x8/0x34
18:33:32 22-07-2014 (warning|kern|kernel) [<80082f68>] kfree+0x150/0x158
18:33:32 22-07-2014 (warning|kern|kernel) [<801b2360>] __kfree_skb+0x14/0x1c4
18:33:32 22-07-2014 (warning|kern|kernel) [<802aa5e8>] osl_pktfree+0xd0/0x144
18:33:32 22-07-2014 (warning|kern|kernel) [<c03121bc>] wlc_dotxstatus+0xb48/0x1198 [wl]
18:33:32 22-07-2014 (warning|kern|kernel) [<c031cc2c>] wlc_dpc+0x368/0xab4 [wl]
18:33:32 22-07-2014 (warning|kern|kernel) [<c030a998>] wl_intrson+0xc4/0x250 [wl]
18:33:32 22-07-2014 (warning|kern|kernel)
18:33:32 22-07-2014 (warning|kern|kernel) [<80082f68>] kfree+0x150/0x158
18:33:32 22-07-2014 (warning|kern|kernel) [<801b2360>] __kfree_skb+0x14/0x1c4
18:33:32 22-07-2014 (warning|kern|kernel) [<801b55f0>] skb_free_datagram_locked+0x28/0x40
18:33:32 22-07-2014 (warning|kern|kernel) [<80227ca0>] udp_recvmsg+0x1a8/0x354
18:33:32 22-07-2014 (warning|kern|kernel) [<801ab368>] sock_common_recvmsg+0x44/0x60
18:33:32 22-07-2014 (warning|kern|kernel) [<801a94e8>] sock_recvmsg+0xb4/0xdc
18:33:32 22-07-2014 (warning|kern|kernel) [<801aa944>] sys_recvfrom+0x98/0x108
18:33:32 22-07-2014 (warning|kern|kernel) [<800116b0>] stack_done+0x20/0x40
18:33:32 22-07-2014 (warning|kern|kernel)
18:43:12 22-07-2014 (notice|user|c00f7d88>]) c00f7d88>] adm_enable_device+0x3604/0x437c [et]
18:43:12 22-07-2014 (warning|kern|kernel)
18:43:12 22-07-2014 (warning|kern|kernel) WARNING: at mm/slub.c:2432 kfree()
18:43:12 22-07-2014 (warning|kern|kernel) Call Trace:
18:43:12 22-07-2014 (warning|kern|kernel) [<802a3724>] dump_stack+0x8/0x34
18:43:12 22-07-2014 (warning|kern|kernel) [<80082f68>] kfree+0x150/0x158
18:43:12 22-07-2014 (warning|kern|kernel) [<801b2360>] __kfree_skb+0x14/0x1c4
18:43:12 22-07-2014 (warning|kern|kernel) [<802aa5e8>] osl_pktfree+0xd0/0x144
18:43:12 22-07-2014 (warning|kern|kernel) [<802a9860>] dma32_txreclaim+0x34/0x60
18:43:12 22-07-2014 (warning|kern|kernel) [<c00f7d88>] adm_enable_device+0x3604/0x437c [et]
18:43:12 22-07-2014 (warning|kern|kernel)
18:43:12 22-07-2014 (warning|kern|kernel) WARNING: at mm/slub.c:2432 kfree()
18:43:12 22-07-2014 (warning|kern|kernel) Call Trace:
18:43:12 22-07-2014 (warning|kern|kernel) [<802a3724>] dump_stack+0x8/0x34
18:43:12 22-07-2014 (warning|kern|kernel) [<80082f68>] kfree+0x150/0x158
18:43:12 22-07-2014 (warning|kern|kernel) [<801b2360>] __kfree_skb+0x14/0x1c4
18:43:12 22-07-2014 (warning|kern|kernel) [<802aa5e8>] osl_pktfree+0xd0/0x144
18:43:12 22-07-2014 (warning|kern|kernel) [<802a9860>] dma32_txreclaim+0x34/0x60
18:43:12 22-07-2014 (warning|kern|kernel) [<c00f7d88>] adm_enable_device+0x3604/0x437c [et]
18:43:12 22-07-2014 (warning|kern|kernel)
18:43:12 22-07-2014 (warning|kern|kernel) WARNING: at mm/slub.c:2432 kfree()
18:43:12 22-07-2014 (warning|kern|kernel) Call Trace:Поиск не помогает http://wl500g.info/showthread.php?30443-kernel-warning-at-mm-slub-c-2432-kfree%28%29&

lly
01-08-2014, 08:01
МИНЗДРАВ
Первопричина в логе пропущена(не сохранилась?), но варианта два:
1) кто-то сожрал RAM
2) бага в wl.ko, у кого то уже видел подобное

mspuz
22-02-2016, 07:32
Добрый день. Неожиданно начал вылетать transmission-daemon. Переустановка не помогает. Пока нет торрентов, все нормально, как только добавляю торрент - через пять минут вылетает. Где можно глянуть логи или причину? Спасибо.
Забыл написать - RT-N66U, прошивка от Merlina, использую Entware. В журнале обнаружил такие вот записи:

Feb 25 22:21:46 admin: Started transmission-daemon from .
Feb 25 22:21:49 transmission-daemon[1658]: UDP Failed to set receive buffer: requested 4194304, got 237568 (tr-udp.c:78)
Feb 25 22:21:49 transmission-daemon[1658]: UDP Failed to set send buffer: requested 1048576, got 237568 (tr-udp.c:89)