PDA

Bekijk de volledige versie : Strange memory problem



ofverstedt
01-09-2010, 12:43
Im using 1.9.2.7-rtn-r1982 on a RT-N16 and im having some strange memory problems under heavy cpu load (like fast downloading torrent in transmission or large file transfers over samba), here is a short part of my syslog:

Sep 1 12:45:32 kernel: swapper: page allocation failure. order:3, mode:0x4020
Sep 1 12:45:32 kernel: Call Trace:
Sep 1 12:45:32 kernel: [<8000de20>] dump_stack+0x8/0x34
Sep 1 12:45:32 kernel: [<800595ec>] __alloc_pages+0x294/0x344
Sep 1 12:45:32 kernel: [<800777f8>] __slab_alloc+0x1d8/0x4b8
Sep 1 12:45:32 kernel: [<80077df4>] __kmalloc_track_caller+0x144/0x184
Sep 1 12:45:32 kernel: [<801a7a50>] __alloc_skb+0x70/0x140
Sep 1 12:45:32 kernel: [<8020a38c>] tcp_collapse+0x214/0x468
Sep 1 12:45:32 kernel: [<8020a730>] tcp_prune_queue+0x150/0x368
Sep 1 12:45:32 kernel: [<8020b050>] tcp_data_queue+0x708/0xe10
Sep 1 12:45:32 kernel: [<8020ce6c>] tcp_rcv_established+0x224/0xc08
Sep 1 12:47:27 kernel: [<c015a10c>] ehci_urb_enqueue+0x144/0xf98 [ehci_hcd]
Sep 1 12:47:27 kernel: [<c016fafc>] usb_hcd_submit_urb+0x1f4/0xb00 [usbcore]
Sep 1 12:47:27 kernel: [<c01d1238>] usb_stor_msg_common+0xc4/0x1b8 [usb_storage]
Sep 1 12:47:27 kernel: [<c01d1868>] usb_stor_bulk_transfer_buf+0x60/0xb0 [usb_storage]
Sep 1 12:47:27 kernel: [<c01d2284>] usb_stor_Bulk_transport+0x1b4/0x37c [usb_storage]
Sep 1 12:47:27 kernel: [<c01d1a8c>] usb_stor_invoke_transport+0x44/0x428 [usb_storage]
Sep 1 12:47:27 kernel: [<c01d3a10>] usb_stor_control_thread+0x244/0x2e4 [usb_storage]
Sep 1 12:47:27 kernel: [<8003e874>] kthread+0x58/0xa4
Sep 1 12:47:27 kernel: [<8000a05c>] kernel_thread_helper+0x10/0x18
Sep 1 12:47:27 kernel: Mem-info:
Sep 1 12:47:27 kernel: 0 pages of HIGHMEM
Sep 1 12:47:27 kernel: 1128 reserved pages
Sep 1 12:47:27 kernel: Call Trace:
Sep 1 12:47:27 kernel: [<8000de20>] dump_stack+0x8/0x34
Sep 1 12:47:27 kernel: [<800595ec>] __alloc_pages+0x294/0x344
Sep 1 12:47:27 kernel: [<800777f8>] __slab_alloc+0x1d8/0x4b8
Sep 1 12:47:27 kernel: [<80077df4>] __kmalloc_track_caller+0x144/0x184
Sep 1 12:47:27 kernel: [<801a7a50>] __alloc_skb+0x70/0x140
Sep 1 12:47:27 kernel: [<8020a38c>] tcp_collapse+0x214/0x468
Sep 1 12:47:27 kernel: [<8020a730>] tcp_prune_queue+0x150/0x368
Sep 1 12:47:27 kernel: [<8020b050>] tcp_data_queue+0x708/0xe10
Sep 1 12:47:27 kernel: [<8020ce6c>] tcp_rcv_established+0x224/0xc08
Sep 1 12:47:27 kernel: [<802151e8>] tcp_v4_do_rcv+0xe8/0x450

Have anyone an idea what causes this?

wpte
05-09-2010, 12:33
You do have a harddrive with a swap partition?

Perhaps it's fixed after http://code.google.com/p/wl500g/source/detail?r=2008

lly
05-09-2010, 15:37
Perhaps it's fixed after http://code.google.com/p/wl500g/source/detail?r=2008
This(r2008) fix has nothing with memory-hungry transmission.

ofverstedt
04-01-2011, 18:21
I found a solution of the problem!
I changed this /proc/sys/vm/min_free_kbytes from 1442 to 5768
I have also replaced transmission with rtorrent and i can now download torrents in 2,5-3MB/s without problems.
/Tomas

ryzhov_al
13-01-2011, 10:19
I have also replaced transmission with rtorrent and i can now download torrents in 2,5-3MB/s without problems.
Both rtorrent and transmission uses memory mapping (http://en.wikipedia.org/wiki/Memory-mapped_file). So kernel (not torrent client!) do all I/O hard work. You may use any client you like, just tune /proc/sys/vm/min_free_kbytes for your needs (mine (http://www.wl500g.info/showthread.php?t=24875) is 16mb).

Anyway, if download speed is significantly more then HDD write speed, this error may appear again:)