title: Troubleshooting "too many open files" caused by too many pipes
body: <p>I'm trying to debug "too many open files" issue caused by a Java process (PID=11389). Executing "lsof -p 11389" produces a large number of pipes as below.</p>
  
  <pre><code>java    11389 root  379r     FIFO    0,8      0t0 544900285 pipe
  java    11389 root  381w     FIFO    0,8      0t0 544890429 pipe
  java    11389 root  382r     FIFO    0,8      0t0 544899071 pipe
  java    11389 root  383w     FIFO    0,8      0t0 544890432 pipe
  java    11389 root  384u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  385r     FIFO    0,8      0t0 544890433 pipe
  java    11389 root  386u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  387r     FIFO    0,8      0t0 544877444 pipe
  java    11389 root  388w     FIFO    0,8      0t0 544877444 pipe
  java    11389 root  389u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  390r     FIFO    0,8      0t0 544877445 pipe
  java    11389 root  391w     FIFO    0,8      0t0 544877445 pipe
  java    11389 root  392u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  393r     FIFO    0,8      0t0 544877446 pipe
  java    11389 root  394w     FIFO    0,8      0t0 544877446 pipe
  java    11389 root  395u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  396r     FIFO    0,8      0t0 544877447 pipe
  java    11389 root  397w     FIFO    0,8      0t0 544877447 pipe
  java    11389 root  398u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  399w     FIFO    0,8      0t0 544890433 pipe
  java    11389 root  400u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  407u  a_inode    0,9        0      5577 [eventpoll]
  java    11389 root  408r     FIFO    0,8      0t0 544896999 pipe
  java    11389 root  409w     FIFO    0,8      0t0 544896999 pipe
  </code></pre>
  
  <p>This list keeps growing to the point that we get "Too many open files" error. Considering that java process (11389) is the one that writes to and reads from the pipes, I'm wondering if there's any tools I can use to trace this to the Java code that causes the issue.</p>