差異處
這裏顯示兩個版本的差異處。
java:web:jetty:opentoomanyfilesissueonlinux [2016/07/04 16:48] tony [Jetty - Too Many Open Files Issue on Linux] |
java:web:jetty:opentoomanyfilesissueonlinux [2023/06/25 09:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | {{tag>jetty}} | ||
- | ====== Jetty - Too Many Open Files Issue on Linux ====== | ||
- | 最近開始使用security audit tool測試我們軟體(搭Jetty9.0.7): | ||
- | <code bash> | ||
- | nikto -h 192.168.0.1 -port 80 -root /MyApp -mutate 1 | ||
- | </code> | ||
- | 大漏洞沒發現,卻發現在Linux上會經不起大量請求而產生Too Many Open Files Exception。使用ps -p $pid會發現很可能是socket沒關閉造成的問題: | ||
- | <code bash> | ||
- | java 9403 root 250u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 251u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 253u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 256u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 258u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 260u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 264u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 269u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | java 9403 root 270u unix 0xffff8802653b1180 0t0 30861424 socket | ||
- | </code> | ||
- | (在ulimit沒被設定太小的前提下)// | ||
- | 後來爬一下文,原因是Jetty例外處理沒做好而造成的,更新到9.3.8測試socket占用問題即消失。 | ||
- | ===== Reference ===== | ||
- | * [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=416971|Bug 416971 - Jetty Leaks Connections in Time Wait]] | ||
- | * [[http://stackoverflow.com/questions/22763024/too-many-open-files-when-using-jetty-9-on-linux-ubuntu|Too many open files when using jetty 9 on linux (ubuntu)]] | ||