9

我在 Ubuntu 12 上使用 Tomcat7 时遇到了太多打开文件的问题,因此我将打开文件数量的硬限制和软限制分别从 4096 和 1024 增加到 16384。现在我没有收到更多关于打开文件,但总体 CPU% 似乎有所上升。增加最大文件的数量是否也会消耗 CPU 时间?如果不是,为什么不将 ulimit 设置得非常高呢?

4

1 回答 1

5

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

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

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

PS - 你想确保你的 tomcat 环境也没有问题......有数千个打开的文件可能没问题,我不知道你的应用程序,但这也可能是一些东西消失的迹象越野车。如果是这样,你只是让错误的影响变得可能更糟:(如果你能解释为什么 tomcat 需要打开数千个文件,很酷,但如果不是......哎呀。

于 2014-02-06T00:39:12.043 回答