我有大约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个端口; 这个错误是否表明它们在我的进程请求它们时都在使用?