【问题标题】:how do i find where JAVA_OPTS data is stored?我如何找到 JAVA_OPTS 数据的存储位置?
【发布时间】:2015-10-31 02:44:44
【问题描述】:

CentOS 7 服务器安装了 Java 7 和 tomcat 8。我需要设置 permgen 空间,但是在命令行中键入 printenv 不会将 JAVA_OPTS 包含在环境变量列表中。我输入了ps 来获取正在运行的进程列表,然后我输入了jmap -heap <pid> 以及来自正在运行的java 进程的pid,其中列出了MaxPermSizePermSize 的值以及其他值。

如何为这些属性设置新值,以便在系统重新启动等时保持不变?如果有问题的服务器有,我犹豫是否只创建一个 JAVA_OPTS 变量它存储这些持久值的另一个地方。


编辑:


按照@ChrisRobak 的建议,我去搜索tomcat conf 文件。没有/etc/tomcat 目录,但/etc 有名为/etc/java/etc/.java/etc/jvm/etc/jvm-common 的目录。另外,tomcat的配置如下:

[root@myserver tomcat]# cd /opt/tomcat/conf
[root@myserver conf]# ls -al
total 280
drwxrwx---.  3 root root   4096 Oct 30 20:02 .
drwxr-xr-x. 14 root root   4096 Oct 30 20:58 ..
drwxrwx---.  7 root root   4096 Oct 30 21:00 Catalina
-rwxrwx---.  1 root root  12624 Nov  2  2014 catalina.policy
-rwxrwx---.  1 root root   6560 Nov  2  2014 catalina.properties
-rwxrwx---.  1 root root   1852 Jan  2  2015 context.xml
-rwxrwx---.  1 root root   3451 Nov  2  2014 logging.properties
-rwxr-x---   1 root root   5018 Oct 30 21:52 server.xml
-rwxrwx---.  1 root root   1783 Nov  2  2014 tomcat-users.xml
-rwxrwx---.  1 root root   1888 Nov  2  2014 tomcat-users.xsd
-rwxrwx---.  1 root root 168082 Nov  2  2014 web.xml
[root@myserver conf]# 

我应该查看哪个文件?

或者,是否有一种命令行方式来设置 Java 选项,不仅可以持久,而且不会因与配置文件冲突而产生副作用? 如果我认为服务器的其余部分会默认使用JAVA_OPTS,我会创建一个JAVA_OPTS 变量。


回答?


当所有配置文件和脚本似乎都没有设置 JAVA_OPTS 时,我最终决定在 CENTOS 7 终端中输入以下内容:

export JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

结果是 MaxPermSize 已被重置。如果其他人对 CentOS 7 有比这更好的特定答案,请提醒我。

【问题讨论】:

  • IIRC,Java8 不使用 PermGen。
  • @Jayan 这是一个错字。它是 Java 7。我更新了我的 OP 并根据另一个用户的建议添加了编辑。您还有其他想法吗?
  • @Jayan 电脑上没有tomcat.conf。当我创建/opt/tomcat/bin/setenv.sh并重新启动tomcat时,MaxPermSize没有改变,所以我删除了它。我现在将打开catalina.sh 并开始审查它,但我只是猜测。
  • @Jayan JAVA_OPTS 没有在我的catalina.sh 中设置,尽管它被该文件中的一些eval 命令调用。我对编辑catalina.sh because there is so much that could go wrong. I typed grep "JAVA_OPTS` 犹豫不决,但是该命令在很长一段时间后都没有返回任何内容,也许永远不会返回任何内容。

标签: java linux


【解决方案1】:

我认为你可以坚持那些在

/etc/tomcat8/tomcat8.conf 

或类似的变体,我可以访问的服务器是/etc/tomcat5/tomcat5.conf,但我不知道你的具体版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多