9

I need to increase memory in weblogic. I am new in this and I dont know how. I need to set -Xss=4096k . How I can I do it ?

hudi
  • 15,555
  • 47
  • 142
  • 246

4 Answers4

21

Xss is Thread Stack Size,, it is not the memory size

you can change the memory size by changing the parameters Xmx

the most important parameters are :

-Xms1536m -Xmx1536m -XX:MaxPermSize=512m

Xmx - is the max size of the heap.

Xms - is the initial size of the heap.( give it the same as Xmx )

XX:MaxPermSize - is is used to hold reflective of the VM itself such as class objects and method objects ( it's independent from the heap size,, give it the 1/3 to 1/4 of the Xms size depend in your classes size)

.........

Any Way:

you can change XSS from config.xml

in this path : DOMAIN_NAME/config/config.xml

but you have to shutdown the admin server when you change something in config.xml , then edit the start properties, or add it under <server> if it's not there:

<server-start>
      <arguments>-Xms1536m -Xmx1536m -XX:MaxPermSize=512m -Xss4096k </arguments>
</server-start>

........

[[OR]]

you can change it from the admin console which is easier

access the admin console then go to Environment >> Servers

choose the server you want to change it

form Configuration >> Server Start

you will see box called Arguments:

Add -Xss4096k

Majed
  • 917
  • 6
  • 18
  • just one addtitional question why in -Xms there is no "=" and in -Xss there is "=" – hudi Jan 08 '13 at 10:14
  • Sorry the xss is without = also. – Majed Jan 14 '13 at 17:00
  • I put it because i copy it from your question... but it will be like this -Xss4096k ... c this document for more informations http://docs.oracle.com/cd/E13188_01/jrockit/docs81/tuning/config.html – Majed Jan 14 '13 at 17:02
  • Setting it using the admin console doesn't seem to do anything for me. Monitoring >> Performance still says 259522560 max heap size, while I added -Xmx1024m in the arguments box of server start. – Dormouse Apr 01 '14 at 07:06
  • 1
    A script named setJavaOptions.sh set the memory settings last, overriding all others. Removed it and now it works. – Dormouse Apr 01 '14 at 10:41
  • 1
    great, also if this happened again, try to check all .sh files under domain/bin folder like startWebLogic.sh, setStartupEnv.sh, setDomainEnv.sh – Majed Jun 05 '14 at 12:07
5

Options for the JVM must be set on startup so you need to modify the startup script for WebLogic.

See here:

http://docs.oracle.com/cd/E13222_01/wls/docs100/server_start/overview.html#JavaOptions

Olof Åkesson
  • 707
  • 9
  • 18
1
  • Go to setDomainEnv.
  • Search for the below comment.

    @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values

  • Paste the below line (3072 for 3GB).
    set USER_MEM_ARGS=-Xms128m -Xmx3072m %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%
    
jannis
  • 4,843
  • 1
  • 23
  • 53
Anjali
  • 11
  • 1
1

Another way that is simpler is by using the setUserOverrides.sh script or creating one if none exists. See the example below

----setUserOverrides.sh script-----

#!/bin/bash
echo "Setting for UserOverrides.sh"

# global settings (for all managed servers)
export JAVA_OPTIONS="$JAVA_OPTIONS"

# customer settings for each Server

if [ "${SERVER_NAME}" = "AdminServer" ]
then
echo "Customizing ${SERVER_NAME}"
export JAVA_OPTIONS="$JAVA_OPTIONS -server -Xms2g -Xmx2g - Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1"
fi

if [ "${SERVER_NAME}" = "soa_server1" ]
then
echo "Customizing ${SERVER_NAME}"
export JAVA_OPTIONS="$JAVA_OPTIONS -client -Xms4g -Xmx4g - Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.2"
fi

echo "End setting from UserOverrides.sh"