Ubuntu 将ulimit设置得很高有什么坏处吗?

Ubuntu 将ulimit设置得很高有什么坏处吗?,ubuntu,tomcat7,ulimit,Ubuntu,Tomcat7,Ulimit,在Ubuntu12上使用Tomcat7打开的文件太多,我遇到了问题,因此我将打开文件的硬限制和软限制分别从4096和1024增加到16384。现在我没有收到任何关于打开文件的错误,但总体CPU%似乎已经上升。增加max文件的数量是否也会在CPU时间上产生一些成本?如果没有,为什么不将ulimit设置得非常高?ulimit存在的全部原因是为了保护系统的整体性能,防止进程使用比“正常”更多的资源 “正常”可能会因您正在做的事情而有所不同,但默认情况下设置极高的限制将违背ulimit的目的,并允许任何

在Ubuntu12上使用Tomcat7打开的文件太多,我遇到了问题,因此我将打开文件的硬限制和软限制分别从4096和1024增加到16384。现在我没有收到任何关于打开文件的错误,但总体CPU%似乎已经上升。增加max文件的数量是否也会在CPU时间上产生一些成本?如果没有,为什么不将ulimit设置得非常高?

ulimit存在的全部原因是为了保护系统的整体性能,防止进程使用比“正常”更多的资源

“正常”可能会因您正在做的事情而有所不同,但默认情况下设置极高的限制将违背ulimit的目的,并允许任何进程使用荒谬的资源量。在没有用户的服务器上,这没有大型多用户环境那么重要,但它仍然是防止错误或被利用进程的有效保护措施

您的CPU可能只是上升了,因为您的计算机现在正在做更多的工作,而不是出错


PS-您希望确保您的tomcat环境中也没有问题。。。有数千个打开的文件是可以的,我不知道你的应用程序,但这也可能是某种错误的迹象。如果是的话,你就让错误的影响变得更糟:(如果你能解释为什么tomcat需要打开数千个文件,很酷,但如果不是的话……是的。

我经常将打开的文件描述符限制设置为一百万。我从来没有注意到任何性能影响(当然,保存,我的程序会重新开始工作。)是的,它预计将有数千个开放连接-我们通常有2000-3500个并发用户,峰值为4500个。我们使用30秒的保留时间进行长期连接,以避免重复SSL握手的开销。感谢您的回答!数千个开放套接字/并发用户不必等于数千个开放文件s、 但如果在您的应用程序中出现问题,那么这就可以解释为什么默认限制4096会导致问题。如果问题在您遇到16000个用户之前不会再次出现,我不会担心它。@user3109924我的理解是套接字只不过是一个用于通信目的的特殊文件。在Unix中创建套接字,您将获得一个file描述符作为返回值。所以我不明白为什么开放套接字/连接并不意味着开放文件描述符??解决10K问题的Web服务器是否有超过10K的开放文件描述符限制??