Currently we are seeing our processes taking too long with mmap call. Once the process reaches to roughly ~2.8 GB, the mmap call takes upto 100 seconds and its being killed by heart beat mechanism built in the process. Would like to know anyone has seen this issue or know why would mmap take more than 100 seconds when asked for memory. In all the cases the stack trace looks the same but memory is allocated in different parts of the code.
Host and compiler info:
- Host memory: 70 gb OS: redhat 6.3 compiler: gcc 4.4.6 process memory limit(32 bit): 4 gb No Swap configured
And when this happens the host still has 50GB of memory left.
Stack Trace:
#0 0x55575430 in __kernel_vsyscall ()
#1 0x560f9dd8 in mmap () from /lib/libc.so.6
#2 0x5608f2db in _int_malloc () from /lib/libc.so.6
#3 0x5608fb7e in malloc () from /lib/libc.so.6
#4 0x55fb509a in operator new(unsigned int) () from /usr/lib/libstdc++.so.6
#5 0x55f91ed6 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_create(unsigned int, unsigned int, std::allocator<char> const&) ()
from /usr/lib/libstdc++.so.6