:[求助]jrockit5.0中socket通讯问题
问题:
通过socket连接到服务器端后接收数据,服务器端以每秒3000个数据包的速度发送数据,客户端不管从socket里读数据还是不读数据(读出来的数据会马上扔掉),虚拟机都会把系统内存(包括虚拟内存)资源占用光,但虚拟机的使用的内存不多,改了很多参数和方法一直没有找到原因,不知道为什么?客户端平台是windows.
如果客户端向服务器端发送数据的话也是同样的处理方式,但服务器端一点问题都没有,这又是为什么?服务器平台是LINUX.
但是同样的处理方式在SUN的虚拟机上服务器端和客户端都没有什么问题.
我找了很多资料,但是还是没有找到答案,望知道怎么解决的朋友出来指点一下,谢谢了!
[最优解释]
更改运行应用程序的jvm参数,确保windows所在主机内存够用,通常专用服务器/小型机的内存不会小;
保持socket通讯正常,及时释放通讯双方接收的数据;
若涉及多客户端,还需检查多线程的使用状况
尽量减少数据量的传输,分批处理(采用批次传递,收到回执后才开始下一批次的传递)