2014/12/02 27

턱시도 디바이스 관리 명령

tuxedo 디바이스 관리 명령 명령어(약어) 설명 비고 dsdl 전에 존재하지 않는 디바이스를 생성 >crdl -b blocks -z config -0 configoffset initdl(indl) 디바이스를 없앤다 > initdl (indl) [-yes] -z config [-o offset] dlindex lidl 디바이스 리스트의 항목을 보여준다 > lidl -z config [-o offset] [dlindex] livtoc 모든 VTOC(Volume Table of Contents) 테이블의 항목에 대한 정보를 보여준다 > livtoc -z config [ -o offset] by 김영준

JBoss Log 설정

boot.log 와 server.log JBoss의 로깅시스템은 두 군데서 이루어 집니다. boot.log 와 server.log로 나뉘는데 boot.log 파일은 JBoss Microcontainer의 초기화 및 JBoss bootstrap에 대한 로그를 기록하는 파일이며, server.log 파일은 이 이후 모든 JBoss의 시스템 로그를 기록하는 파일입니다. - access.log 설정 파일명: server.xml 파일 경로: /jboss/jboss-6.1.0.Final/server/default/deploy/jbossweb.sar 위 해당부분의 주석을 제거해야 access.log파일이 생성되며, apache access.log 외에 jboss의 access.log를 설정할 경우 jboss로 직접 ..

JBoss EAP6 (AS7) 튜닝 - ajp connector 에 대한 Thread Pool 생성하기

JBoss EAP6 (AS7) 의 웹 서브시스템은 클라이언트 요청에 대해서 스레드를 할당해 처리한다. 웹 서브시스템은 클라이언트의 요청을 수신하면 풀에서 대기 상태의 스레드를 할당하고 요청이 완료(클라이언트에의 응답 완료 시)되면 스레드 풀에 반환한다. 클라이언트 요청이 들어왔을 때 스레드 풀이 최대값에 도달하지 않는 경우 새로운 스레드를 생성하여 할당한다. 스레드 풀이 최대값에 도달한 경우에는 클라이언트와 연결되지 않는다. 클라이언트의 동시 접속 수는 이 스레드 풀의 최대값에 의해 결정된다. 스레드 풀은 커넥터마다 생성하여 관리한다. Http와 AJP 커넥터에서 사용자 요청을 처리하기 위해서는 미리 최대 사용자에 맞게 커넥터의 "Max Connections" 수와 thread 생성에 제한이 없는 unb..

IBM JVM의 Heap fragmentation의 원인과 조치 방법

IBM JDK 1.4를 사용하는 JVM에서 자주 발생하는 Heap fragmentation 때문에 자주 곤란한 경우가 있다.그럼 언제 이와 같은 문제가 발생하는 것이고 원인을 뭘까 고민하던 중 아래 글과 IBM JDK diagnostic 문서를 보면 해결이 가능하다. Java heap fragmentation의 원인들 1. 큰 객체를 할당하는 어플리케이션 (주요원인) --> 어플리케이션 수정2. 많은 pinned, dosed 객체들 --> pCluster, kCluster 값 변경 (pinned 만 적용됨)3. JVM fragmentation defect --> 최산 Java를 사용함4. JNI에서 생성한 객체들 (pinned) --> JNI에서 객체를 제거해주도록 수정5. Xms = Xmx 인 경우, ..

JBoss Security

JBoss Security Java에서 제공하는 보안관련 세부 기능 중 JBoss security를 기준으로 매핑된 내용을 나열하였습니다. 실제로는 이것보다 훨씬 더 많은 내용들이 매핑되지만, 웹 어플리케이션, EJB 등에서 사용하는 보안위주로 다루겠습니다. 구분 JBoss Security 매핑 Cryptography - 웹 서비스 보안(WS-Security)에서 SOAP메세지를 안전하게 송수신 하기 위해 사용합니다. - 프로토콜 수준에서 암호화를 제공하는 SSL에서 사용합니다. - Login Module 적용 시 패스워드 암호화를 위해 사용합니다. Authentication and Access Control - 웹애플리케이션의 인증 시 사용합니다. - EJB의 method permission 적용 시 ..

Oracle JDBC 버전 간단히 확인하기

간혹가다가 Oracle JDBC의 버전을 빠르게 확인해야 하는 경우가 있다. JAVA code를 작성해서 버전을 확인하는 방법도 있지만 시간이 많이 소요되므로 다음과 같이 확인해 보자 1. MAINFEST.MF 파일 확인하기 1) ojdbc6.jar 파일의 압축을 해제한다. 2) META-INF/MAINFEST.MF 파일을 오픈하여 jdbc 버전을 확인한다. Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.5 Created-By: 1.5.0_51-b10 (Sun Microsystems Inc.) Implementation-Vendor: Oracle Corporation Implementation-Title: JDBC Implementation-Version: 11..

L4의 부하 분산 방법

L4의 부하 분산 방식은 제조사에 조금씩 차이가 있지만 가장 보편적으로 많이 쓰이는 방식을 소개한다. L4 부하 분산 방법에 대해서 알아보자. 1. Round Robin - 연결되어 있는 모든 서버에 동일한 세션을 라우팅 - 모든 서버의 연결 세션 갯수가 거의 비슷하게 됨 2. Hashing - 해쉬 연결 방식은 클라이언트의 IP:PORT를 조합하여 hash 함수를 통해 라우팅 - 세션의 유지가 가능하지만 서버의 연결 세션 갯수에 불균형이 발생 할 수 있음 3. Least Connection - 리스트 커넥션 연결 방식은 Active Connection이 적은 서버로 세션을 라우팅 - 모든 서버의 Active 연결 세션이 거의 비슷하게 됨 4. Weighted Round Robin - 특정 서버에 가중치..

jmap 명령어를 이용항 heap dump 파일 생성하기

JVM의 Heap 메모리 정보 확인 및 Heap dump를 생성하는 명령어Unix/Linux의 경우 kill -3 명령어를 이용하여 JVM의 Heap dump 생성이 가능하지만 Windows의 경우 서비스로 기동되어 있을 경우 command console이 없어 thread dump 및 Heap dump 생성이 어려움이럴 경우 jmap 명령어를 활용하여 Heap dump를 생성할 수 있다. - 필요한 환경 1. UNIX / Linux / Windows : JAVA 6 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jmap.exe - 명령어 사용법 > jps -v ... JVM의 PID를 확인 ...heapdump 파일 생성 > jmap -dump:fo..

jinfo 명령어를 활용한 JVM 상세 정보보기

JVM의 상세정보를 확인하는 명령어JVM의 버전(마이너), 컴파일 버전, 경로, os 타입, 인코딩 정보 등의 상세 내용을 확인할 수 있는 jinfo 명령어에 대해서 알아보자 - 필요한 환경 1. UNIX / Linux / Windows: JAVA 5 이상 - 명령어 위치 ( JAVA_HOME은 JDK 설치 폴더를 의미함) $JAVA_HOME/bin/jinfo.exe - 명령어 사용법 > jps -v ... JVM의 PID를 확인 ... > jinfo > JVMINFO.txt 예시) > jps -v 1640 jar -XX:+HeapDumpOnOutOfMemoryError -Xms512m -Xmx512m -XX:NewSize=128m > jinfo.exe 1640 > JINFO.txt JINFO.txt 파..