Sun Java Solaris Communities My SDN Account Join SDN
 
Article

Garbage Collection (GC) Analysis and Performance Tuning Using the GC Portal: ReadMe for Windows

 
 

Overview  ReadMe for Solaris  Download

Copyright 2004 Sun Microsystems, Inc. ALL RIGHTS RESERVED. Use of this software is authorized pursuant to the terms of the license found at http://developers.sun.com/berkeley_license.html.

Installation Instructions for Windows

Contents

Requirements

  • Windows NT/2000/XP
  • Sun Java System Application Server 7.0 or Tomcat 4.0.6
  • AWK script for Windows
  • Perl script for Windows
  • Internet Explorer 6.0 or above

Installing and running the GC Portal on Sun Java System Application Server 7.0

Step 1. Download the GC Portal software

Download the zip archive containing the gcPortal software, gcPortal.zip

Step 2. Extract the gcPortal software from the zip archive. This gcPortal.zip archive contains 4 files

  • sqlTables.sql
    SQL scripts needed to create the Database Tables for use by GC Portal
  • gcPortal.war
    Web Archive needed to Deploy GC Portal on Sun Java System Application Server 7.0
  • ReadMe_Windows file
    Instructions for installing GC Portal on Windows
  • ReadMe_Solaris_Linux
    Instructions for installing GC Portal on Solaris or Linux

Step 3. Install and configure the Sun Java System Application Server 7.0

Download Sun Java System Application Server 7.0 from http://www.sun.com/software/products/appsrvr/appsrvr_download.html
Follow the associated documentation to install and run the server.

Before Starting and running the Sun Java System App server instance, do the following:

  • Go to SunOne_App_Server_HOME\domains\domain$\server$\config directory
    where Sun_One_App_Server_HOME is the home directory of Sun Java System Application server; for example, C:\Sun\Appserver7\
  • Modify the server.policy file, adding execute permission for all files

    To do this, modify the following line in this file:

    // Basic set of required permissions granted to all remaining code
    permission java.io.FilePermission "<<ALL FILES>>", "read,write";

    to read as follows:
    permission java.io.FilePermission "<<ALL FILES>>", "read,write,execute";

Step 4. Install and configure awk and Perl for windows

GC Portal uses awk and perl scripts. To execute these scripts, install and configure Awk and Perl for Windows.

  • Download awk95.exe from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
    (Don't worry about the '95' -It works on 95/98/NT/2000/XP). Rename awk95.exe to awk.exe

    Add the awk.exe executable location to the 'PATH' Environment Variable (for example C:\AWK).

  • Download ActivePerl 5.6.1 for windows from http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
    Install ActivePerl 5.6.1 for windows, add the perl binary executable location and perl lib directory location to the 'PATH' Environment Variable (for example C:\Perl\bin and C:\Perl\lib).

  • For setting the Environment Variables, Go to Windows StartMenu and select Start->Settings->Control Panel Click on System -> Click on Advanced Tab -> Click on Environment Variables -> Click on System Variables. Look for Path Environment Variable. If it already exits, Select Path Variable and Click on 'Edit' Button. Add the above perl executable location at the end. If it does not exist, Click on 'New' Button and type the 'Variable Name' as Path and type the 'Variable Value' as the location of the perl executable.

Step 5. Set up the GC Portal database
GC Portal can be configured to work with any database including Oracle, MySQL, others, if the appropriate JDBC drivers are available. The steps here describe how to configure it with Pointbase, the default database bundled with S1AS7.

  • Start the PointBase Database server that comes with Sun Java System App Server7.0.
    Execute:
    SunOne_App_Server_HOME\pointbase\server\StartServer.bat

  • Start the PointBase Console
    Execute :
    SunOne_App_Server_HOME\pointbase\client_tools\PB_console.bat

  • In the Console window, type the following in the URL field

  • jdbc:pointbase://localhost/gcportal,new
    (Don't forget the new at the end) Leave the username and password as PBPUBLIC and PBPUBLIC

    This will create a new database instance called gcportal

    Note: For detailed documentation on how to use PointBase Database, refer to the documentation in the SunOne_App_Server_HOME\pointbase\docs directory.

  • After successfully creating the gcportal database instance, it says "OK Connected to Database jdbc:pointbase://localhost/gcportal"

  • To populate the tables, Click on 'File' on the Top Menu in the Console window, then select 'open'. Open the file sqlTables.sql file from the location where it is located on the system after unzipping gcPortal_win_S1AS7.zip

  • In the console window, Click on 'Edit' on the Top Menu in the console window, Select 'Select All' (also CTRL+A).

  • In the console window, Click on 'SQL' on the Top Menu in the console window, Select 'Execute All'. This will create all the Tables needed by the GC Portal.

The steps below describe how to change the database from Pointbase to an alternate one.

To configure the new Database, open the browser window and type http://machinename:port/gcPortal/dbadmin.html after deploying GC Portal (that is, after completing Step 9 of the installation instructions). Fill in the appropriate values for Database Driver Class, Database Connect String, Database user name and Database user password. In the GCPortal User Password field type 'dbadmin', which is the default password for administering GC Portal by a user with GC Portal administration priveliges. The GCPortal user 'dbadmin' with password 'dbadmin' is already created by the sqlTables.sql script. Only user 'dbadmin' can modify the GCPortal DB settings. After the Database is configured with these values, it is recommended that the admin user login to GCPortal as user 'dbadmin', password 'dbadmin' and change the 'dbadmin' user password by clicking on the 'Modify Profile' link on the left hand side of the Home page.

Step 6. Start the Sun Java System Application Server 7

To start the Sun Java System App Server from Windows Command Prompt, do

cd SunOne_App_Server_HOME\bin\
Issue the following command at the Windows Command prompt
asadmin start-appserv

or

To start the Sun Java System App Server from Windows Start Menu, do

Start->Programs->Sun Microsystems->Sun Java System Application Server 7 ->Start Application Server

Step 7. Deploy gcPortal.war on Sun Java System App server

Run the following command:

Sun_One_App_Server_HOME\bin\asadmin deploy --user admin_user --password admin_password --host localhost --port 4848 --type web --contextroot gcPortal gcPortal.war
where gcPortal.war is the WAR archive extracted from the downloaded zip file for Windows gcPortal_win_S1AS7.zip
For help, type, Sun_One_App_Server_HOME/bin/asadmin deploy help. Alternately, use the Sun Java System Application Server's Administration console.

Step 8. Configuring the GC Portal

The gcPortal.war file deploys GC Portal in the following directory

SunOne_App_Server_HOME\domains\domain$\server$\applications\j2ee-modules\gcPortal_$\ directory

The GC Portal software is organized in the following directory structure:

  • The gcPortal root directory contains all the JSPs and HTML files
  • The gcPortal/images directory contains gifs and other images
  • The gcPortal/WEB-INF contains three sub-directories
    • lib directory contains all the jar libraries used by the Portal
    • classes directory contains all the class files
    • src directory contains all the java source files
  • The gcPortal/cache directory contains the charts(graphs) that are generated by the Portal
  • The gcPortal/ scripts directory contains all the perl and awk scripts for parsing the verbose:gc log files
  • The gcPortal/CaseStudies directory contains the CaseStudies pages and other images
  • gcPortal/gclogs directory contains all the verbose:gc log files that users upload. It creates a directory for each user by the username in this directory, a project sub-directory for each user project by the project name within the username directory and stores the raw log files for a given user and project in that project sub-directory.
  • The gcPortal/jvmstat1.1 directory contains the jvmstat1.1 needed for running VisualGC 1.1 and associated documentation.
  • The gcPortal/jvmstat2.0 directory contains the jvmstat2.0 needed for running VisualGC 1.2 and associated documentation
  • The gcPortal/visualGCSample directory contains the jnlp files and classes needed to launch VisualGC from a browser using Java Web Start.

Before accessing the GC Portal, make sure you have 'write' permissions for the following directories under SunOne_App_Server_HOME\domains\domain$\server$\applications\j2ee-modules\gcPortal_$\

  • cache directory where the charts(graphs) are generated

  • gclogs directory where all the log files are stored.

  • scripts directory

  • WEB-INF/lib directory where Properties.txt file is written by the Portal.
    Note: The Properties.txt file located in WEB-INF/lib stores values for some of the properties used by the Portal. When GC Portal is run for the first time, this file is automatically generated.

To modify any default values used by the Portal, edit the respective entries in the Properties.txt file. These default values might include:

  • Database DRIVER ( default is com.pointbase.jdbc.jdbcUniversalDriver, for Oracle it would be oracle.jdbc.driver.OracleDriver)
  • Database Connect String (default is jdbc:pointbase://localhost/gcportal, for Oracle is might be like jdbc:oracle:thin:@localhost:1521:gcportal)
  • Database username and Password (default is PBPUBLIC, PBPUBLIC,for Oracle it might be SCOTT/TIGER)
  • User GC log files location (default is ../gcPortal_$/gclogs/)
    Parameters EMAIL_FROM_ADDRESS and EMAIL_HOST used by the Portal.

Step 9. Download the third party software used by GC Portal for charting graphs

  1. Go to http://www.ve.com/servlet.html

  2. Download the following from KavaChart Downloads

    KavaChart 4.0.1 server beans in zip format.

  3. unzip the downloaded zip file to a temporary directory. It will create 3 directories jsp, asp and javachart.

  4. Go to the sub-directory named jsp. It has a file called kavachart.war

  5. Run the following command from the windows Command Prompt
    jar xvf kavachart.war .
    It will create a directory WEB-INF .

  6. Copy the kcServlet.jar file from Kavachart's WEB-INF\lib directory to
    Sun_One_App_Server_HOME\domains\domain$\server$\applications\j2ee-modules\gcPortal_$\WEB-INF\lib

Step 10. Running the GC Portal

  • Type http://machinename:port/gcPortal

  • If The server is running and GC Portal deployed, this will be taken to the Home page of GC Portal. To create a New User, Click on 'New User? Sign in Here?' link on the page and create a new user and login. If the database is created properly, this should successfully create a new user. After this, Login with the username and password just created.

Installing and running the GC Portal on Tomcat

Step 1. Download the GC Portal software

Download the zip archive containing the gcPortal software for Windows and tomcat, gcPortal_win_Tomcat.zip

Step 2. Extract the gcPortal software from the zip archive
This gcPortal_win_Tomcat.zip archive contains 3 files

  • sqlTables.sql

    SQL scripts needed to create the Database Tables for use by GC Portal

  • gcPortal.war
    Web Archive needed to Deploy GC Portal

  • ReadMe file

Step 3. Install and configure the Jakarta -tomcat 4.0.6 server

Download jakarta-tomcat-4.0.6.zip from http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.6/bin/
Follow the associated documentation to install, configure and run the jakarta-tomcat server.

Step 4. Install and configure awk and Perl for windows

GC Portal uses awk and perl scripts. To execute these scripts, install and configure Awk and Perl for Windows.

  • Download awk95.exe from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
    (Don't worry about the '95' -It works on 95/98/NT/2000/XP). Rename awk95.exe to awk.exe

    Add the awk.exe executable location to the 'PATH' Environment Variable (for example C:\AWK).

  • Download ActivePerl 5.6.1 for windows from http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
    Install ActivePerl 5.6.1 for windows, add the perl binary executable location and perl lib directory location to the 'PATH' Environment Variable (for example C:\Perl\bin and C:\Perl\lib).

  • To Setup the Environment Variables, Go to Windows StartMenu and select Start->Settings->Control Panel Click on System -> Click on Advanced Tab -> Click on Environment Variables -> Click on System Variables. Look for Path Environment Variable. If it already exits, Select Path Variable and Click on 'Edit' Button. Add the above perl executable location at the end. If it does not exist, Click on 'New' Button and type the 'Variable Name' as Path and type the 'Variable Value' as the location of the perl executable.

Step 5. Deploy gcPortal on Tomcat server

Create a directory named gcPortal under CATALINA_HOME/webapps directory where CATALINA_HOME is the home directory of jakarta-tomcat-4.0.6 server; for example, C:\jakarta-tomcat-4.0.6

copy the gcPortal.war file from the downloaded gcPortal_win_Tomcat.zip to the CATALINA_HOME/webapps/gcPortal directory you just created and unjar the gcPortal.war file in that directory by following these instructions.

Do the following at Windows Command Prompt

cd CATALINA_HOME/webapps/gcPortal

jar xvf gcPortal.war

Step 6. Configuring the GC Portal

As from the previous step, GC Portal is installed in the following directory

CATALINA_HOME\webapps\gcPortal\

The GC Portal software is organized in the following directory structure:

  • The gcPortal root directory contains all the JSPs and HTML files
  • The gcPortal/images directory contains gifs and other images
  • The gcPortal/WEB-INF contains three sub-directories
    • lib directory contains all the jar libraries used by the Portal
    • classes directory contains all the class files
    • src directory contains all the java source files
  • The gcPortal/cache directory contains the charts(graphs) that are generated by the Portal
  • The gcPortal/ scripts directory contains all the perl and awk scripts for parsing the verbose:gc log files
  • The gcPortal/CaseStudies directory contains the CaseStudies pages and other images
  • gcPortal/gclogs directory contains all the verbose:gc log files that users upload. It creates a directory for each user by the username in this directory, a project sub-directory for each user project by the project name within the username directory and stores the raw log files for a given user and project in that project sub-directory.
  • The gcPortal/jvmstat1.1 directory contains the jvmstat1.1 needed for running VisualGC 1.1 and associated documentation.
  • The gcPortal/jvmstat2.0 directory contains the jvmstat2.0 needed for running VisualGC 1.2 and associated documentation
  • The gcPortal/visualGCSample directory contains the jnlp files and classes needed to launch VisualGC from a browser using Java Web Start.

Before accessing the GC Portal, make sure you have 'write' permissions for the following directories under CATALINA_HOME\webapps\gcPortal\

  • cache directory where the charts(graphs) are generated

  • gclogs directory where all the log files are stored.

  • scripts directory

  • WEB-INF\lib directory where Properties.txt file is written by the Portal.
    Note: The Properties.txt file located in WEB-INF\lib stores values for some of the properties used by the Portal. When GC Portal is run for the first time and the Login page accessed, this file is automatically generated.

    To modify any default values used by the Portal to match your configuration, edit the respective entries in the Properties.txtfile. These default values might include:
    • Database DRIVER ( default is com.pointbase.jdbc.jdbcUniversalDriver),
    • Database Connect String (default might be like jdbc:pointbase://localhost/gcportal ),
    • Database username and Password (default is PBPUBLIC/PBPUBLIC),
    • User GC log files location (default is ../gcPortal_$/gclogs/)
    • Parameters EMAIL_FROM_ADDRESS and EMAIL_HOST used by the Portal.
  • Create an entry for the gcPortal web application in Tomcat's web.xml file:
    Go to CATALINE_HOME\webapps\ROOT\WEB-INF directory and modify the web.xml to add an entry for the gcPortal web-app.

    Follow this instruction

    Copy the block of code from <web-app>
    ........
    </web-app>
    in CATALINE_HOME\webapps\gcPortal\WEB-INF\web.xml to the web.xml in the CATALINE_HOME\webapps\ROOT\WEB-INF directory.

Step 7. Set up the GC Portal database

GC Portal can be configured to work with any database including Oracle, MySQL, others, if the appropriate JDBC drivers are available. The steps here describe how to configure any database with GC Portal. To configure a Database, open the browser window and type http://machinename:port/gcPortal/dbadmin.html after deploying GC Portal i.e after Step 9 of installation instructions. Fill in the appropriate values for Database Driver Class, Database Connect String, Database user name and Database user password. In the GCPortal User Password field type 'dbadmin' which is the default password for administering GC Portal by a user with GC Portal administration priveliges. The GCPortal user 'dbadmin' with password 'dbadmin' is already created by the sqlTables.sql. script. Only user 'dbadmin' can modify the GCPortal DB settings. After the Database is configured with these values, its recommended for the admin user to login to GCPortal as user 'dbadmin', password 'dbadmin' and change 'dbadmin' user password by clicking on the 'Modify Profile' link on the left hand side of the Home page.

Step 8. Download the third party software used by GC Portal for charting graphs

  1. Go to http://www.ve.com/servlet.html
  2. Download the following from KavaChart Downloads: KavaChart 4.0.1 server beans in zip format.
  3. unzip the downloaded zip file to a temporary directory. It will create 3 directories jsp, asp and javachart.
  4. Go to the sub-directory named jsp. It has a file called kavachart.war
  5. Run the following command from the windows Command Prompt
    jar xvf kavachart.war.
    It will create a directory WEB-INF .
  6. Copy the kcServlet.jar file from Kavachart's WEB-INF\lib directory to
    CATALINA_HOME\webapps\gcPortal\WEB-INF\lib

Step 9. Running the GC Portal

Start the Tomcat server:
To start the Tomcat Server from Windows Command Prompt, do

cd CATALINA_HOME\bin\
Issue the following command at the Windows Command Prompt
startup
or
Open the Windows explorer and go to CATALINA_HOME\bin\ directory and double click on the startup.bat file

Open the browser window and

  • Type http://machinename:port/gcPortal
  • If The server is running and GC Portal deployed, this will be taken to the Home page of GC Portal. To create a New User, Click on 'New User? Sign in Here?' link on the page and create a new user and login. If the database is created properly, this should successfully create a new user. After this, Login with the username and password just created.

Troubleshooting Tips

If you uploaded a "verbose:gc" log file and unable to see any 'GC Summary Information' after you click on 'Analyze Data' button, look for these sort of errors in the S1AS7 or Tomcat console or Event Log window.

WARNING ( 1504): CORE3283: stderr: java.io.IOException: CreateProcess: perl
WARNING ( 1504): CORE3283: stderr: at java.lang.Win32Process.create(Native Method)

For eg., for S1AS7, You can view the Event Log in the following way:

  1. Open Sun Java System App Server Admin Console
  2. Click on App Server instances->server1 in the left panel
  3. In the admin console's right panel, click on 'Logging' Tab and click on 'View Event Log' Link.

Do the following to overcome this problem:

  1. Go to Windows StartMenu and select
  2. Start->Settings->Control Panel
  3. Click on System -> Click on Advanced Tab -> Click on Environment Variables -> Click on System Variables.
  4. Look for 'ComSpec' Environment Variable.
    • If it already exits, Select 'ComSpec' Variable and Click on 'Edit' Button. edit it to read ' %SystemRoot%\system32\cmd.exe /e:32768 '.
    • If it does not exist, Click on 'New' Button and type the 'Variable Name' as ComSpec and type the 'Variable Value' as ' %SystemRoot%\system32\cmd.exe /e:32768 '.
  5. Re-start the Tomcat server. If you still get the same error, Restart the machine

References