| HOME / 정보공유 / AIX 명령어 모음

netpmon
netpmon netpmon 명령 목적 네트워크 I/O와 네트워크 관련 CPU 사용에 관하여 모니터하고 통계를 보고합니다. 구문
netpmon [ -o File ] [ -d ] [ -T n ] [ -P ] [ -t ] [ -v ] [ -O ReportType ... ] [ -i Trace_File -n Gennames_File ]
설명
netpmon 명령은 시스템 이벤트의 추적을 모니터하고, 모니터 기간 중의 네트워크 활성 및 성능을 보고합니다. 디폴트로, 하나 이상의 응용프로그램이나 시스템 명령이 실행되고 모니터되는 동안 netpmon 명령은 백그라운드에서 수행됩니다. netpmon 명령은 자동으로 시작하고 실행시간으로 네트워크 관련 시스템 이벤트의 추적을 모니터합니다. 디폴트로, 추적은 즉시 시작합니다. 선택에 의해 추적은 사용자가 trcon 명령을 발행할 때까지 지연될 수 있습니다. trcstop 명령으로 추적이 정지하면, netpmon 명령이 지정된 모든 보고서를 작성하고 종료합니다.
또한 netpmon 명령은 오프라인 모드 즉, 이미 생성된 추적 파일에서도 수행할 수 있습니다. 이 모드에서는 gennames 명령으로 생성된 파일도 필요합니다. gennames 파일은 추적이 정지하는 즉시 동일한 기계에서 생성되어야 합니다. 오프라인 모드에서 수행할 때는 netpmon 명령이 소켓에 사용되는 프로토콜을 인식할 수 없으므로 소켓 보고서에서 사용할 수 있는 세부 레벨이 제한됩니다.
netpmon 명령은 다음의 시스템 활성에 관하여 보고합니다.
주: netpmon 명령은 NFS3(ONC+)에는 사용되지 않습니다.
CPU 사용
netpmon 명령은 모든 스레드 및 인터럽트 처리자를 사용하여 CPU 사용을 모니터합니다. 이 명령은 얼마나 많은 사용이 네트워크 관련 활성으로 인한 것인지를 측정합니다.
네트워크 장치 드라이버 I/O
netpmon 명령은 마이크로채널 이더넷, 토큰링 및 FDDI(섬유 분산 데이터 인터페이스) 네트워크 장치 드라이버를 통해 I/O 조작을 모니터합니다. 전송 I/O의 경우, 이 명령은 또한 이용 정도, 대기행렬 길이 및 대상 호스트를 모니터합니다. 수신 ID에 대해, 명령은 또한 demux층에서의 시간을 모니터합니다.
인터넷 소켓 호출
netpmon 명령은 인터넷 소켓의 모든 send, recv, sendto, recvfrom, read 및 write 서브루틴을 모니터합니다. 그리고 다음의 각 프로토콜 유형에 대한 통계를 프로세스별 기준으로 보고합니다.
인터넷 제어 메세지 규약(ICMP)
전송 제어 규약(TCP)
사용자 데이터그램 규약(UDP)
NFS I/O
netpmon 명령은 클라이언트 NFS(네트워크 파일 시스템) 파일, 클라이언트 NFS RPC(원격 프로시저 호출) 요청 및 NFS 서버 읽기 또는 쓰기 요청에 관한 read 및 write 서브루틴을 모니터합니다. 이 명령은 각 서버에 대한 서브루틴 통계를 프로세스별 기준이나 선택적인 스레드별 기준 및 파일별 기준으로 보고합니다. netpmon 명령은 각 서버에 대한 클라이언트 RPC 통계 및 각 클라이언트에 대한 서버 읽기 및 쓰기 통계를 보고합니다.
이전의 보고서 유형의 어떠한 결합도 명령행 플래그로 지정될 수 있습니다. 디폴트에 의해 모든 보고서가 산출됩니다.
주: netpmon 명령으로 작성된 보고서는 아주 길 수 있습니다. 따라서, 출력 파일에 보고서를 기록하는 데 주로 -o 플래그가 사용됩니다. netpmon 명령은 시스템 추적 기능을 사용하여 성능 데이터를 가져옵니다. 추적 기능은 한개의 출력 스트림만을 지원합니다. 따라서, 한번에 한개의 netpmon 또는 trace 프로세스만 활성화될 수 있습니다. 다른 netpmon 또는 trace 프로세스가 이미 수행되고 있을 경우, netpmon 명령은 다음과 같은 메세지로 응답합니다.
/dev/systrace: Device busy
네트워크 위주의 응용프로그램을 모니터하는 동안, netpmon 명령은 실행시간에 산출되는 것처럼 신속하게 추적 이벤트를 사용할 수 없을 가능성이 있습니다. 그럴 경우, 다음과 같은 오류 메세지가 표시됩니다.
Trace kernel buffers overflowed, N missed entries
위의 오류 메세지는 표준 오류에 표시되어 이 추적 버퍼가 가득차 있는 동안 유실된 추적 이벤트 수를 나타냅니다. netpmon 명령은 네트워크 활성을 계속 모니터링하지만 보고서의 정확도는 다소 감소합니다. 오버플로우를 피하는 한가지 방법은 -T 플래그를 사용하여 추적 버퍼 크기를 증가시켜 오버플로우 전에 추적 이벤트의 대량 분출을 수용하는 것입니다. 오버플로우 문제점을 완전히 피할 수 있는 또다른 방법에는 netpmon 명령을 오프라인 모드로 수행하는 방법이 있습니다.
메모리 제한 환경(메모리에 대한 수요가 공급을 초과하는 환경)에서 수행 중인 경우, -P 플래그는 페이지가 스왑 아웃(swap out)되지 않도록 메모리에 있는 실행시간 netpmon 프로세스의 텍스트 및 데이터 페이지를 고정시키는 데 사용됩니다. -P 플래그가 사용되지 않고, netpmon 프로세스가 스왑 아웃되도록 허용할 경우, netpmon 명령의 진행은 추적 이벤트와 추적 버퍼 오버플로우를 방지할 수 있을 정도로 신속하게 처리할 수 없을 만큼 지연될 수 있습니다.
/unix 파일과 수행 중인 커널이 동일하지 않은 경우, 커널 주소가 정확하지 않은 것이며 netpmon 명령이 종료되는 원인이 됩니다.
구현 특성
이 명령은 POWER 기반 플랫폼에서만 유효합니다.
파일
-d netpmon 명령을 시작하지만 사용자가 trcon 명령을 실행할 때까지 추적을 연기합니다. 디폴트로는, 추적이 즉시 시작됩니다.
-i Trace_File 현재 활성 상태인 시스템 대신에 trace 명령으로 작성된 Trace_File 파일에서 추적 레코드를 읽습니다. 추적 파일은 먼저 trcpt -r 명령을 사용하여 원시 형식으로 다시 기록해야 합니다. 이 플래그는 -n 플래그와 함께 사용해야 합니다.
-n Gennames_File gennames 명령으로 작성된 Gennames_File 파일에서 필요한 매핑 정보를 읽습니다. -i 플래그를 사용할 때는 이 플래그도 함께 사용해야 합니다.
-o File 보고서를 표준 출력이 아닌 지정된 File에 기록합니다.
-O ReportType ... 지정된 report type을 산출합니다. 유효한 report type 값은 다음과 같습니다.
cpu
CPU 사용법
dd
네트워크 장치 드라이버 I/O
so
인터넷 소켓 호출 I/O
nfs
NFS I/O
all
모든 보고서가 산출됩니다. 이것이 디폴트 값입니다.
-P 모니터 프로세스를 메모리에 고정합니다. 이 플래그를 사용하면 netpmon 텍스트와 데이터 페이지가 모니터링 기간 동안 메모리에 고정됩니다. 이 플래그는 메모리 제한 환경에서 수행되는 동안 실행시간 netpmon 프로세스가 메모리 이외의 공간에서 수행되지 않도록 해줍니다.
-t 스레드별 기준으로 CPU 보고서를 인쇄합니다.
-T n 커널의 추적 버퍼 크기를 n바이트로 설정합니다. 디폴트 크기는 64000 바이트입니다. 버퍼 크기를 늘려서, 대량의 이벤트 분출을 수용할 수 있습니다(한개의 이벤트 레코드 크기는 일반적으로 30 바이트로 지정되어 있습니다).
주: 커널에 있는 추적 드라이버는 더블 버퍼링을 사용하므로, 실제로 크기가 n 바이트인 두 개의 버퍼가 할당됩니다. 이 버퍼가 메모리에 고정되므로 페이징되지 않습니다.
-v 추가의 정보를 보고서에 인쇄합니다. 20개의 가장 활성적인 프로세스 및 파일 대신 모든 프로세스 및 액세스된 원격 파일이 보고서에 포함됩니다.
보고서
netpmon 명령이 작성한 각 보고서에는 날짜, 기계 ID 및 모니터 기간(초 단위)을 식별하는 헤더가 있습니다. 모든 지정된 보고서 유형에 대한 요약과 상세 보고서가 그 뒤에 나옵니다.
CPU 사용 보고서
CPU 사용 통계 프로세스: 각 행은 프로세스와 관련된 CPU 사용을 설명합니다. 상세한 옵션이 지정되지 않는 한, 가장 활성적인 20개의 프로세스가 나열됩니다. 보고서의 아래 부분에, 모든 프로세스에 대한 CPU 사용량이 합계되며 CPU 유휴 시간이 보고됩니다.
Process
프로세스 이름
PID
프로세스 ID 번호
CPU Time
이 프로세스에 의해 사용된 CPU 시간의 총량.
CPU %
이 프로세스에 대한 CPU 사용량의 총 시간에 대한 퍼센트
Network CPU %
이 프로세스가 네트워크 관련 코드를 실행하는데 소요된 시간의 총 시간에 대한 퍼센트
Thread CPU Usage Statistics
-t 플래그가 사용된 경우, 위에서 설명된 각 프로세스 행 바로 뒤에 그 프로세스가 소유한 각 스레드의 CPU 사용법을 설명하는 행이 이어집니다. 이 행에 있는 필드는 이름 필드를 제외하고 프로세스에 대한 것과 동일합니다(스레드는 명명되지 않음).
레벨 1 인터럽트 처리자 사용법 통계 : 각 행은 FLIH(레벨 1 인터럽트 처리자)와 관련된 CPU 사용을 설명합니다. 보고서 아래 부분에, 모든 FLIH에 대한 CPU 사용량이 합계됩니다.
FLIH
레벨 1 인터럽트 처리자 설명
CPU Time
FLIH에 의해 사용된 CPU 시간의 총량
CPU %
이 인터럽트 처리자에 대한 CPU 사용량의 총 시간에 대한 퍼센트
Network CPU %
이 인터럽트 처리자가 네트워크 관련 이벤트 대신에 실행한 시간의 총 시간에 대한 퍼센트
레벨 2 인터럽트 처리자 사용 통계 : 각 행은 SLIH(레벨 2 인터럽트 처리자)와 관련된 CPU 사용을 설명합니다. 보고서 아래 부분에, 모든 SLIH에 대한 CPU 사용량이 합계됩니다.
SLIH
레벨 2 인터럽트 처리자 설명
CPU Time
이 SLIH에 의해 사용된 CPU 시간의 총량
CPU %
이 인터럽트 처리자에 대한 CPU 사용량의 총 시간에 대한 퍼센트
Network CPU %
이 인터럽트 처리자가 네트워크 관련 이벤트 대신에 실행한 시간의 총 시간에 대한 퍼센트
요약 네트워크 장치 드라이버 보고서
네트워크 장치 드라이버 통계(장치별): 각 행은 네트워크 장치와 관련된 통계를 설명합니다.
Device
장치와 관련된 특정 파일의 경로 이름
Xmit Pkts/s
이 장치를 통해 각 초마다 전송되는 패킷
Xmit Bytes/s
각 초마다 이 장치를 통해 전송되는 바이트
Xmit Util
이 장치에 대한 사용 시간의 총 시간에 대한 퍼센트
Xmit Qlen
현재 전송 중인 트랜잭션을 포함하여 여러 시간에 거쳐서 평균화된, 이 장치를 통해 전송되기 위해 대기 중인 요청의 수
Recv Pkts/s
각 초마다 이 장치를 통해 수신되는 패킷
Recv Bytes/s
각 초마다 이 장치를 통해 수신되는 바이트
Recv Demux
demux 층에 소요된 시간의 총 시간에 대한 분수
네트워크 장치 드라이버 전송 통계(수신지 호스트별): 각 행은 장치 드라이버 레벨에 있는 특정 대상 호스트와 관련된 전송 트래픽의 양을 설명합니다.
Host
대상 호스트 이름. *(별표)는 호스트 이름을 판별할 수 없는 전송에 사용됩니다.
Pkts/s
각 초마다 이 호스트에 전송된 패킷.
Xmit Bytes/s
각 초마다 이 호스트에 전송된 바이트
요약 인터넷 소켓 보고서
온라인 모드: 각 인터넷 프로토콜에 대한 소켓 호출 통계(프로세스별): 각 행은 특정 프로세스와 연관된 이 프로토콜 유형의 소켓에 대한 read/write 서브루틴 활성량에 대해 설명합니다. 상세한 옵션이 지정되지 않는 한, 상위 20개의 프로세스만 나열됩니다. 보고서 아래 부분에, 이 프로토콜에 대한 모든 소켓 호출이 합계됩니다.
오프라인 모드: 각 프로세스에 대한 소켓 호출 통계: 각 행은 특정 프로세스와 연관된 소켓에 대한 read/write 서브루틴 활성량에 대해 설명합니다. 상세한 옵션이 지정되지 않는 한, 상위 20개의 프로세스만 나열됩니다. 보고서 아래 부분에는 모든 소켓 호출의 합계가 기록됩니다.
Process
프로세스 이름
PID
프로세스 ID 번호
Read Calls/s
각 초마다 이 유형의 소켓에서 이 프로세스에 의해 수행된 read, recv 및 recvfrom 서브루틴의 수
Read Bytes/s
각 초마다 위의 호출에 의해 요청된 바이트
Write Calls/s
각 초마다 이 유형의 소켓에서 이 프로세스에 의해 수행된 write,send 및 sendto 서브루틴의 수
Write Bytes/s
각 초마다 이 프로세스에 의해 이 프로토콜 유형의 소켓에 기록된 바이트.
요약 NFS 보고서
각 서버에 대한 NFS 클라이언트 통계(파일별): 각 행은 이 서버에서 원격으로 저장되어 있는 파일과 관련된 read/write 서브루틴 활성의 양을 설명합니다. 상세한 옵션이 지정되지 않는 한, 상위 20개의 파일만 나열됩니다. 보고서 아래 부분에, 이 서버에 있는 모든 파일에 대한 호출이 합계됩니다.
파일
단순히 파일 이름
Read Calls/s
이 파일에서의 초 당 read 서브루틴의 수
Read Bytes/s
각 초마다 위의 호출에 의해 요청된 바이트
Write Calls/s
이 파일에서의 초당 write 서브루틴의 수
Write Bytes/s
각 초마다 이 파일에 기록된 바이트
NFS 클라이언트 RPC 통계(서버별): 각 행은 이 클라이언트에 의해 수행된 특정 NFS 서버에 대한 NFS 원격 프로시저 호출 수를 설명합니다. 보고서 아래 부분에, 모든 서버에 대한 호출이 합계됩니다.
Server
서버의 호스트 이름. *(별표)는 호스트 이름을 판별할 수 없었던 RPC 호출에 사용됩니다.
Calls/s
각 초마다 이 서버에 수행되는 NFS RPC 호출 수.
NFS 클라이언트 통계(프로세스별): 각 행은 특정 프로세스와 관련된 NFS read/write 서브루틴 활성의 양을 설명합니다. 상세한 옵션이 지정되지 않는 한, 상위 20개의 프로세스만 나열됩니다. 보고서 아래 부분에, 모든 프로세스에 대한 호출이 합계됩니다.
Process
프로세스 이름
PID
프로세스 ID 번호
Read Calls/s
각 초마다 이 프로세스에 의해 수행된 NFS read 서브루틴의 수
Read Bytes/s
각 초마다 위의 호출에 의해 요청된 바이트
Write Calls/s
각 초마다 이 프로세스에 의해 수행된 NFS write 서브루틴의 수
Write Bytes/s
각 초마다 이 프로세스에 의해 NFS 마운트 파일에 기록된 바이트
NFS 서버 통계(클라이언트별): 각 행은 특정 클라이언트를 대신하여 이 서버에 의해 처리되는 NFS 활성의 양을 설명합니다. 보고서의 아래 부분에 모든 클라이언트에 대한 호출이 합계됩니다.
Client
클라이언트의 호스트 이름
Read Calls/s
이 클라이언트를 대신하여 각 초마다 처리된 원격 읽기 요청의 수
Read Bytes/s
각 초마다 이 클라이언트의 읽기 호출에 의해 요청된 바이트.
Write Calls/s
클라이언트를 대신하여 각 초마다 처리된 원격 기록 요청의 수
Write Bytes/s
각 초마다 이 클라이언트에 의해 기록된 바이트
Other Calls/s
각 초마다 이 클라이언트를 대신하여 처리된 기타 원격 요청의 수
상세 보고서
상세 보고서는 지정된 모든 보고서 유형에 대해 작성됩니다. 이러한 보고서 유형에 대해, 상세 보고서는 대부분 요약 보고서용으로 작성됩니다. 상세 보고서에는 항목과 관련된 각 트랜잭션 유형에 대한 통계와 함께 요약 보고서의 각 항목에 상응하는 항목이 포함되어 있습니다.
트랜잭션 통계는 그러한 유형의 트랜잭션 양의 숫자로 이루어지며, 그 다음에 반응 시간과 크기 분산 데이터가 이어집니다(적용 가능한 경우). 분산 데이터는 표준 편차 외에도 평균, 최소 및 최고값으로 이루어집니다. 대략 그 값의 3분의 2는 평균 - 표준 편차와 평균 + 표준 편차 사이에 있습니다. 크기는 바이트로 보고됩니다. 응답 시간은 밀리초로 보고됩니다.
상세한 레벨 2 인터럽트 처리자 CPU 사용 통계:
SLIH
레벨 2 인터럽트 처리자 이름
Count
이 유형의 인터럽트 수
CPU 시간(Msec)
이 유형의 인터럽트 처리에 대한 CPU 사용량 통계
상세한 네트워크 장치 드라이버 통계(장치별):
Device
장치와 관련된 특정 파일의 경로 이름
Recv Packets
이 장치를 통해 수신한 패킷의 수
Recv Sizes (Bytes)
수신된 패킷에 대한 크기 통계
Recv Times (msec)
수신된 패킷 처리에 대한 응답 시간 통계
Xmit Packets
이 호스트로 전송된 패킷의 수
Demux Times (msec)
demux 층에서 수신된 패킷 처리에 대한 시간 통계
Xmit Sizes (Bytes)
전송된 패킷용 크기 통계
Xmit Times (Msec)
전송된 패킷 처리에 대한 응답 시간 통계
상세한 네트워크 장치 드라이버 전송 통계(호스트별):
Host
대상 호스트 이름
Xmit Packets
이 장치를 통해 전송된 패킷의 수
Xmit Sizes (Bytes)
전송된 패킷용 크기 통계
Xmit Times (Msec)
전송된 패킷 처리에 대한 응답 시간 통계
각 인터넷 프로토콜에 대한 상세한 소켓 호출 통계(프로세스별): (온라인 모드)
각 프로세스에 대한 상세한 소켓 호출 통계: (오프라인 모드)
Process
프로세스 이름
PID
프로세스 ID 번호
Reads
이 유형의 소켓에서 이 프로세스에 의해 수행된 read,recv, recvfrom 및 recvmsg 서브루틴의 수
Read Sizes (Bytes)
read 호출에 대한 크기 통계
Read Times (Msec)
read 호출에 대한 응답 시간 통계
Writes
이 유형의 소켓에서 이 프로세스에 의해 수행된 write,send, sendto 및 sendmsg 서브루틴의 수
Write Sizes (Bytes)
write 호출에 대한 크기 통계
Write Times (Msec)
write 호출에 대한 응답 시간 통계
각 서버에 대한 상세한 NFS 클라이언트 통계(파일별):
파일
파일 경로 이름
Reads
이 파일에 대한 NFS read 서브루틴의 수
Read Sizes (Bytes)
read 호출에 대한 크기 통계
Read Times (Msec)
read 호출에 대한 응답 시간 통계
Writes
이 파일에 대한 NFS write 서브루틴의 수
Write Sizes (Bytes)
write 호출에 대한 크기 통계
Write Times (Msec)
write 호출에 대한 응답 시간 통계
상세한 NFS 클라이언트 RPC 통계(서버별):
Server
서버 호스트 이름
Calls
이 서버에 수행된 NFS 클라이언트 RPC 호출 수
Call Times (Msec)
RPC 호출에 대한 응답 시간 통계
상세한 NFS 클라이언트 통계(프로세스에 의함):
Process
프로세스 이름
PID
프로세스 ID 번호
Reads
이 프로세스에 의해 수행된 NFS read 서브루틴의 수
Read Sizes (Bytes)
read 호출에 대한 크기 통계
Read Times (Msec)
read 호출에 대한 응답 시간 통계
Writes
이 프로세스에 의해 수행된 NFS write 서브루틴의 수
Write Sizes (Bytes)
write 호출에 대한 크기 통계
Write Times (Msec)
write 호출에 대한 응답 시간 통계
상세한 NFS 서버 통계(클라이언트별):
Client
클라이언트 호스트 이름
Reads
이 클라이언트에서 수신한 NFS 읽기 요청의 수
Read Sizes (Bytes)
읽기 요청에 대한 크기 통계
Read Times (Msec)
읽기 요청에 대한 응답 시간 통계
Writes
이 클라이언트로부터 수신한 NFS 쓰기 요청의 수
Write Sizes (Bytes)
쓰기 요청에 대한 크기 통계
Write Times (Msec)
쓰기 요청에 대한 응답 시간 통계
Other Calls
이 클라이언트에서 수신한 기타 NFS 요청의 수
Other Times (Msec)
기타 요청에 대한 응답 시간 통계
예제
특정 응용프로그램을 실행하는 동안 네트워크 활성을 모니터하고 모든 보고서 유형을 생성하려면 다음과 같이 입력하십시오.
netpmon
trcstop
netpmon 명령은 시스템 추적을 자동으로 시작하고 그 자체는 백그라운드에서 수행합니다. 이 때 응용프로그램과 시스템 명령을 수행할 수 있습니다. trcstop 명령을 수행시킨 후, 표준 출력에 보고서가 표시됩니다.
CPU 및 NFS 보고서 유형을 생성하여 그 보고서를 nmon.out 파일에 기록하려면 다음과 같이 입력하십시오.
netpmon -o nmon.out -O cpu,nfs
trcstop
netpmon 명령은 즉시 시스템 추적을 시작합니다. trcstop 명령을 수행시킨 후, I/O 활성 보고서는 nmon.out 파일에 기록됩니다. CPU 및 NFS 보고서만 작성됩니다.
모든 보고서 유형을 생성하여 상세한 출력을 nmon.out 파일에 기록하려면 다음과 같이 입력하십시오.
netpmon -v -o nmon.out
trcstop
상세한 출력을 사용하여 netpmon 명령은 추적을 시작시키기 위해 행하고 있는 단계를 표시합니다. 요약 및 상세한 보고서는 20개의 가장 활성적인 파일과 프로세스 대신 모든 파일과 프로세스를 포함하고 있습니다.
오프라인 모드에서 netpmon 명령을 사용하려면 다음과 같이 입력하십시오.
trace -a
run application programs and commands here
trcoff
gennames > gen.out
trcstoptrcrpt -r /var/adm/ras/trcfile > tracefile.r
netpmon -i tracefile.r -n gen.out -o netpmon.out
관련 정보
trcstop 명령, trace 명령, gennames 명령
recv 서브루틴, recvfrom 서브루틴, send 서브루틴, sendto 서브루틴, trcoff 서브루틴