Tomcat error analysis under Linux
Problem phenomenon:
Tomcat (8.5.13) has deployed SuperMap iServer, and the number of concurrent users is around 100. After the system has been running for a while, the service crashes. Exception prompt
Problem analysis:
1. After seeing the prompt information in the log, I thought it was caused by insufficient system memory. So a monitoring script was added to the server (as shown below) to record the system memory and tomcat memory every 1 second.
After monitoring for a period of time, the exception reappeared. No memory exception was found in the log
2. After the memory is excluded, the idea turns to whether the number of processes is exceeded due to too many concurrent users?
1) View the resource limit parameters of the current Linux user ulimit -a
2) Among the above parameters, the one that attracts more attention is that a process can The maximum number of files opened, that is, open files. The maximum number of processes allowed to be created by the system is the max user processes parameter. We can use ulimit -u 4096 to modify the value of max user processes, but it will only take effect in the session of the current terminal. After logging in again, the system default value will still be used.
The correct way to modify it is to modify the value in the /etc/security/limits.d/90-nproc.conf file. Let’s first take a look at what this file contains:
1 2 3 4 5 6 |
|
We only need to modify the value 4096 in the above file.
After investigation, it was indeed due to the fact that the maximum number of processes set by the current user of the server was too small, causing the server to fail to create processes and crash.
Reference:
linux View the current process:
The above is the detailed content of Tomcat error analysis under Linux. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics





To deploy a JAR project to Tomcat, follow these steps: Download and unzip Tomcat. Configure the server.xml file, set the port and project deployment path. Copies the JAR file to the specified deployment path. Start Tomcat. Access the deployed project using the provided URL.

To allow the Tomcat server to access the external network, you need to: modify the Tomcat configuration file to allow external connections. Add a firewall rule to allow access to the Tomcat server port. Create a DNS record pointing the domain name to the Tomcat server public IP. Optional: Use a reverse proxy to improve security and performance. Optional: Set up HTTPS for increased security.

Tomcat installation directory: Default path: Windows: C:\Program Files\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Custom path: You can specify it during installation. Find the installation directory: use whereis or locate command.

To deploy multiple projects through Tomcat, you need to create a webapp directory for each project and then: Automatic deployment: Place the webapp directory in Tomcat's webapps directory. Manual deployment: Manually deploy the project in Tomcat's manager application. Once the project is deployed, it can be accessed by its deployment name, for example: http://localhost:8080/project1.

How to check the number of concurrent Tomcat connections: Visit the Tomcat Manager page (http://localhost:8080/manager/html) and enter your user name and password. Click Status->Sessions in the left navigation bar to see the number of concurrent connections at the top of the page.

The Tomcat website root directory is located in Tomcat's webapps subdirectory and is used to store web application files, static resources, and the WEB-INF directory; it can be found by looking for the docBase attribute in the Tomcat configuration file.

The Tomcat port number can be viewed by checking the port attribute of the <Connector> element in the server.xml file. Visit the Tomcat management interface (http://localhost:8080/manager/html) and view the "Status" tab. Run "catalina.sh version" from the command line and look at the "Port:" line.

To configure Tomcat to use a domain name, follow these steps: Create a server.xml backup. Open server.xml and add the Host element, replacing example.com with your domain name. Create an SSL certificate for the domain name (if required). Add an SSL connector in server.xml, change the port, keystore file, and password. Save server.xml. Restart Tomcat.
