Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Phần Mềm

Cách Tăng Phân Bổ Bộ Nhớ Của Tomcat

Nếu bạn đang gặp vấn đề hiệu suất với Tomcat, một nguyên nhân phổ biến là thiếu phân bổ bộ nhớ JVM (Java Virtual Machine). Cài đặt mặc định của kích thước heap tối đa là 64MB hoặc 128MB. Bạn có thể tăng kích thước heap tối đa của ứng dụng bằng cách đặt tham số JVM -Xmx.

Ví dụ, -Xmx512m cho phép heap tối đa 512MB được phân bổ cho JVM. Để điều chỉnh tham số này, nhấp chuột phải vào biểu tượng My Computer, sau đó chọn tab Nâng cao. Nhấp nút Biến Môi Trường:

Cách Tăng Phân Bổ Bộ Nhớ Của Tomcat

Tạo biến CATALINA_OPTS, và đặt giá trị mong muốn, ví dụ "-server -Xmx256m".

Nếu bạn đang chạy trên Linux hoặc UNIX, hãy vào terminal và sử dụng tài khoản tomcat bằng cách dùng sudo su – tomcat hoặc tên tài khoản tương ứng tùy thuộc vào thiết lập của bạn. Bạn nên sử dụng tài khoản được dùng để chạy Tomcat.

Kiểm tra cả hai biến môi trường CATALINA_OPTS và JAVA_OPTS. Đặt các biến môi trường thành giá trị cao hơn. Ví dụ, nếu biến JAVA_OPTS chứa tối thiểu 64MB và 128MB heap tối đa, hãy tăng nó lên 128MB và 256MB.

OLD: JAVA_OPTS="-Xms64m -Xmx128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
OLD: JAVA_OPTS="-Xms128m -Xmx256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

Đảm bảo sử dụng giá trị tối đa nhỏ hơn kích thước RAM vật lý của bạn, nếu không nó sẽ được chuyển sang ổ cứng, điều này có thể gây ra thêm vấn đề hiệu suất.

Để kiểm tra xem cài đặt mới có hiệu lực không, đi đến URL của server Tomcat của bạn và sau đó nhấp Trạng thái:

Cách Tăng Phân Bổ Bộ Nhớ Của Tomcat

Bạn nên thấy giá trị mới dưới phần JVM:

Cách Tăng Phân Bổ Bộ Nhớ Của Tomcat

Nếu bạn không thấy bộ nhớ JVM cập nhật trên trang, hãy thử khởi động lại Tomcat vì thay đổi tham số cần khởi động lại Tomcat trước khi có hiệu lực. Điều này sẽ khắc phục sự cố hiệu suất Tomcat kém và tránh các vấn đề hết bộ nhớ với script phía server của bạn. Nếu bạn có câu hỏi, hãy cho chúng tôi biết trong bình luận. Thưởng thức!