我發現在啟動我的一個JAVA應用中,盡管我在Linux環境給webgic的startWebLogic.sh設定了一 MEM_ARGS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"參數但是不起作用,附件是配置檔案startWebLogic.sh,經過好長時間的檢查終于找出問題所在。
附件中黑體字所在參數的設定在“. ${WL_HOME}/common/bin/commEnv.sh”條語句之前,從這條語句的注釋看大緻意思是:“如果java_vendor 設定的話,系統會執行該語句,使用cat 指令看了commEnv.sh檔案後才知道系統預設的參數是MEM_ARGS=="-Xms32m -Xmx200m --XX:MaxPermSize=128m",是以我想把設定參數這條語句MEM_ARGS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"放到“. ${WL_HOME}/common/bin/commEnv.sh之後應該就起作用了吧。經過測試确實如此
附件:
#!/bin/sh
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions
to this configuration.
# *************************************************************************
# This script is used to start WebLogic Server for the domain in the
# current working directory. This script simply sets the SERVER_NAME
# variable and starts server.
#
# To create your own start script for your domain, all you need to set is
# SERVER_NAME, then starts the server.
# Other variables that startWLS takes are:
# WLS_USER - cleartext user for server startup
# WLS_PW - cleartext password for server startup
# PRODUCTION_MODE - true for production mode servers, false for
# development mode
# JAVA_OPTIONS - Java command-line options for running the server. (These
# will be tagged on to the end of the JAVA_VM and MEM_ARGS)
# JAVA_VM - The java arg specifying the VM to run. (i.e. -server,
# -hotspot, etc.)
# MEM_ARGS - The variable to override the standard memory arguments
# passed to java
# For additional information, refer to the WebLogic Server Administration# Console Online Help(http://e-
docs.bea.com/wls/docs81/ConsoleHelp/startstop.html)
# Initialize the common environment.
WL_HOME="/weblogic/bea/weblogic81"
PRODUCTION_MODE="true"
JAVA_VENDOR="Sun"
JAVA_HOME="/weblogic/bea/jdk142_11"
MEM_ARGS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
# Call commEnv here AFTER setting the java_vendor to get common environmental settings.
. ${WL_HOME}/common/bin/commEnv.sh
# Set SERVER_NAME to the name of the server you wish to start up.
SERVER_NAME="myserver"
CLASSPATH="${WEBLOGIC_CLASSPATH}:${POINTBASE_CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar:${WL_HOME}/server/lib/webservices.jar:${C
LASSPATH}"
export CLASSPATH
# Call WebLogic Server
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "PATH=${PATH}"
echo "MEM_ARGS=${MEM_ARGS}" #MODI BY LV
echo "***************************************************"
echo "* To startWebLogic Server, use a username and *"
echo "* password assigned to an admin-level user. For *"
echo "* server administration, use the WebLogic Server *"
echo "* console at http://[hostname]:[port]/console *"
${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME} -
Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy"
weblogic.Server