Memory management 如何更改Tomcat6(MacPorts安装)的内存限制?(-Xmx被忽略了??)

Memory management 如何更改Tomcat6(MacPorts安装)的内存限制?(-Xmx被忽略了??),memory-management,tomcat6,macports,probe,Memory Management,Tomcat6,Macports,Probe,我曾尝试使用catalina.sh中的-Xmx标志更改内存限制,就像我过去在Linux安装中使用的一样,但当我访问psi probe之前的lambda probe时,它声称我的限制为1.78Gb。我尝试将最大限制设置为4096米和6144米,但没有效果。我正在运行它的机器有足够的内存来支持这些配置,但是限制仍然报告为1.78Gb 我有一个特别沉重的应用程序,它的堆空间错误大约为1.6Gb 关于此配置被忽略的原因或可能被覆盖的位置有何建议 编辑: setenv.sh的内容包括: #!/bin/sh

我曾尝试使用catalina.sh中的-Xmx标志更改内存限制,就像我过去在Linux安装中使用的一样,但当我访问psi probe之前的lambda probe时,它声称我的限制为1.78Gb。我尝试将最大限制设置为4096米和6144米,但没有效果。我正在运行它的机器有足够的内存来支持这些配置,但是限制仍然报告为1.78Gb

我有一个特别沉重的应用程序,它的堆空间错误大约为1.6Gb

关于此配置被忽略的原因或可能被覆盖的位置有何建议

编辑:

setenv.sh的内容包括:

#!/bin/sh
# 
# setenv.sh
#
# You may edit this script to set defaults for such variables as JAVA_HOME.
#
# For Apple Java, the $JAVA_HOME is not well respected by the JNI launching code
# in jsvc. On Apple Java systems, you are better off setting JAVA_JVM_VERSION
# to the proper java name, such as 1.4, 1.5, or CurrentJDK, and let JAVA_HOME
# be calculated from that.
#

# First source the conf/setenv.local file to allow user to configure environment
# in an even more minimal fashion.
if [ -r "$CATALINA_HOME/conf/setenv.local" ]; then
    . "$CATALINA_HOME/conf/setenv.local"
fi

# Attempt to set JAVA_HOME if it's not already set
if [ -z "$JAVA_HOME" ]; then

    # Set JAVA_JVM_VERSION and JAVA_HOME for Darwin
    if [ `uname -s` = "Darwin" ]; then

        # Look for a java version specified by JAVA_JVM_VERSION, falling back to current version
        # Set JAVA_HOME to reflect the version
        for jversion in $JAVA_JVM_VERSION CurrentJDK ; do
            jhome="/System/Library/Frameworks/JavaVM.framework/Versions/${jversion}/Home"
            if [ -z "$JAVA_HOME" -a -d "${jhome}" ]; then
                # Get the actual version that any symlink points to, since
                # jni doesn't like JAVA_JVM_VERSION set to CurrentJDK
                saved=`pwd`
                cd "/System/Library/Frameworks/JavaVM.framework/Versions/${jversion}"
                actualvers=$(basename $(pwd -P))
                cd $saved

                export JAVA_JVM_VERSION=${actualvers}
                export JAVA_HOME=${jhome}
            fi
        done

    fi

fi
setenv.local:

#!/bin/sh 
#
# setenv.local
#
# This script, if present, is executed by tomcatctl through setenv.sh
# in order to set up any environment prior to executation of tomcat.
#

# For Apple Java, JAVA_JVM_VERSION may be used to specify a particular  
# java version to run. It should be something like 1.4, 1.5, or CurrentJDK.
#export JAVA_JVM_VERSION=1.5
catalina.sh部分,文件很长:

#JAVA_OPTS="-Xmx4096m -Xms4096m -XX:PermSize=6144m -XX:MaxPermSize=6144m $JAVA_OPTS"
CATALINA_OPTS="-Xmx4096m -Xms4096m -XX:PermSize=6144m -XX:MaxPermSize=6144m $CATALINA_OPTS"

这是32位还是64位Java?java版本返回什么?确保您使用的Java版本与Tomcat使用的版本相同。64位,我已经查看了probe,这也证实了这一点。为了进一步了解,端口系统中的版本是tomcat 6.0.32,jvm是JavaTM SE Runtime Environment 1.6.0_31-b04-415-11M3635 Java HotSpotTM 64位服务器VM,运行在Mac OS X unknown x86_64 10.7.3上。是否可能调用了不同的启动脚本?catalina.sh旁边有setenv.sh吗?如果有,内容是什么?在编辑中发布,我看不到任何冒犯性的内容,所有JAVA_HOME和JVM相关,以及$catalina_BASE/conf/setenv.local的内容?您到底是如何设置Xmx的?