小编Ror*_*ory的帖子

进程超过RedHat Enterprise Linux 6的线程堆栈大小限制?

我在RHEL 6.3上运行了几个进程,但由于某种原因,它们超出了线程堆栈大小.

例如,Java进程在启动时在运行时被赋予-Xss256k的堆栈大小,并且在实际代码中使用pthread_attr_setstacksize()为C++进程提供1MB的线程堆栈大小.

但是出于某种原因,这些过程并没有坚持这些限制,我不确定为什么.

例如,当我跑

pmap -x <pid> 
Run Code Online (Sandbox Code Playgroud)

对于C++和Java进程,我可以看到每个数百个'anon'线程(我已经确认这些线程是由这些进程中的每一个创建的内部工作线程),但是这些线程的分配值各为64MB,而不是限制集以上:

00007fa4fc000000 168 40 40 rw--- [ anon ] 
00007fa4fc02a000 65368 0 0 ----- [ anon ] 
00007fa500000000 168 40 40 rw--- [ anon ] 
00007fa50002a000 65368 0 0 ----- [ anon ] 
00007fa504000000 168 40 40 rw--- [ anon ] 
00007fa50402a000 65368 0 0 ----- [ anon ] 
00007fa508000000 168 40 40 rw--- [ anon ] 
00007fa50802a000 65368 0 0 ----- [ anon ] 
00007fa50c000000 168 40 40 rw--- [ anon …
Run Code Online (Sandbox Code Playgroud)

linux redhat pthreads linux-kernel ulimit

4
推荐指数
1
解决办法
8947
查看次数

标签 统计

linux ×1

linux-kernel ×1

pthreads ×1

redhat ×1

ulimit ×1