Page tree
Skip to end of metadata
Go to start of metadata

Telnet commands related to class loading

Applies to:
SAP NetWeaver 7.1 and higher.

The ClassLoading group of commands provides monitoring of class loaders created in AS Java.
The commands are enabled by default.
To display the help information about the available commands you can type one of the following in the command line:

<command> -h
<command> -?
MAN <command>

Lists registered loaders.
There are two wasy to use it:
ll[<-system|JSTSG:-i|-l|-s|-c|-a>] [JSTSG:<-r>]* or *ll-leak [JSTSG:-xx%]

ll -system lists only system loaders

ll -i Lists only interface loaders

ll -l Lists only library loaders

ll -s Lists only service loaders

ll -c Lists only common loaders

ll -a Lists only application loaders

ll -r Lists registered references per loader.

ll -leak - Lists leaked class loaders (This means class loaders that have been unregistered but still not garbage collected). This command should be used only for debug purposes because it could cause the server to crash with OutOfMemoryError. If the maximum compaction GC is not performed (possible only on SAP VM), the command does not guarantee that displayed list contains list of leaked loaders. If the list is empty, you can be sure that there are no leaked loaders.

ll-leak [JSTSG:-xx%] Percentage of heap to be allocated. Default 0%. If you are not running SAP VM you can use this option in order to trigger FullGC. For 100% assurance check the VM logs iff FullGC is performed.
Examples: _ll_ or _ll -i_ or _ll -leak_

With this command you can check a number of things such as, which class loader can load a particular class; whether a class loader is available on the file system in the server directory; all parents and children; transactional loaders, etc.

llr <loadername>|<-system> Lists detailed information for the specified loader.
Examples: _llr service:userstore_ or _llr -system_

llr <loadername> -r Lists referee loaders for the specified loader.
Exapmle: llr service:userstore -r

llr <loadername> -l <classname> Tries to load the class with the specified loader. Dumps the exception if not successful.
Example: _llr service:userstore -l

llr <loadername> -p [JSTSG:-i] Tries to find missing dependency(class or reference) in loader resources.
Examples: _llr service:userstore -p_ or _llr service:userstore -p -i_

llr <loadername> <-all> -f <filename> Searches for a resource file with the specified loader.
Examples: _llr service:userstore -f com/sap/engine/Reverter.class_ or  _llr -all -f com/sap/engine/Reverter.class_

llr -b <jarfile/folder> Displays a list of all the loaders that have the given jarfile/folder as a resource.
     NOTE: In Windows case the search is case INsensitive and in Unix/Linix case the search is case SENSITIVE
     NOTE: If the jarfile/folder path contains any <space> symbol(s) please enclose it in quoatation marks
Examples: _llr -b C:\res\Example.jar_ or _llr -b C:/res/Example.jar_ or _llr -b "C:/folder name with spaces/Example.jar"_
llr -path <loader_name_1> <loader_name_2> Finds all the child/parent chains (if there are any) from the first to the second given loader and displays them.
Example: _llr -path service:telnet interface:security_

llr -d <loader_name> Displays the list of all the direct and indirect parents of the given loader according to the delegation model - if the loader tries to load a certain class it will delegate this request to all of its parents in the same sequence
Example: _llr -d service:telnet_

Lists all managers on the current Java instance