We have a huge amount of open file descriptors on a0
The problem with #2618 was that we had a large amount of file descriptors open. Most of them are pipes. Who's responsible for them?
The test is a minimized test that just starts the TestConductor and then tries to resolve an unknown hostname.
The test is a minimized test that just starts the TestConductor and then tries to resolve an unknown hostname.
Leave a comment
file:cmwyJCh3ar4PkqacwqjQWU
The output of lsof on the java process
The output of lsof on the java process
on 2012-10-26 17:15 *
By viktorklang
Could it have to do with netty direct memory buffers used by Netty?
on 2012-10-26 17:19 *
By viktorklang
Could it be the Test Conductor leaking unclosed channels?
on 2012-10-29 07:26 *
By bjorn.antonsson@typesafe.com
Assigned to set to bjorn.antonsson@typesafe.com
on 2012-10-29 07:38 *
By bjorn.antonsson@typesafe.com
So the guilty party is really Netty defaults. It creates a huge number of threads.
These are some stats from the test:
You could be fooled into thinking that netty would create them on demand since they use a CachedThreadPool by default, but the code that use the ThreadPool explicitly creates all the workers up front :(
Will add configuration options for configuring the number of workers in a simliar fashion as the executors in the dispatchers.
These are some stats from the test:
The number of "New I/O worker #X" threads is proportional to the number of cores.
My Macbook: 4 cores 36 workers = 8 per core
Scalable1: 24 cores 194 workers = 8.083 per core
a0: 48 cores 386 workers = 8.042 per core
You could be fooled into thinking that netty would create them on demand since they use a CachedThreadPool by default, but the code that use the ThreadPool explicitly creates all the workers up front :(
Will add configuration options for configuring the number of workers in a simliar fashion as the executors in the dispatchers.
on 2012-10-29 10:07 *
By bjorn.antonsson@typesafe.com
With the fix we use 22 worker threads on a0 instead of 386.
Merged to master and cherry picked to release-2.1