728x90

HP-UX의 TCP Trace Dump는 nettl이라는 command로 제공

■ nettl 사용방법

$ nettl -stop
$ nettl -start
$ nettl -tn pduin pduout -e all -f [파일경로]
~ ~ 30초 경과
$ nettl -tf -e all


■ nettl command option
tn : trace on
tf : trace off
pduin : inbound protocol data unit
pduout : outbound protocol data unit
e : entity subsystem
e all: all subsystem
tm : trace max size
m : trace 기록에서 byte 수
n : 파일 개수 지정
f : 캡쳐한 바이너리를 저장할 파일을 지정하는 옵션

TCP Trace Dump는 어마어마한 양의 Data가 기록됨.
이를 해석하기 위해 Filter라는 옵션을 제공
자신이 원하는 Data만 수집할 수 있는 기능
임의의 filter파일을 만들어 옵션을 지정합니다.
덤프를 서버상에서 확인하는 명령어는 netfmt를 사용.

■ 서버상에서 TCP Dump 내용 확인하기

1. 캡쳐 파일에서 모든 패킷에 1-liner trace 분석 파일을 만듭니다
 

$ netfmt -Nnl1f /tmp/nfssvr.TRC0 > /tmp/trace.txt


2. 캡쳐 파일에서 모든 패킷의 자세한 trace 분석결과를 만듭니다
 

$ netfmt -Nnlf /tmp/nfssvr.TRC0 > /tmp/trace.txt


3. 패킷 필터를 사용하여 1-liner trace 분석 파일을 만듭니다.

  $ netfmt -Nnl1c /tmp/filterfile -f /tmp/nfssvr.TRC0 > /tmp/trace.txt


■ netfmt 패킷 필터를 활용한 내용 확인하기
1. nettl trace를 구동하는 호스트에 의해 IP 어드레스로 전송되거나 수신되는 패킷을 보려면
   filter ip_saddr 192.6.2.1
   filter ip_daddr 192.6.2.1

2. nettl trace를 구동하는 호스트에 의해 이더넷 어드레스로 전송되거나 수신되는 패킷을 보려면
   filter source 08-00-09-00-12-3c
   filter dest 08-00-09-00-12-3c

3. trace를 하고 있는 호스트로 전송되거나 수신되는 패킷을 보려면
  NFS 패킷을 보려면
   filter udp_sport 2049 /* UDP port 2049 = nfsd */
   filter udp_dport 2049 /* UDP port 2049 = nfsd */

4. trace를 하고 있는 호스트로 전송되거나 수신되는 패킷을 보려면
  텔넷 패킷만을 보려면
   filter tcp_sport 23 /* TCP port 23 = telnet */
   filter tcp_dport 23 /* TCP port 23 = telent */

※주의: 다중 필터가 사용되면, 논리적으로 " AND"되고 "OR"되지 않습니다
        filter ip_saddr 192.6.2.1
        filter ip_daddr 192.6.2.1
        filter tcp_sport 23 /* TCP port 23 = telnet */
      이 필터는 ip 어드레스 192.6.2.1을 갖는 시스템으로/에서 오직 텔넷 커넥션 요청을 포맷할 것입니다

"진행중인" 패킷 관찰을 위해서는
"진행중인" 패킷 관찰을 위한 nettl_netfmt 운영 방법:
다음 명령어가 스크린에 trace 파일로 표시하고, 출력을 파일로 만듭니다. -e 파라미터로 드라이버를 지정할 수 있습니다:

$ nettl -tn 0x30800000 -e all | netfmt -FNnlc /tmp/filterfile | tee /tmp/fmt0


 trace를 정지하기 위해서는
위에 시작된 nettl 명령어에 CTRL/C를 누르고 나서,

 $ nettl -tf -e all


포맷된 trace 파일은 /tmp/fmt0 파일이 됩니다. 이때 만들어진 어떤 raw파일도 없습니다.

728x90
728x90

출처 : https://waspro.tistory.com/106

1. HP-UX

$ glance


> glance Command 창에서 s를 누른 후 CPU를 점유중인 pid를 입력
> Process 정보창에서G(shift+g)를 누른 후 Thread 별로 CPU 사용량 확인가능(space로 다음페이지 확인 가능)
> Thread 정보의 TID와 Thread Dump의 lwpid와 맵핑해서 확인 할 수 있다.

2. Linux

$ top -h


> 여기서 pid는 Thread ID
> Thread Dump의 nid와 Pid 값을 16진수로 변환해 일치하는 값을 확인

728x90
728x90

개요
 HPUX JAVA Minor패치(1.6.0.20 -> 1.6.0.33) 후 특정 로직에서 Exception 발생.

현상
 HPUX JAVA Minor패치(1.6.0.20 -> 1.6.0.33) 후 특정 로직에서 java.lng.NoClassDefFoundEeeor : Could not initialize class com.sun.net.ssl.internal.ssl.SupportedEllipticCurvesExtension 발생

원인
 HPUX JAVA 1.6.0.33으로 업그레이드시 발생하는 exception는com/sun/net/ssl/internal/ssl/SupportedEllipticCurvesExtension에 대한 class를 찾지 못해서 생긴 메시지.
 해당 exception은 JDK-8148516 fix에서 시작합니다. 이 fix의 부작용으로 elliptic curve name extension field 처리에 필요한 elliptic curve cryptography support 를 잃어버렸음.
 잃어버린 elliptic curve cryptography support에 대한 내용 문서 http://bugs.java.com/view_bug.do?bug_id=8175005

해결방안
 https://bugs.openjdk.java.net/browse/JDK-8173783 에 의하면 해당 버그는 6u141 b32(HPE JDK 6.0.35)에서 해결

 

728x90
728x90

tcp_conn_request_max
 개요
 application에서 tcp connection을 한번에 열어줄 수 있는 개수를 관장하는 OS global parameter.
 default : 4096 connections

 관련 현상
 Socket error : No buffer space available.

 ex) /usr/bin/ndd -[set/get]  /dev/tcp tcp_conn_request_max

     tcp_conn_request_max 값을 확인하라 

 $ /usr/bin/ndd -get  /dev/tcp tcp_conn_request_max


     tcp_conn_request_max 값을 8k로 설정하라

$ /usr/bin/ndd -set  /dev/tcp tcp_conn_request_max:8192


728x90
728x90

개요
 JAVA Process HANG 발생 후 해당 Process의 kill 불가.

현상
 JAVA Process의 서비스 불가로 인한 HANG 발생 확인 후 process에 대해 kill등의 조치를 취하려 하였으나 불가하였음.

원인
 HP OS의 NFS(네트워크 공유 파일 시스템)솔루션인 ONCplus Software의 Bug 및 Virtual Memory System Call 결함으로 인해 발생 
 (NFS Call 완료 되지 않은 상태에서  Java 프로세스의 반복적인 I/O 요청으로 Hang 발생 및 프로세스 Kill 불가)

해결방안
 1차적으로 해당 현상 해소를 위해서는 서버 리부팅을 통해 해소
 근본적인 해결을 위해 HPUX의 패치 수행
  NFS Software(ONCplus) 최신 버전(11.31.19.1) 업데이트
  vm cumulative patch 적용

728x90

+ Recent posts