Tag: solaris

“vm线程”在JDK 1.6中的作用是什么

我们在客户的系统中看到了这个线程的大量活动,因此想知道可能发生的事情。 任何链接,信息,教程? PS:这是在Solaris 10上使用JDK 1.6.0_23进行的。

Java Solaris NIO OP_CONNECT问题

我有一个Java客户端使用Java NIO使用TCP套接字连接到C ++服务器。 这适用于Linux,AIX和HP / UX,但在Solaris下, OP_CONNECT事件永远不会触发。 更多详情: Selector.select()返回0,’selected key set’为空。 该问题仅在连接到本地计算机时(通过环回或以太网接口)发生,但在连接到远程计算机时有效。 我已经在两台不同的Solaris 10机器上确认了这个问题; 使用JDK版本1.6.0_21和_26的物理SPARC和虚拟x64(VMWare)。 以下是一些演示此问题的测试代码: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.SocketChannel; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class NioTest3 { public static void main(String[] args) { int i, tcount = 1, open = 0; String[] addr = […]

Solaris – 为什么java.lang.UNIXProcess.forkAndExec(Native Method)挂起

我有一个在Solaris上运行的java应用程序。 此应用程序使用Runtime.exec定期启动外部进程。 似乎在一段时间之后,多次成功启动此类流程,将启动流程。 此时(几分钟后)进行的线程转储显示java.lang.UNIXProcess.forkAndExec被“卡住”。 以下是从线程转储中获取的相关堆栈跟踪的顶部: “Thread-85305” prio=3 tid=0x0000000102aae800 nid=0x21499 runnable [0x7fffffff2a3fe000] java.lang.Thread.State: RUNNABLE at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) at java.lang.ProcessBuilder.start(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) 我已经阅读了其他人经历过的一些论坛,因为没有足够的空间或没有足够的内存而导致因为ExExcc抛出IOException,但我在这里没有收到此错误。 我现在正在等待获得pstack的结果,希望它能揭示更多的信息。 有没有人知道如何解决这个问题? 谢谢,迈克

无法在Solaris上初始化类sun.awt.X11GraphicsEnvironment

我在Solaris计算机上运行安装程序时遇到此错误: Installing… ————- [==================|==================|==================|==================] [—Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX) Stack Trace: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) at sun.awt.X11FontManager.isHeadless(X11FontManager.java:487) at sun.awt.X11FontManager.getFontPath(X11FontManager.java:767) at sun.font.SunFontManager.getPlatformFontPath(SunFontManager.java:3288) at sun.font.SunFontManager$11.run(SunFontManager.java:3314) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.loadFonts(SunFontManager.java:3310) at sun.awt.X11FontManager.loadFonts(X11FontManager.java:439) at sun.font.SunFontManager.findFont2D(SunFontManager.java:2347) at sun.font.SunFontManager.findFont2D(SunFontManager.java:2285) […]

即使java进程正在运行,jps也不返回任何输出

我正在尝试在Solaris机器上调试java进程的一些问题,但是运行jps不会返回任何输出。 并且jstack给出错误“权限被拒绝”。 该盒子是3个相同服务器集群的一部分,jps和jstack在其他2台服务器上运行良好。 我发现以下论坛post来自有同样问题但没有答案的人: http : //forums.sun.com/thread.jspa?threadID = 5422237 澄清运行bps和grep for java给出了所有java程序正确,但jps没有给出任何东西(用’program’和’client’匿名来保护有罪): program @ clientdelivery2 : ~/ -> bps auxww|grep java program 3427 5.5 54.067742726649544 ? S Sep 25 1039:47 /usr/jdk/instances/jdk1.6.0_16/bin/amd64/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/app/client/program/tomcat/conf/logging.properties -Xmx6144m -XX:PermSize=128m -XX:MaxPermSize=512m -Djava.endorsed.dirs=/app/client/program/tomcat/endorsed -classpath :/app/client/program/tomcat/bin/bootstrap.jar -Dcatalina.base=/app/client/program/tomcat -Dcatalina.home=/app/client/program/tomcat -Djava.io.tmpdir=/app/client/program/tomcat/temp org.apache.catalina.startup.Bootstrap start program 29915 0.1 11.915252441467896 ? S 14:55:28 3:59 /usr/jdk/instances/jdk1.6.0_16/bin/amd64/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/app/clientclone/program/tomcat/conf/logging.properties […]

打开文件句柄太多

我正在开发一个庞大的遗留Java应用程序,有很多手写的东西,现在你可以让框架处理。 我现在面临的问题是我们的Solaris服务器上的文件句柄不足。 我想知道跟踪打开文件句柄的最佳方法是什么? 在哪里查看以及什么可能导致打开文件句柄用完? 我无法在Solaris下调试应用程序,只能在我的Windows开发环境中调试。 在Windows下分析打开的文件句柄是否合理?