尝试创建许多并发UDP流。 - java.net.SocketException打开的文件太多

时间:2013-07-04 04:22:05

标签: java udp socketexception

我正在尝试使用java从一台计算机创建10000个并发udp流。它适用于大约3000-4000但后来它给我以下错误。

java.net.SocketException: Too many open files
    at java.net.PlainDatagramSocketImpl.datagramSocketCreate(Native Method)
    at java.net.AbstractPlainDatagramSocketImpl.create(AbstractPlainDatagramSocketImpl.java:82)
    at java.net.DatagramSocket.createImpl(DatagramSocket.java:322)
    at java.net.DatagramSocket.<init>(DatagramSocket.java:179)
    at SendThread.<init>(SendThread.java:20)
    at Client.main(Client.java:9)

在查找同一错误的其他几个链接后,似乎linux对单个应用程序可以同时打开的文件数量有限制。我的电脑上的限制似乎无限制。

>ulimit 
unlimited

这是我的代码。

https://copy.com/9YwpvpScPDEUITQ8

1 个答案:

答案 0 :(得分:0)

检查ulimit -n并使用ulimit -n <some high number>更新。