Java Tomcat不一致性+;设置路径的不确定性 背景
由于这是我发布的第一个问题,我将尽可能地对其进行分解,对于任何不正确的格式,我深表歉意。我还应该指出,我对Linux、Tomcat和Java都是全新的(都是在过去几周内),所以如果你有答案,请尽可能地沉默。谢谢 这个问题实际上是几个问题,但我觉得这些问题在某种程度上是相关的,所以我将把它们全部包括在内。至于我的环境,我正在运行一个EC2 Amazon Linux实例。使用返回的详细信息Java Tomcat不一致性+;设置路径的不确定性 背景,java,linux,jvm,amazon-ec2,tomcat6,Java,Linux,Jvm,Amazon Ec2,Tomcat6,由于这是我发布的第一个问题,我将尽可能地对其进行分解,对于任何不正确的格式,我深表歉意。我还应该指出,我对Linux、Tomcat和Java都是全新的(都是在过去几周内),所以如果你有答案,请尽可能地沉默。谢谢 这个问题实际上是几个问题,但我觉得这些问题在某种程度上是相关的,所以我将把它们全部包括在内。至于我的环境,我正在运行一个EC2 Amazon Linux实例。使用返回的详细信息 cat/proc/version是: Linux版本2.6.35.14-97.44.amzn1.x86_64
cat/proc/version
是:
- Linux版本2.6.35.14-97.44.amzn1.x86_64 (mockbuild@build-31006.建造工程)
- (gcc版本4.4.5 20110214(红帽4.4.5-6)(gcc)
java-version
给了我:
- java版本“1.6.0_29”java(TM)SE运行时环境(构建 1.6.0_29-b11)
- Java HotSpot(TM)64位服务器虚拟机(构建20.4-b02,混合模式)
/etc/init.d/tomcat6 restart
或服务tomcat6
重新启动
会获得不同程度的成功:有时是漂亮的绿色
好的,其他红色的失败了。似乎没有押韵或理由
为什么它有时有效,而其他的不起作用。当它不起作用时,我检查
带有服务的状态为tomcat6 status
,这会产生一些结果
比如说,tomcat6(pid)正在运行
Putty SSH会话在任何时候都会显著减慢
我无法阻止Tomcat。我必须等待每一次按键被处理java时
-XX
,它应该给我一个可用命令的列表,就像java-X一样,我只得到:
无法识别的选项:-XX无法创建Java虚拟机。yum remove JAVA
,删除了原始版本(由于依赖关系,我会和Tomcat一起运行,但不管怎样,我可以稍后将其取回),运行java-version
,以确保我仍然拥有我想要的版本。我这样做了,然后运行java-XX
,希望它在清除不需要的OpenJDK后神奇地修复自己,但不,与以前一样的错误
结论
我现在假设旧路径没有问题。我还尝试在每个可能的位置将JAVA_HOME变量更改为适当的路径(/usr/JAVA/jre1.6.0_29):
- 在bash_配置文件中
- 在巴什尔
- java.conf
- tomcat6.conf(也就是说,在我删除Tomcat之前)
- 可能是其他文件,真的很模糊
在shell中导出JAVA\u HOME
export JAVA_HOME=/usr/JAVA/jre1.6.0_29
之外,所有这些都没有任何影响。每次运行echo$JAVA_HOME
时,我仍然会得到原始的JAVA_HOME路径,我很确定这不是我想要的。即使重置变量成功(通过在shell中导出)我还尝试设置一些JAVA_OPTS参数,特别是内存设置,然后运行了一个echo$JAVA_OPTS
,但没有返回任何结果
我已经在这上面花了整整两天的时间,准备放弃。如果可能的话,我真的很想避免重新安装和重新配置一大堆东西,更不用说我甚至不知道这是否能解决我的问题,但我真的很想知道我为什么会有这些问题,以及它们是否相关,所以如果你们中的任何人如果您对我的错误操作有任何建议,请告诉我。谢谢!我无法帮助您解决第一个问题,但关于您的第二个问题:“我无法使用任何JVM特定的-XX参数。” tomcat在启动JVM时使用环境变量CATALINA_OPTS。因此,如果希望使用512mb堆和128mb perm gen空间,可以在bash shell上发出以下命令,使用一些自定义java选项启动tomcat
#> CATALINA_OPTS="$CATALINA_OPTS -Xmx512m -XX:MaxPermSize=128m" $TOMCAT_HOME/bin/catalina.sh run
您还可以通过在tomcat的启动脚本中更改CATALINA_选项来更改默认参数,也可以将参数添加到您的环境中(例如$HOME/.bashrc)
希望这会有所帮助。我不能在第一个问题上帮助您,但在第二个问题上:“我不能使用任何JVM特定的-XX参数。” tomcat在启动JVM时使用环境变量CATALINA_OPTS。因此,如果希望使用512mb堆和128mb perm gen空间,可以在bash shell上发出以下命令,使用一些自定义java选项启动tomcat
#> CATALINA_OPTS="$CATALINA_OPTS -Xmx512m -XX:MaxPermSize=128m" $TOMCAT_HOME/bin/catalina.sh run
您还可以通过在tomcat的启动脚本中更改CATALINA_选项来更改默认参数,也可以将参数添加到您的环境中(例如$HOME/.bashrc)
希望这会有所帮助。不是答案(因此评论),但是……您可能有兴趣知道,在Linux上,安装Java不需要root。例如,我从来没有在Linux上以root身份安装Java。这可能会帮助您更清楚地了解(您不会看到)