我已经启动了一个jetty服务器和一个ehcache实例,很快我在启动另一个jave进程时遇到了linux上的线程限制.
错误消息无法创建新的本机线程(P.S.我的Linux操作系统是CentOS 6.2).
然后我用ps -xH知道两个java进程(jetty和ehcache)产生了近800个线程,ps -xH的总数是1023,ulimit -u显示1024.
所以,我的问题是为什么java产生线程但我遇到了进程号的限制?
附:我有足够的记忆力
解决方法:
因为对于Linux Threads来说,进程基本上是一回事.
它们之间的区别在于线程共享内存,文件描述符等内容,而进程则没有.
检查this以获得更深入的洞察力.因此,线程和进程都会计入1023个proccesses的限制.
你可能应该尝试创建更少的线程,这对我来说似乎是一个巨大的问题.