Since this isn't an actual leak, raising the limit should be fine. The default limit on Linux is 1024 due to some issues with SELECT, but you can easily raise it to a much higher value if you don't use that API.
Finding and patching all possible locations which could interrupt your threads doing file operations is probably a foolish effort.
So, raising the limit, or load balancing (depending on the type of application) is probably the best solution.
The other question is why the threads are receiving interrupts in the first place. Depending on the reason, a different course of action might be appropriate.
Lots of ways to skin this cat, but it really depends on what the application is doing and why.
https://docs.oracle.com/javase/7/docs/api/java/util/concurre...
They are more powerful than synchronized and can produce log messages when things go sideways with locking, dead locking or external crashes.