버전 제한 Java 6 u34 이상 부터 가능 설정법 > 기본 설정 -verbose:gc -Xloggc:/ppaint/logs/gc/gc_%t.log > Rotation 설정 -XX:+UseGCLogFileRotation > 용량 기준으로 분리 -XX:GCLogFileSize=50m -XX:NumberOfGCLogFiles=5 # 50m 마다 분리하며 최대 5개까지 만들겠단 의미 옵션 설명 -verbose:gc GC 로그를 생성 여부 -Xloggc: GC 로그를 쌓을 위치 %t 로 기입하면 gc_2019-08-27.log 형태로 쌓인다. -XX:+UseGCLogFileRotation GC 로테이션 여부 / 이 옵션을 활성화 해야 로테이션을 수행한다. 파일 분리 -XX:GCLogFileSize=50m 지정..
# 힙메모리 설정-Xms8g -Xmx8g # GC 설정-XX:+UseG1GC -verbose:gc -Xloggc:/kakao/logs/gc/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps # 힙덤프 설정-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/kakao/logs/heapdump/ # JMX 관련-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticat..
크게 2가지 1.$ kill -3 - 실행한 경로에서 덤프 파일 생성- 만약 -3 을 생략할 경우 프로세스가 종료되므로 조심 2.$ jstack > jstack 경우 부하가 kill -3 보다 있음.CPU 가 100% 인 상황에선 아무래도 kill -3 이 더 나음 PID 확인 방법$ ps -ef | grep java 아래와 같이 awk 를 사용해서 pid만 추출할 수 있다.$ ps -ef | grep java | grep -v grep | awk '{print $2}' * grep -v grep 은 지금 실행하는 명령도 프로세스로 표시 되기 때문에 제외 처리
출저: 자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기 (http://www.yes24.com/24/Goods/5209760?Acode=101) 쓰레드 상태NEW- 쓰레드가 아직 시작 되지 않는 상태 RUNNABLE- 쓰레드가 수행 중인 상태 BLOCKED- 쓰레드가 잠겨 있어서 풀리기만 기다리는 상태 WAITING- 다른 쓰레드가 특정 작업을 수행하여 깨울 때까지 무한정 기다리는 상태- 별다른 요청이 없는 상황에서도 대부분 WAITING 상태 TIMED_WAITING- 다른 쓰레드가 특정 작업을 수행하여 꺠울 때까지 지정된 시간만큼 기다리고 있는 상태 TERMINATED- 쓰레드가 종료된 상태 * 유심히 봐야할 상태는 RUNNABLE 과 BLOCKED
1. $TOMCAT_HOME/bin/catalina.sh 파일 열기 2. 구문 수정변경전 : >> "$CATALINA_OUT" 2>&1 & 변경후 : >> /dev/null 2>&1 & 3. 예제touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift "$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ -Djava.security.manager \ -Djava.securi..
1. server.xml ... ... 2. 디렉토리 구성위 설정의 service name 과 host name 값 참조하여 ./paint/localhost 과 같이 디렉토리 생성 ./paint/localhost 내에 .xml 을 생성한다. / (Root Context)일 경우, ROOT.xml /aaa 라는 Context-path를 가질 경우, aaa.xml 로 생성한다. 3. ROOT.xml 4. aaa.xmlcontext path에 해당 context-path를 설정
server.xml
URIEncoding="UTF-8" 설정
발췌 : http://www.webmadang.net/develop/develop.do?action=read&boardid=1004&page=null&seq=33 Tomcat server.xml 설정 한글문서 - 한국 Jakarta Project 사이트로부터 C:Tomcat 5.0conf에 server.xml를 열어봅시다. 무쟈게 복잡하죵? ㅎㅎ 일단 하나하나씩 알아 봅시다.server.xml는 다음과 같은 구조로 구성되어있습니다.-. Top level Elements : 는 설정파일 전체에서 Root Element이며 반면에 는 하나의 Engine과 연관된 Connector들의 집합을 말합니다. top level elements에는 , 등이 있습니다. -. Connector : 외부 Client와 요청..
%a - Remote IP address%A - Local IP address%b - Bytes sent, excluding HTTP headers, or '-' if zero%B - Bytes sent, excluding HTTP headers%h - Remote host name (or IP address if resolveHosts is false)%H - Request protocol%l - Remote logical username from identd (always returns '-')%m - Request method (GET, POST, etc.)%p - Local port on which this request was received%q - Query string (prepended w..
참조 URL : http://betterthanyesterday.textcube.com/7 1. java, jsp 소스 파일내의 다국어 표시 java, jsp 소스 파일의 인코딩과 JVM 실행시 -Dfile.encoding이 일치하지일치하지 않으면 소스 파일내의 한글이 제대로 표시되지 않는다. 따라서 -Dfile.encoding값을 모든 경우에 무조건 EUC-KR로만 지정해서는 안된다. publicpublic class Tester { public static void main(String[] args) {{ String fileEncoding=System.getProperty("file.encoding"); System.out.println("file.encoding = "+fileEncoding);"..
RFC(Remote Function Call)을 이용하여 SAP과 연동한다..그에 따라 연동을 위해서 작업이 필요하다.. #### UNIX ########################SAP연동에 필요한 자료들은 SAP에서 아래와 같이 제공해줌.=====================================================================[kkam:/home/jeus/lib/saplib]lsReadme.txt demo libsapjcorfc.soSAPJCOEx02.class docs sapjco-rs6000_64-2.1.8.tarSAPJCOEx02.java librfccm.o sapjco.jar===============================================..
jeus.servlet.jsp.modern 옵션의 기본 설정은 아래와 같습니다. JEUS5 : -Djeus.servlet.jsp.modern=false JEUS6 : -Djeus.servlet.jsp.modern=true true 일 경우- 오픈소스 등 웹 프레임워크를 보다 잘 지원하고 호환성 문제를 줄이기 위해서 톰캣 Jasper 기반의 JSP 파서를 사용하게 됩니다.- 이 파서는 JSP 스펙과 동일한 수준에서 엄격하게 문법 체크를 하기 때문에 기존 JSP 파서에서 지원한 비표준적인 문법을 사용한 경우 에러가 발생할 수 있습니다.
JEUS 5.x Session Server(중앙집중식) 1. 수정할 환경파일들 - jeus Script File - JEUSMain.xml - WEBMain.xml 2. 환경설정 1) jeus Script - 위치 : $JEUS_HOME/bin/jeus - 이 스크립트 파일에 설정을 해주어야 Manager단에서 세션서버를 찾을 수 있다. - 설정내용 WAS1 (111.111.111.1)-Djeus.sessionmgr.primary=111.111.111.1:9736 -Djeus.sessionmgr.backup=111.111.111.2:9736 WAS2 (111.111.111.2)-Djeus.sessionmgr.primary=111.111.111.1:9736 -Djeus.sessionmgr.backup=11..
1. 수정할 환경파일들 참고 " 기존에 jeus스크립트 설정에서 vhost.properties 설정으로 변경되었다. 또한, vhost.xml에서 vhost.properties로 명칭도 변경되었다. " - vhost.properties - JEUSMain.xml - WEBMain.xml 2. 환경설정 1) vhost.properties - 위치 : $JEUS_HOME/config/vhost.properties - 이 스크립트 파일에 설정을 해주어야 Manager단에서 세션서버를 찾을 수 있다. - 설정내용 WAS1 (111.111.111.1) was1:111.111.111.1:9736 was2:111.111.111.2:9736 WAS2 (111.111.111.2) was1:111.111.111.1:9736..
[환경구성]Vhost구성을 아래와 같이, 각각 포트를 8081, 8082로 구성한다음vhost1은 JEUS 컨테이너1, vhost2는 JEUS컨테이너2와 연결을 하는 구성을 한다. 127.0.0.1:8081 --> Container1127.0.0.1:8082 --> Container2 [장애내용]- 8081포트의 Container1에서 팝업창을 열어 8082포트의 Container2에 있는 ap를 호출할 경우 팝업창의 세션은 유지되지만,- 다시 Container1로 가면 세션이 끊기는 현상이 발생함. [원인]- 팝업창을 열었을시에, JSESSIONID가 새로 생성됨.- 새로 생성된 JSESSIONID로 팝업창은 세션이 끊기지 않은것으로 보이지만,- 팝업을 호출하였던 8081페이지에서는 새로 생성된 JSE..
사전지식- Timeout설정은 분 단위.- 설정은 크게 2가지임. 소스/환경파일- 환경파일은 web.xml, webcommon.xml, WEBMain.xml 3개임.- 소스에 설정할 경우엔 무저건 우순순위는 1등~! JEUS 4, 5: WEBMain.xml의 shared설정 값에 따라 적용순서가 달라짐. 30 false true일 경우1. setMaxInactiveInterval2. WEBMain.xml3. web.xml4. webcommon.xml false일 경우1. setMaxInactiveInterval2. web.xml3. webcommon.xml4. WEBMain.xml JEUS6: JEUS6에서는 값과는 무관함.1. setMaxInactiveInterval2. web.xml3. webcomm..
IBM JDK 1.4.2 SR6 이상의 버젼에서 session clustering 하기 위해서는 아래의 옵션으로 피해갈 수 있음. -Djeus.net.ibm.bugversion=true IBM JDK 1.4.2 SR6 이상의 버젼에 session clustering을 할 경우 아래의 에러가 발생 함1. JeusServer 로그의 에러내용 ========================================================================== jeus.net.ConnectorException: fail to connect to local endpoint 10.222.37.95:9736(9750) at jeus.net.Endpoint.getSocketStream(Endpoint...
Windows NT장비의 경우, OS특성상 jboot를 수행한 Prompt 창을 닫으면 프로세스가 죽는다. 이를 방지하기 위해서는 서비스로 등록하는 방법이 있다. 등록법 (실행파일은 각각 제품홈 밑에 bin에 존재함)1. JEUS 등록 : svcinstall.exe jeus.ini id passwd 해제 : svcremove.exe 2. WebtoB 등록 : 4.1.2.0 이전 : srvinstall.exe 4.1.2.0 이후 : srvinstall.exe WebtoB C:\TmaxSoft\WebtoB4.1.2.0 srvinstall.exe [service name] [WEBTOBDIR] 해제 : srvremove.exe 서비스 등록시 장단점1. 장점 - Prompt 창을 닫아 프로세스가 죽는 경우가 없..
JEUS 3.x$JEUS_HOME/config///container.xml의 태그 안에 JspWorkDir을 설정하면 된다. JEUS 4.x, 5.x, 6.x $JEUS_HOME/config///WEBMain.xml의 태그 안에 를 설정하면 된다. /home/tmax/jeus/webhome/jspwork 라고 원하는 이름으로 정의해 주시면 해당 디렉토리 이름으로 생성이 된다. 특이사항 JEUS6 fix4 의 경우, JEUS 재기동시 workdir을 지워버리는 버그가 존재하여 필히 jsp-work-dir설정 할것.
개요모사이트 시스템에서 gc로그를 확인하여 보면 total heap size가 동적으로 변동이 되고 있고 있었다. 자세히 따지면 new영역을 동적으로 관리하는 기능이다. 앞전에 이런기능이 있는걸로 알고 있었지만, 문제는 full gc가 너무 빈번하게 발생하였다.그래서 7월9일에 New영역을 동적으로 변동시켜는 기능을 비활성화설정을 하고 나서 지켜본 결과 full gc가 거의 일어나지 않고 있음을 확인할 수 있었다. 그에 따라 UseAdaptiveSizePolicy 옵션에 대하여 알아보았다. Q. UseAdaptiveSizePolicy 가 무엇인가?-XX:+UseAdaptiveSizePolicy: Adaptive하게 New Generation의 크기가 Survivor Space의 크기를 변경할 것인지의 여..
- Total
- Today
- Yesterday
- Linux
- URL Encoding
- 리눅스
- nginx
- Ansible
- 데브옵스
- JVM
- iTerm2
- Playbook
- PostgreSQL
- 엔시블
- 플레이북
- Shell Script
- openssl
- Password manager
- rsync
- 엔서블
- Nexus
- Thread Dump
- Config History
- Jenkins
- rundeck
- 쓰레드덤프
- groovy
- Docker
- vagrant
- ssl
- 파이프라인
- DevOps
- 젠킨스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |