Linux Processes and Threads with WebSphere Application Server

Technote (FAQ)
Problem
Unlike most Unix systems, Linux treats threads as processes whose parent process is the process that contains the thread. This behavior may require a larger "number of processes" ulimit than other Unix systems.
Solution
When a WebSphere Application Server process is started, that process runs within its own JVM(TM). This means that you would expect to find one JVM running for each Application Server process started in the system process table. However, Linux implements threads in separate processes so there will be a process entry for each JVM started as well as for each thread running within that JVM. If the ulimit setting for maximum number of processes is set too low, you may experience problems starting multiple Application Server processes.

Solution:

You can correct this problem by increasing the ulimit setting for maximum number of processes to a value high enough to include all WebSphere Application Server JVMs, as well as all threads running within those JVMs.

The following error message from an app server's stderr log indicates you may be experiencing this problem:


<wasroot>/IBMJava2-122/jre/bin/java: fork: Resource temporarily unavailable

Historical Number
PMR 71834B49R











Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Servlet Engine/Web Container
Operating system(s): Linux
Software version: 3.5, 4.0, 5.0, 5.1, 6.0
Software edition: Standard, Advanced
Reference #: 1007698
IBM Group: Software Group
Modified date: 2003-06-03