我最近開始在我們的Tomcat服務器上發現錯誤:「太多打開文件」,並且錯誤在於引用用於服務器的SSL連接器的密鑰庫文件。有誰知道這可能來自哪裏?我們的服務器接收到大量的連接,但如果我將最大可接受的連接數推到150以上,那麼服務器甚至不會啓動(無論出於何種原因)。有什麼辦法讓Tomcat將密鑰庫緩存在內存中,這樣連接就不必重複讀取文件了?Tomcat密鑰庫中的「打開的文件太多」
1
A
回答
1
我假設你在Linux上運行,因爲那是我的答案。
第一步是檢查打開的文件的ulimit,並嘗試將其設置在外殼高:
ulimit -n
這可能會打印1024,這是Linux的「正常」的用戶限制。嘗試設置更高的數字:
ulimit -n 2048
如果成功了,太棒了。把這個命令放在你的登錄腳本中,你應該很好走。如果不是,那麼你需要增加每個用戶的限制。根據this document,你想要編輯的文件是/etc/security/limits.conf
順便說一下,你(可能)沒有看到這個,因爲Tomcat一直在閱讀相同的文件。 JVM通常會打開(和內存映射)應用程序使用的所有JAR文件,並且可能還會爲配置文件保留打開的文件句柄。打開密鑰庫文件時恰好碰到了限制。
相關問題
- 1. Tomcat錯誤太多打開的文件
- 2. 打開的文件太多
- 3. python中打開的文件太多
- 4. java.nio.file.FileSystemException:/ proc中:打開的文件太多
- 5. Apache Tomcat異常 - 打開的文件太多
- 6. Tomcat的密鑰庫異常
- 7. tomcat的文件太多
- 8. spark(java) - 太多的打開的文件
- 9. java.io.FileNotFoundException:Output.txt的(打開的文件太多)
- 10. Foxpro的「打開的文件太多」
- 11. ostream無法打開文件,因爲打開的文件太多
- 12. 留下打開的文件導致「打開文件太多」
- 13. C:打開的文件太多
- 14. 打開的文件太多python
- 15. Play框架打開的文件太多
- 16. npm -g「whatever」太多打開的文件
- 17. '打開的文件太多'錯誤
- 18. mq_open() - 太多打開的文件
- 19. SocketException:打開的文件太多
- 20. Jetty IOException:打開的文件太多
- 21. 打開的文件錯誤太多,java.io.FileNotFoundException
- 22. java.io.FileNotFoundException(打開的文件太多)
- 23. Cassandra太多打開的文件。 Port died
- 24. 異常:打開的文件太多
- 25. 打開的文件太多urllib
- 26. java autosys打開的文件太多
- 27. fopen問題 - 太多打開的文件
- 28. OSError:[Errno 24]太多打開的文件
- 29. Django太多打開的文件
- 30. php-fpm太多打開的文件
哪個操作系統/平臺? – 2009-07-15 11:56:20