회사에서 노트북을 받았다. 이상하다. 화면보호기(또는 Lock screen) 만 켜지면 노트북 Fan 이 미친듯이 돌아간다.
답답하다. 뭐가 돌고 있는지 가늠할 수가 없다. 리눅스라면 perf 라는 툴로 어찌저찌 해보겠건만, 윈도는 도통 알 수가 없다.
구글을 뒤지기 시작했다. 윈도7 에서 지원해주는 powershell 에서 performance monitor 를 지원해주는 명령이 있다.
용어 설명
cmdlet : (command-let 으로 읽는다) 단일 기능을 수행하는 윈도 Powershell 스크립트를 말한다.
Powershell ISE : Integrated Scripting Environment
Powershell 은 cmdlet 이라는 작은 단위의 스크립트 명령어를 지원한다. Powershell 의 cmdlet 목록을 확인하려면 쉘에서 Get-Command 명령을 수행하면 되고, 각각의 cmdlet 사용법에 대해서는 get-help <cmdlet> 을 실행하면 된다.
좀더 상세한 설명은 -detailed 옵션을 추가한다. (get-help <cmdlet> -detailed)
(참고 : http://www.hanbit.co.kr/network/view.html?bi_id=1899)
여기서는 Powershell ISE 환경에서 진행한다. Powersell ISE 를 실행시킨다. 윈도 '시작'->입력창에 powershell 이라고 치면 powersehll ISE 항목을 확인할 수 있다.
Powershell ISE 를 실행시키면 아래와 같은 창이 실행된다.
에디터 창에 아래 명령을 넣는다.
Get-Counter 라는 cmdlet 은 여러가지 counter 를 수집할 수 있는데, 아래와 같이 명령을 입력한다.(자세한 설명은 get-help GetCounter -detailed)
$a = (Get-Counter -ListSet "Processor Information").paths
$a += (Get-Counter -listSet "memory").paths
$a += (Get-Counter -listSet "LogicalDisk").paths
$a += (Get-Counter -listSet "PhysicalDisk").paths
Get-Counter -Counter $a
윈도 Powershell 을 통해서 performance log 를 생성하기 위해서는 pipeline 과 데이터를 직접 파일로 기록하도록 하는 stream 을 사용하는 것이 최선이다. 이 경우 위 스크립트 내용중 마지막줄을 다음과 같이 바꾼다.
Get-Counter -Counter $a -Continuous | Export-Counter -Path d:\myperflog.blg
음 데이터가 너무 많은 것 같아서 "LogicalDisk" 와 "PhysicalDisk" 항목은 빼버렸다.
입력이 끝났다면 녹색 실행버튼을 누른다. 원하는 상황에 대해서 충분히 Profile 데이터를 수집했다고 판단되면, 정지 버튼을 누른다.
수집된 Profile 데이터는 d:\myperflog.blg 로 저장되었다. 해당 데이터는 성능 모니터링 도구(perfmon.exe)로 확인할 수 있다. 저장된 파일을 더블 클릭하거나, perfmon.exe 를 직접 실행시켜서 로그파일을 읽어들여서 확인한다.
내 PC에서 수행한 결과는 아래와 같다. 데이터가 여전히 많아서 memory 부분에 해당하는 데이터는 제외했다.
위 내용에서 볼 수 있듯이 Profile 동안의 Performance counter 에 대한 다양한 내용을 볼 수 있다.
하지만, 여전히 어떤 프로세스 때문인지는 확인하기 어렵다. 다시 다른 툴을 찾아봐야겠다.
'IT 기술 > 컴퓨터관리 팁' 카테고리의 다른 글
[Vim] vi 가 너무 느리게 열리는 경우.. (vim.gnome 과 vim.basic) (0) | 2014.08.05 |
---|---|
[윈도7] Process Explorer / Process Monitor 사용 (0) | 2014.08.05 |
[Mercurial] error: _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (0) | 2014.06.26 |
[repo] repo init gpg public key error 발생시 해결방법 (0) | 2014.02.06 |
[firefox] about page 에 대한 설명 (0) | 2013.10.02 |