tomcat 6과 테라코타 3.5.4를 사용하여 liferay 6.0.6을 사용하고 있습니다. 테라코타가 다른 서버에 설치되어 정상적으로 작동합니다.RedHat에서는 tomcat 6을 사용하지만 debian에서는 그렇지 않습니다.
debian 및 redhat 시스템은 가상 시스템이며 완전히 동일한 가상 하드웨어를 사용합니다. 1CPU, 4GB RAM, 둘 다 64 비트 OS.
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
메신저 데비안 시스템을 사용하여 예상대로 다음 모든 작품 응용 프로그램을 부팅합니다. 레드햇 시스템을 이용한 메신저 그때 오류가 발생하는 경우
는 :
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:657)
at java.util.Timer.<init>(Timer.java:176)
at com.tc.object.locks.ClientLockManagerImpl.<init>(ClientLockManagerImpl.java:39)
at com.tc.object.StandardDSOClientBuilder.createLockManager(StandardDSOClientBuilder.java:190)
at com.tc.object.DistributedObjectClient.start(DistributedObjectClient.java:639)
at com.tc.object.bytecode.ManagerImpl$2.execute(ManagerImpl.java:263)
at com.tc.lang.StartupHelper.startUp(StartupHelper.java:39)
at com.tc.object.bytecode.ManagerImpl.startClient(ManagerImpl.java:281)
at com.tc.object.bytecode.ManagerImpl.init(ManagerImpl.java:202)
at com.tc.object.bytecode.ManagerImpl.init(ManagerImpl.java:190)
at com.tc.object.bytecode.hook.impl.DSOContextImpl.createStandaloneContext(DSOContextImpl.java:179)
at org.terracotta.express.StandaloneL1Boot.call(StandaloneL1Boot.java:190)
at org.terracotta.express.ClientImpl.<init>(ClientImpl.java:309)
at org.terracotta.express.ClientFactoryImpl.newClient(ClientFactoryImpl.java:232)
at org.terracotta.express.ClientFactoryImpl.createClient(ClientFactoryImpl.java:225)
at org.terracotta.express.ClientFactoryImpl.createClient(ClientFactoryImpl.java:212)
at org.terracotta.express.ClientFactoryImpl.getOrCreateClient(ClientFactoryImpl.java:190)
at org.terracotta.express.ClientFactory.getOrCreateClient(ClientFactory.java:28)
at net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory.<init>(StandaloneTerracottaClusteredInstanceFactory.java:37)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
이 오류의 이상한 부분은 메모리를 사용하지 않는 점이다. 나는 Xmx를 3500m로 설정했지만 메모리 사용량은 2.3GB 이상으로 올라가지 않습니다.
나는 가능한 원인에 대한 검색 및이를 발견했습니다 Low Java single process thread limit in Red Hat Linux
그래서 난 내에서는 ulimit -n을 변경하고 ulimit를 -u는 80000에 여전히 아무것도 변경되지 않습니다.
는 그때 나는 또한 그럼 내가 다시 부팅fs.file-max = 100000
/etc/sysctl.conf에 편집
* soft nproc 81920
* hard nproc 81920
* soft nofile 81920
* hard nofile 81920
내는 /etc/security/limits.conf 편집.
나는 또한 내가 에코 실행을 -Xss5000k하는 내가 -Xss 증가
내 setenv.sh에 -Xms = 2g을 추가 200000>/proc 디렉토리/sys 인/커널/스레드 - 최대그러나 여전히 같은 오류가 발생합니다. 어떤 아이디어? 단지 충돌
total used free shared buffers cached
Mem: 3963 2897 1065 0 31 823
-/+ buffers/cache: 2043 1920
Swap: 2047 18 2029
업데이트하기 전에
total used free shared buffers cached
Mem: 3963 1027 2935 0 25 748
-/+ buffers/cache: 253 3709
Swap: 2047 18 2029
무료 -m 부팅의 시작에서
무료 -m : 나는 또한 기가 바이트 램과 같은 결과로 기계와 시도가 나타납니다.
JRE는 동일한가요? RHT 시스템에 * free -m * 출력을 게시 할 수 있습니까? –
JRE가 동일합니다. – SpikerTom
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64) OpenJDK 64 비트 서버 VM (빌드 20.0-b12, 혼합 모드) – SpikerTom