我尝试在Linux机器上运行jstatd jvm监视工具
jboss@hostAddr:/usr/java/jdk1.6.0_18/bin> uname -a
Linux hostAddr 2.6.16.60-0.34-smp #1 SMP Fri Jan 16 14:59:01 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
使用以下命令:
jstatd -J-Djava.security.policy=~/jstatd.all.policy
jstatd.all.policy内容
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
不幸的是,我得到以下输出:
Could not create remote object
access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.System.setProperty(System.java:725)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)
由于某种原因,jstatd可以在具有相同命令和策略文件的Windows上成功运行。
Linux Java版本:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)
Windows Java版本:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
这对我有用:
确保tools.jar文件存在,并且运行jstatd命令的用户有权读取该文件。
确保中jstatd.all.policy
指向tools.jar 的URL 正确并声明了协议(在这种情况下为文件)。例如,根据java.home
变量指向的位置,您可能需要../
像下面这样删除路径中的部分(我必须这样做):
grant codebase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};
从Java 1.4开始,策略文件需要使用 UTF-8 进行 编码,而无需BOM 。EOL(CRLF与LF)并不重要。请参阅Oracle的“默认策略实施和策略文件语法”文档,位于“更改”部分下,以获取更多信息(未提供链接,因为我没有足够的信誉点来发布两个以上的链接,但是我确定您已经就能找到该文件)。
运行jstatd命令时,请使用策略文件的绝对路径,例如
jstatd -p 12345 -J-Djava.security.policy=/absolute-path-to/jstatd.all.policy
编辑:-J
Java 1.8中可能不再需要或不支持该参数,因此该命令将改为:
jstatd -p 12345 -Djava.security.policy=/absolute-path-to/jstatd.all.policy
(感谢@lisak指出这一点)
run.conf
通过JAVA_OPTS
(假设您正在监视JBoss实例)在JBoss中添加一些Java选项。所有内容都在提供的链接中进行了详细说明。编辑:-指向死链接,使用VisualVM监视到另一个具有相同内容的页面的远程JBoss实例。
我不能通过NPM安装电子。我尝试用sudo执行,但出现了同样的错误。也尝试了官方方法(https://docs.npmjs.com/gett-start/fixing-npm-permissions),但没有解决此问题。 操作系统:Ubuntu 16.04节点版本:8.5.0 npm版本:5.4.2 我安装Electron1.7.6是因为最新版本(1.7.8)没有Linux软件包。 npm安装电子
问题内容: 我已经按照以下说明安装了Redis:http : //redis.io/download 当我运行redis-server redis.conf时,出现以下错误: 谢谢 问题答案: 是不是这个问题你的问题?
我有一个新的springboot应用程序,我试图开始。 我收到的错误是 src/main/Java/bubble shadow/root controller . Java src/test/java/test/RootControllerTest.java
当我尝试在华为P9上运行我的应用程序时,我得到了一个错误 日志: 07-04 10:42:56.045:W/System.err(955):java.lang.NullPoInterException:尝试对空对象引用调用虚拟方法“int com.huawie.lcagent.client.logCollectManager.GetUserType()”07-04 10:42:56.046:W/S
我一直在尝试启动NiFi,但每次我这样做,我都得到以下错误:
我在eclipse安装中复制了一些插件(特别是Green和ObjectAid)。 我删除了它们(因为它不起作用),但现在我无法启动eclipse(即使使用)。 我得到: !session 2013-02-08 !Entry org.eclipse.osgi 4 0 201 3-02-08 16:21:17.779!Message Application error!Stack 1 java.lan