微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rmi.transport.tcp.tcptransport Connectionhandler消耗很多的CPU

我正在运行第三方RMI服务器应用程序提供了一个方法("getimage()" returns an image as byte[]). 这个方法的实现(通过SOAP-WS获取图像)由我提供。

运行这个RMI-Server的问题是cpu占用率过高(用jvisualvm测量):65%的cpu时间进入"sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()" ,而第二个地方用15%是"sun.net.www.http.KeepAliveCache.run()" 。 “真正”的工作(缩放图像)排在第四位。 服务器运行在win 2003服务器上。 我猜资源/连接处理有问题吗? 但这是一个实现问题或Windowsconfiguration问题?

一个观察是:如果cpu利用率高,内存利用率也上升 – 问题是:这是因为gc无法完成其工作或许多图像等待交付。 所有我可以说的内存用于byte[] 。

所以有什么想法做什么?

如何正确使用ProcessBuilder

任何人都可以提出一个Java或斯卡拉DOS /基于terminal的用户界面框架?

为什么Glassfish在Linux中似乎需要比在Windows中更多的内存?

OpenJDK 64位服务器VM警告:忽略选项MaxPermSize = 350m;

Java AclAttributeView为Windows上的单个ACL返回多个AclEntry对象

thx提前

java.nio.file.InvalidpathException:格式错误的input或input包含使用国家字符时无法映射的字符

如何debuggingLinux上的本地Java崩溃?

使用SCP协议传输文件

Windows用户configuration文件和Java

提取并创build包含aux / aux的.jar文件*

sun.rmi.transport.tcp.TCPTransport $ ConnectionHandler.run()是在编组参数之后和编组结果之前调用服务器中的远程实现的方法。 时间表可能意味着,作为RMI结果,需要更多的时间才能通过线返回图像,而不是缩放图像

我只能推测,字节数组可能是图像,但它可能是任何数量的东西。

顺便说一句,你运行一个多核心机器? 我也遇到了这个问题,发现VisualVM在四核Win7机器上占用了50%左右的cpu利用率,而在单核winXP上指向了相同的元凶。 我正在运行服务器的Jetty。

对不起,我不能回答真正的问题,但希望听到一个解决方在这里或能够在这里很快分享。 既然你几个月前遇到过这个,也许你已经找到了一个,可以分享

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐