일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- paged pool
- Nested VM
- windows debugging tool
- MSCS on VMWare
- dsquery
- SQL Server 2012R2 FCI
- SQL Server 2008
- Session space
- windows media service
- ftp7.5 장애조치 클러스터
- windows update
- nonpaged pool
- FTP7.5
- LiveKD
- Windows Server 2008
- Hyper-V
- 클러스터
- 프로세스 CPU 사용량
- iSCSI target
- Local TempDB
- 인문고전
- Windows Server 2016 Hyper-v Cluster
- windbg
- failover cluster
- 터키여행
- Windows Server 2016
- Xperf
- cluster node as Domain controller
- 안철수
- 작업관리자
- Today
- Total
류짱:Beyond MySelf
xperf 와 process explorer를 이용한 특정 프로세스가 많은 CPU를 사용하는 원인 분석 본문
xperf 와 process explorer를 이용한 특정 프로세스가 많은 CPU를 사용하는 원인 분석
リュちゃん 2011. 11. 6. 16:51몇일 전 고객으로부터 Windows Server 2008R 환경의 서버에서 WmiPrvse.exe 프로세스가 일정 주기로 많은 CPU를 점유하는 현상에 대한 원인 분석을 해 달라는 요청을 받았습니다.
xperf 와 process explorer를 이용해서 원인을 찾았는데 그 내용을 정리 해 봅니다.
[현 상]
Windows server 2008R2 환경의 서버에서 WmiPrvse.exe 가 2~3초 주기로 많은 CPU를 사용함
[서버 점검 및 조치 방법]
문의 접수 후 해당 서버에 접속해서 확인을 해 보니 아래와 같이 CPU 주기적으로 튀고 있었고 그 범인이 WmiPrvse.exe 였음을 확인 하였습니다.
거의 2~3초 단위로 WmiPrvSE.exe의 CPU 사용률이 높아짐을 확인 하고 원인 분석을 위해 xperf를 용해서 데이터를 수집을 진행하였습니다.
이전에 포스팅한 아래 내용을 바탕으로
Xperf –on BASE+CSWITCH+INTERRUPT 명령어를 실행 한 후 약 1분간 데이터를 수집 하고 xperf -d dump.etl 명령어를 실행하여 자료 수집을 종료 하였습니다.
Xperf를 이용한 CPU 사용률 확인 방법 - #1
http://ryuchan.kr/106
Windows server 2003에서 xperf를 이용한 데이터 수집 및 분석 방법 - #2
http://ryuchan.kr/105
수집 된 자료를 xperfview.exe 를 이용해서 확인 해 보니 아래와 같이 CPU 사용률이 높아 지는 시접에는 항상 cmd를 이용해서 wmic 쿼리가 실행 되는 것을 확인 하였습니다.
이제 어떤 녀석이 cmd를 이용해서 wmic 쿼리를 실행하는지 확인 해 보기로 했습니다.
프로세스가 생성 된 시점이나 부모 자식 관계의 프로세스 그리고 그 프로세스가 실행 되는 위치등을 확인 하기 가장 좋은 툴이 process explorer 이기 때문에 해당 툴을 이용해서 wmic 나 cmd가 실행 되는 시점에 process explorer를 사용을 멈추고 해당 process의 부모 프로세스를 확인 해 보았습니다.
보안 관계상 이 부분은 그림을 설명 드릴 수 없는 점 양해 부탁 드립니다^^
cmd.exe를 실행하고 wmic 명령어를 지시한 프로세는 해당 서버에 설치 된 IMAxxx.exe라는 프로세스 였습니다. 해당 프로세스는 웹 로직에서 사용하는 프로세스로 IMAxxx.exe 프로세스가 실행 되는 폴더 위치에 가보니 여러 스크립트가 있어서 확인을 하였습니다.
스크립트 중 하나에서 cmd를 이용한 wmic 쿼리가 3초에 한 번씩 수행하도록 되어 있음을 확인하고 원인 분석을 종료 하였습니다.^^
감사합니다.
[참고 자료]
Windows server 2003에서 xperf를 이용한 데이터 수집 및 분석 방법 - #1
http://ryuchan.kr/104
Windows server 2003에서 xperf를 이용한 데이터 수집 및 분석 방법 - #2
http://ryuchan.kr/105
Xperf를 이용한 CPU 사용률 확인 방법 - #1
http://ryuchan.kr/106
Process Explorer v15.05
http://technet.microsoft.com/en-us/sysinternals/bb896653