CentOS 7服务器安装了Java 7和tomcat 8。我需要设置permgen空间,但在命令行上键入printenv
不会在环境变量列表中包含JAVA_OPTS
。我键入ps
以获取正在运行的进程列表,然后使用运行java进程中的pid键入jmap -heap <pid>
,其中列出了MaxPermSize
和PermSize
等值值。
如何以系统重启等方式保留的方式为这些属性设置新值?如果服务器在,我会犹豫,只创建一个JAVA_OPTS
变量问题还有另一个存储这些持久值的地方。
编辑:
根据@ChrisRobak的建议,我去搜索tomcat conf文件。没有/etc/tomcat
目录,但/etc
包含名为/etc/java
,/etc/.java
,/etc/jvm
和/etc/jvm-common
的目录。此外,tomcat conf如下:
[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的具体答案比这更好,请提醒我。
答案 0 :(得分:0)
我认为你可以坚持
/etc/tomcat8/tomcat8.conf
或类似的变体,我有权访问的服务器是/etc/tomcat5/tomcat5.conf
,但我不知道您的版本特别是