即使java进程正在运行,jps也不返回输出 [英] jps returns no output even when java processes are running

查看:645
本文介绍了即使java进程正在运行,jps也不返回输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在Solaris框上调试java进程的一些问题,但运行jps不返回任何输出。而jstack给出错误Permission denied。该框是3个相同服务器的集群的一部分,jps和jstack在另外两个服务器上工作正常。



我发现有同样问题的人的以下论坛帖子但没有答案:
http://forums.sun.com/thread.jspa ?threadID = 5422237



为了明确运行bps和grep,为java提供所有的java程序正确,但jps没有提供任何东西(匿名与'程序'和'客户端'保护有罪):

 程序@ 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 / approvaled -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 /程序/ tomcat / temp org.apache.catalina.startup.Bootstrap start
程序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 -Xmx2g -XX:PermSize = 128m -XX:MaxPermSize = 512m -Dcom.sun.management.jmxremote -Djava.endorsed.dirs = / app / clientclone / program / tomcat / approvaled -classpath:/app/clientclone/program/tomcat/bin/bootstrap.jar -Dcatalina.base = / app / clientclone / program / tomcat -Dcatalina.home = / app / clientclone / program / tomcat - Djava.io.tmpdir = / app / clientclone / program / tomcat / temp org.apache.catalina.startup.Bootstrap start
program 1573 0.0 0.0 4760 1332 pts / 5 S 17:05:24 0:00 grep - -colour java

程序@ clientdelivery2:〜/
- > jps

程序@ clientdelivery2:〜/
- >

我从这里问过, http://forums.oracle.com/forums/message.jspa?messageID=5408592 我的问题是: p>

  12460/2:mkdir(/ tmp / hsperfdata_program,0755)Err#13 EACCES [ALL] 

含义jps被拒绝访问psperfdata目录。



有任何人遇到这个问题并且知道如何解决它?

解决方案

结果是用户没有访问/ tmp,因为安装文件系统的一些问题。这导致hsperfdata_中的文件永远不会写入,即使用户可以访问/ tmp / hsperfdata_文件夹本身。


I'm trying to debug some issues with java processes on a Solaris box, but running jps returns no output. And jstack gives the error 'Permission denied'. The box is part of a cluster of 3 identical servers, jps and jstack work fine on the 2 other servers.

I found the following forum post from someone with the same problem but no answers: http://forums.sun.com/thread.jspa?threadID=5422237

To clarify running bps and grep for java gives all java proceses correctly, but jps gives nothing (anonymised with 'program' and 'client' to protect the guilty):

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 -Xmx2g -XX:PermSize=128m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote -Djava.endorsed.dirs=/app/clientclone/program/tomcat/endorsed -classpath :/app/clientclone/program/tomcat/bin/bootstrap.jar -Dcatalina.base=/app/clientclone/program/tomcat -Dcatalina.home=/app/clientclone/program/tomcat -Djava.io.tmpdir=/app/clientclone/program/tomcat/temp org.apache.catalina.startup.Bootstrap start
program     1573  0.0  0.0 4760 1332 pts/5    S 17:05:24  0:00 grep --colour java

program @ clientdelivery2 : ~/
-> jps

program @ clientdelivery2 : ~/
->

I asked around and from here http://forums.oracle.com/forums/message.jspa?messageID=5408592 I've got that the issue is:

12460/2: mkdir("/tmp/hsperfdata_program", 0755) Err#13 EACCES [ALL]

Meaning jps is being denied access to the psperfdata directory.

Has anyone run into this issue and know how to solve it?

解决方案

Turns out the user didn't have access to /tmp because of some issue with mounting the file system. This leads to the files inside hsperfdata_ to never be written, even though the user had access to the /tmp/hsperfdata_ folder itself.

这篇关于即使java进程正在运行,jps也不返回输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆