Re: [Mono-dev] Boehm GC reaching max_map_count

2012-03-23 Thread Bassam Tabbara
We are seeing the same issue. Mono is mapping a lot of memory:

 cat /proc/pid/maps | wc -l
21880

And it then reaches he max_map_count limit and dies:

Program terminated with signal 6, Aborted.
#0  0x7f69c02f51b5 in *__GI_raise (sig=value optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
in ../nptl/sysdeps/unix/sysv/linux/raise.c
#0  0x7f69c02f51b5 in *__GI_raise (sig=value optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x7f69c02f7fc0 in *__GI_abort () at abort.c:92
#2  0x00493859 in mono_handle_native_sigsegv (signal=-1944970304, 
ctx=value optimized out) at mini-exceptions.c:2223
#3  signal handler called
#4  0x7f69c02f51b5 in *__GI_raise (sig=value optimized out) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5  0x7f69c02f7fc0 in *__GI_abort () at abort.c:92
#6  0x005f8171 in GC_abort (msg=0x6b4bb1 mmap(...PROT_NONE...) 
failed) at misc.c:1099
#7  0x005ea028 in GC_unmap (start=0x7f69956e6000 \350x\211\002, 
bytes=8192) at os_dep.c:2040
#8  0x005f9049 in GC_unmap_old () at allchblk.c:383
#9  0x005e73ce in GC_finish_collection () at alloc.c:776
#10 0x005e69ef in GC_try_to_collect_inner (stop_func=0x5e631c 
GC_never_stop_func) at alloc.c:393
#11 0x005e7ae8 in GC_collect_or_expand (needed_blocks=1, 
ignore_off_page=0) at alloc.c:1045
#12 0x005f6978 in GC_alloc_large (lw=260, k=0, flags=0) at malloc.c:60
#13 0x005f6d65 in GC_generic_malloc (lb=2080, k=0) at malloc.c:204
#14 0x005f6f4e in GC_malloc_atomic (lb=2080) at malloc.c:270
#15 0x005e81db in GC_local_malloc_atomic (bytes=2080) at 
pthread_support.c:380

mmap returns ENOMEM.

We are going to increase the max_map_count limit, but 
http://www.novell.com/support/viewContent.do?externalId=7000830sliceId=1 warns 
against this (especially that it seems that 128 bytes are allocated in the 
kernel). For small mmaps like 4K or 8K that we see, this seems quite 
inefficient.

Any help here appreciated.

Thanks!
Bassam

-Original Message-
From: mono-devel-list-boun...@lists.ximian.com 
[mailto:mono-devel-list-boun...@lists.ximian.com] On Behalf Of 
pablosantosl...@terra.es
Sent: Tuesday, February 23, 2010 3:42 AM
To: mono-devel-list@lists.ximian.com
Cc: Dick Porter; Miguel de Icaza; Jesús Manuel González
Subject: [Mono-dev] Boehm GC reaching max_map_count

Hi there,

We're experiencing problems with a server running on a 64bits box with plenty 
of RAM.

After a few hours it crashed and the problem was that it was reaching the 
max_map_count limit.

We raised it to two times the default (64k) but it also crashed.

The problem is the following: normally the process has a number close to
100 or 200 mappings, but then, in less than a second, it grows beyond the limit 
and crashes.

The process is not allocating memory (it stays stable although quite
high) at this point, so we think it must be related to BoehmGC doing some 
collection or something.

The process is heavily multithreaded.

Mono is built with --with-large-heap and runs on a 64 bits box (where the 
pointer guessing issues with BoehmGC don't hit us so strongly as it happens on 
32 bit systems).

Well, anyone has any idea why this is happening?

Thanks,

pablo
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Boehm GC reaching max_map_count

2010-02-23 Thread pablosantosl...@terra.es
Hi there,

We're experiencing problems with a server running on a 64bits box with
plenty of RAM.

After a few hours it crashed and the problem was that it was reaching
the max_map_count limit.

We raised it to two times the default (64k) but it also crashed.

The problem is the following: normally the process has a number close to
100 or 200 mappings, but then, in less than a second, it grows beyond
the limit and crashes.

The process is not allocating memory (it stays stable although quite
high) at this point, so we think it must be related to BoehmGC doing
some collection or something.

The process is heavily multithreaded.

Mono is built with --with-large-heap and runs on a 64 bits box (where
the pointer guessing issues with BoehmGC don't hit us so strongly as it
happens on 32 bit systems).

Well, anyone has any idea why this is happening?

Thanks,

pablo
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list