Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:php_memory_increase [2015/05/18 20:11]
Jackson Zhang
— (current)
Line 1: Line 1:
-====== Increase PHP Memory Limit for Java OutOfMemoryError ====== 
- 
-You have java installed in your server but could not load /​directory/​javatest.php 
- 
-It shows a memory related error when run the java command: 
-<​code>​ 
-java -version 
-java.lang.OutOfMemoryError:​ unable to create new native thread 
-</​code>​ 
- 
-OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14) instead of tomcat installed. 
- 
-Check error log: 
-/​tmp/​jvm-81]cPs#​ cat hs_error.log ​ 
- 
-<​code>​ 
-# There is insufficient memory for the Java Runtime Environment to continue. 
-# pthread_getattr_np 
-# Possible reasons: 
-#   The system is out of physical RAM or swap space 
-#   In 32 bit mode, the process size limit was hit 
-# Possible solutions: 
-#   ​Reduce memory load on the system 
-#   ​Increase physical memory or swap space 
-#   Check if swap backing store is full 
-#   Use 64 bit Java on a 64 bit OS 
-#   ​Decrease Java heap size (-Xmx/-Xms) 
-#   ​Decrease number of Java threads 
-#   ​Decrease Java thread stack sizes (-Xss) 
-#   Set larger code cache with -XX:​ReservedCodeCacheSize= 
-# This output file may be truncated or incomplete. 
-# 
-#  Out of Memory Error (os_linux_x86.cpp:​718),​ pid=553881, tid=139928360994560 
-# 
-# JRE version: ​ (7.0_79-b14) (build ) 
-# Java VM: OpenJDK 64-Bit Server VM (24.79-b02 mixed mode linux-amd64 compressed oops) 
-# Derivative: IcedTea 2.5.5 
-# Distribution:​ Built on CloudLinux Server release 6.6 (Leonid Kizim) (Thu Apr 16 03:44:02 EDT 2015) 
-# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "​ulimit -c unlimited"​ before starting Java again 
-</​code>​ 
- 
-PHP memory limit for lsphp5 external app could be the problem. ​ 
- 
-You can  add "​system('​ulimit -a') at the beginning of the test script to find out the limits for that process. ​ 
- 
-Output phpinfo() is also a good idea to help identify the php memory_limit settting. 
- 
-The memory [[http://​www.litespeedtech.com/​docs/​webserver/​config/​extapps#​memSoftLimit|soft limit]] of lsphp5 external app may need to be increased. If it has been increased and "​ulimit -a" from PHP script still shows a lower limit, you need to look into "​memory_limit"​ set by php.ini or overridden by "​php_value"​ in .htaccess. ​ 
- 
-Finally increase memory limit to 4GB, and add java command parameter to limit java's memory usage, javatest.php works now.  
- 
-Actually 4GB is not enough for default java runtime. 
- 
-The java command result is normally sent to stderr and you can check /​usr/​local/​apache/​logs/​stderr.log for the java version output. 
  
  • Admin
  • Last modified: 2015/05/18 20:11
  • by Jackson Zhang