Turn On Java epoll

1227 ワード

今日古いコードを整理していると、Gemfire consultantがJVMにパラメータを追加していることがわかりました.
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider

このパラメータを見たことがないのでgoogleは以下のようにしました.
このパラメータの使用のポイントはLinux 2.6 system and handles lots of simultaneous connections
以下はfrom Oracle epoll blogからコピーしたものです
So if you are running on a Linux 2.6 system with an application that handles lots of simultaneous connections you might want to give it a test-run. 
Will you see a difference? It depends on the workload. If you've registered lots of SelectableChannels with a Selector and you notice a lot of time spent in the kernel due to poll then you should see a difference. If you are doing test runs and you want to do a direct comparison with poll then you can set the java.nio.channels.spi.SelectorProvider system property to sun.nio.ch.PollSelectorProvider. This will select the poll-based Selector that will continue to be the default on 2.4 kernels. There is an epoll patch for 2.4 kernels but at this time anyway, the NIO implementation doesn't attempt to detect this.
インターネット上の資料によると、JDK 6以降、epollはデフォルトで開かれているが、公式文書はまだ見つかっていない.
by the way, command to show the Linux Kerl uname -r