다음을 통해 공유


[회보 보관 ^] [< 볼륨 5, 번호 2] [볼륨 6, 번호 2 >]

시스템 내부 뉴스레터 6권, 1호

http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich


특별 발표 문제

최근 뉴스레터가 없기 때문에 목록이 깨졌다거나 내가 그만 뒀다고 생각하셨겠지만, 그 이유는 David Solomon과 내가 "Inside Windows 2000"의 다음 버전에서 열심히 작업했기 때문입니다. 제목은 "Windows Internals"이며 Windows 2000, Windows XP 및 Server 2003을 포함합니다. 우리는 좋은 진전을 이루었고 10월 출판을 위해 8월에 원고를 완성할 것으로 기대합니다. OS에 대한 변경 내용을 반영하는 것 외에도 보안, 크래시 덤프 분석, 시작 등 많은 영역에서 적용 범위를 확장했습니다. 저희 작업이 끝나면 정기적인 뉴스레터가 다시 시작될 것입니다. 이와 관련해 저는 유용하다고 생각되는 Process Explorer 팁을 포함했습니다.

프로세스 탐색기를 사용하여 CPU 사용량 추적

Sysinternals를 자주 사용하는 경우 지난 6개월 동안 Process Explorer가 크게 개선된 것을 보았을 것입니다. 몇몇은 작업 관리자보다 훨씬 쉽게 시스템의 CPU 사용량을 이해합니다. 예를 들어 작업 관리자에서 CPU를 사용하지 않는 프로세스도 CPU 열("00")에 텍스트가 있어 CPU를 사용하는 프로세스와 구별하기 어렵습니다. 작업 관리자는 또한 CPU 사용량을 숨기거나 잘못 표시할 수 있는 가장 가까운 정수로 CPU 사용량을 반올림합니다. 프로세스가 때때로 활성화되지만 CPU의 1% 미만을 사용하는 경우 여전히 "00"으로 표시될 수 있습니다. 마지막으로 작업 관리자는 인터럽트 처리에 사용되는 모든 CPU 시간을 "시스템 유휴 프로세스"에 귀속시켜 시스템을 느리게 만드는 버그가 있는 드라이버나 하드웨어를 식별할 수 없도록 합니다.

프로세스 탐색기를 사용하면 CPU 사용량이 0이 아닌 프로세스에 대한 숫자만 표시하고 분수 CPU를 보는 옵션이 CPU 사용량을 보다 정확하게 표시하기 때문에 어떤 프로세스가 CPU를 사용하고 있는지 한 눈에 쉽게 확인할 수 있습니다. 또한 인터럽트(하드웨어 인터럽트) 및 지연 프로시저 호출(DPC - 소프트웨어 인터럽트) 활동을 의사 프로세스로 표시합니다.

그러나 일부 CPU를 사용하더라도 거의 항상 CPU를 소비하지만 그렇게 표시되지 않는 프로세스가 있습니다. 그 이유는 Windows가 시간 계산을 수행하는 방식 때문입니다. 주기적으로(대부분의 시스템에서 10ms마다) 클록 인터럽트가 발생합니다. 이에 대한 응답으로 Windows 클록 인터럽트 루틴이 실행되고 현재 실행 중인 스레드가 마지막 클록 인터럽트 이후 CPU를 사용한 스레드라고 가정합니다. 10ms는 오늘날의 멀티기가헤르츠 CPU에서 긴 시간이며 많은 스레드가 클록 인터럽트 사이에 실행될 수 있지만 클록 인터럽트 루틴에서는 절대 볼 수 없습니다.

따라서 프로세스 실행을 결정하는 또 다른 방법은 프로세스의 스레드에서 발생한 컨텍스트 스위치의 수를 조사하는 것입니다. 스레드가 실행(예약)되도록 선택되면 해당 컨텍스트 전환 횟수가 증가합니다. 컨텍스트 전환 열을 추가하여(보기->열 선택 클릭) 각 프로세스에서 발생한 총 컨텍스트 전환 수를 확인할 수 있습니다. 그러나 더 흥미로운 숫자는 컨텍스트 전환 델타 열입니다. 프로세스 탐색기의 새로 고침 간격(기본값은 1초) 사이에 각 프로세스에서 발생한 컨텍스트 스위치의 수를 표시합니다.

따라서 시스템에서 매우 다른 프로세스 활동 보기를 보려면 컨텍스트 전환 델타 열을 추가하고 이를 기준으로 정렬하세요. 스레드가 10ms 클럭 간격 사이에서 실행되기 때문에 CPU 시간을 소비하지 않는 것으로 표시되는 실행 중인 스레드가 있는 많은 프로세스를 볼 수 있습니다. 이러한 프로세스 중 일부는 불필요한 폴링(예: 레지스트리 쿼리 또는 폴더의 변경 내용 확인)을 수행하고 있습니다. 그것은 단지 평범한 조잡한 프로그래밍입니다. 다른 사람들은 유용한 작업을 수행할 수 있지만 시스템의 시간 계산 메커니즘의 "레이더 아래"에서 실행되고 있습니다. 가치 있는 것과 그렇지 않는 것을 구분하는 것은 여러분의 몫입니다.

http://www.sysinternals.com/ntw2k/freeware/procexp.shtml.에서 프로세스 탐색기 다운로드

Teched에서 LINUX/WINDOWS 커널 비교, 프로세스 탐색기 및 부팅 문제 해결에 대한 MARK 연설

제 세션 중 하나인 "Windows와 Linux: 두 개의 커널 이야기"에서 현재 Linux 커널과 Windows 커널을 비교하는 Microsoft TechEd 미국 및 유럽에서 제가 연설하는 것을 보러 오세요. TechEd US에서 저는 "Sysinternals 프로세스 탐색기를 사용한 고급 Windows 문제 해결"도 발표할 예정입니다. 여기에서 프로세스 탐색기를 최대한 활용할 수 있는 팁을 알려드리겠습니다. TechEd Europe에서 저의 "Sysinternal 도구를 사용한 효과적인 Windows 문제 해결"에서는 Process Explorer, Regmon 및 Filemon을 사용하여 실제 문제를 해결하는 방법을 보여주고 "Windows 부팅 및 시작 문제 해결"에서는 부팅할 수 없는 시스템을 다시 실행하기 위한 메커니즘과 기술을 알려줍니다. .

http://www.sysinternals.com/ntw2k/info/talk.shtml에서 자세히 알아보세요.

MARK와 DAVID SOLOMON이 WINDOWS OS 내부 및 문제 해결을 가르칩니다.

저와 David Solomon이 Windows 2000/XP/2003 내부 강의를 발표합니다. 런던: 2004년 6월 23-25일
캘리포니아주 산호세: 2004년 9월 27일~10월 1일 ***5일 실습!
텍사스주 오스틴: 2004년 12월 14-16일

이는 저희가 전 세계 Microsoft 직원에게 가르치는 것과 동일한 수업입니다. 프로세스 및 스레드, 스레드 예약, 메모리 관리, 보안, 레지스트리 및 I/O 시스템의 내부를 다룹니다. 시스템 스레드, 시스템 호출 디스패치, 인터럽트 처리, 시작 및 종료와 같은 메커니즘을 자세히 설명합니다. Sysinternals 도구를 사용하는 고급 문제 해결 기술과 크래시 덤프 분석을 수행하는 방법을 알아보세요. OS의 내부 작동 방식을 이해하면 플랫폼을 보다 효과적이고 효과적으로 디버깅하고 문제를 해결할 수 있습니다.

참고: 런던 및 오스틴 수업은 강의 전용입니다. 산호세 수업은 현장 수업입니다(개인 노트북 지참-구성 세부 정보 제공).

자세한 내용 및 등록은 http://www.sysinternals.com/troubleshoot.shtml을(를) 방문하세요.


Sysinternals 뉴스레터를 읽어주셔서 감사합니다.

발행일: 2004년 4월 27일 화요일 오후 4:40 by ottoh

[회보 보관 ^] [< 볼륨 5, 번호 2] [볼륨 6, 번호 2 >]