0

我正在观察 mongoDB 的连接。当一个新的连接生成时,我可以看到创建了一个新线程(pstack·pgrep monnod | grep -c Thread), and some new chunks memory allocated (get from /proc/pgrep mongod`/maps),其中一个块是1024K,这应该是新线程的堆栈大小,我看到它被设置为1024k在代码中。当我退出这个会话时,线程数减少了 1,但内存仍然存在。当我生成一个新连接时,这些内存似乎被重用了。所以我想这应该是linux内核的行为。我能知道我是否正确吗?这个功能在哪里有据可查?感谢您的帮助!

4

1 回答 1

0

当我退出这个会话时,线程数减少了 1,但内存仍然存在。当我生成一个新连接时,这些内存似乎被重用了。所以我想这应该是linux内核的行为。

这与内核无关。

GLIBC 将mmap线程堆栈,并具有此类堆栈的缓存。代码在这里

于 2013-02-04T06:56:24.777 回答