我有大约20个使用
启动的java进程-Dcom.sun.management.jmxremote
在他们的命令行中,没有指定明确的端口号。
我的理解是,这意味着JVM会从临时端口范围分配任何空闲端口。
多年来,这一切都没有问题。
上周,我举行了一次性活动,部分流程由于以下原因未能启动:
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 0; nested exception is:java.net.BindException: Address already in use
问题不可重复,我之前没有见过这个。
据我了解,端口0是任何短暂端口的另一个术语。当它们被系统分配给JVM时,如何使用短暂的端口?
[me@server:/tmp]cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
应该有大约29000个端口;这个错误是否表明在我的流程请求它们时它们都在使用?