目前我们看到我们的流程在mmap调用时耗时太长。 一旦进程达到约2.8 GB,mmap调用最多需要100 秒和它被这个过程中建立的心跳机制杀死。 想知道有人见过这个问题或者知道mmap为什么会这么做 当被问及记忆时,超过100秒。在所有情况下堆栈跟踪 看起来相同,但内存分配在代码的不同部分。
主机和编译器信息:
当发生这种情况时,主机仍然有50GB的内存。
堆栈追踪:
#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