과도한 Windows 커널 모드 CPU 사용량을 어떻게 분석합니까?


8

내 Windows XP 컴퓨터는 최근 몇 분 동안 사용 후 이상한 부팅이 발생할 때마다 반 정지 되기 시작했습니다 (다른 프로그램 / 추가 prg가 전혀 시작되지 않음).


업데이트 : 이제 프로세스 탐색기를 사용하여 좀 더 자세히 알아 냈습니다. 이것은 2 코어 CPU이며 100 % 커널 사용량은 하나의 코어에만 있습니다. 프로세스 목록에는 DPC-지연된 프로 시저 호출 이 50 %로 표시됩니다 (한 코어에서 100 % 임). 따라서 문제는 지금입니다. ** DPC 란 무엇이며 어떻게 수정합니까?


다음 갱신 : OKIES ... 사용하여 이 작업을 하고 내 윈도우 XP에서 실행 xperf 얻을 수 있었다, 샘플은 내 Win7에 노트북에 잘 표시했다 덤프합니다. 예, Windows XP에서 가져온 덤프를 보려면 Win7 / Vista 컴퓨터가 필요합니다. 그러나 , 지금은 다음과 같은 문제에 직면하고, 나는 추적 xperf 사용할 수 있습니다 , xperf -on Latency그리고 xperf 추적이 켜져있을 때 문제는 이제 재발생하지만 곧 내 DPC 100 %에 간다, 윈도우는 새로운 프로세스를 시작하지 않는 (또는 시작은 결코 끝나지 않습니다) (예를 들어 열려있는 cmd 창은 반응이 잘 유지 되지만 전화를 시도하는 모든 exe는 중단됩니다 (dircmd 명령 때문에 제대로 작동합니다)- CreateProcess커널의 일부와 함께 정지 한다고 가정 할 수 있습니다 . 이제 새로운 프로세스를 시작할 수 없다는xperf -d dumpfile.etl 것은 cmd 창에 프로세스를 입력하면 중단 되기 때문에 실행할 수 없다는 것을 의미합니다 .

그래서 운이 좋지 않은 것 같습니다. 수동으로 드라이버를 비활성화하는 것보다 전체 리그를 버리고 싶습니다 ... :-)

다른 아이디어에 감사드립니다!


즉, Windows는 이론적으로 반응을 유지하는 반면 (예 : 마우스 커서가 정상적으로 이동하여 클릭 할 수 있으며 클릭이 인식 될 수 있음) 사용자가 수행 한 작업은 몇 분 후에 만 ​​문자 적으로 응답되었습니다.

예 : 키보드에서 Num-Lock 키를 누르면 일반적으로 키보드의 Num-Lock LED가 전환됩니다. 이것은 반 냉동 식 기계의 경우에도 해당되지만 1-2 분 후에 만 ​​가능합니다.

한 번은 Process Explorer 를 시작 하고 몇 분 후 시스템 정보 그래프에 빨간색 선 (커널 모드)에서 100 % CPU 사용량이 표시되었고 녹색 선은 0으로 유지되었습니다. 이 상태에서는 그래프가 여전히 화면에서 업데이트되었지만 더 이상 기계를 작동 할 수 없습니다. 클릭 할 때마다 몇 분 정도 기다릴 수 없다면 말입니다.

따라서이 문제를 볼 수 있기 전에 몇 주 동안이 컴퓨터에 새로운 것을 설치하지 않았으므로 문제가 무엇인지 궁금합니다. (재부팅은 때때로 컴퓨터를 더 오래 사용할 수있게되기 전에 두 번째 또는 세 번째 재부팅이 필요한 경우가 있습니다.)

자, 어떻게 찾을 수 있습니다 무엇을 실제로 과도한 커널 모드 사용을 일으키는?


참고 : sysinternals 포럼 에도 게시했습니다 .


한 가지 방법은 제거 과정을 사용하는 것입니다. XP에서 MSCONFIG 프로그램을 실행하고 STARTUP 탭으로 이동하여 모두 비활성화 한 다음 다시 부팅하여 문제가 해결되는지 확인하십시오. 그렇지 않은 경우 AUTORUNS 또는 HijackThis와 같은 프로그램을 시도하고 제거에 대해 더 공격적으로하십시오. 작업이 다시 완료되면 한 번에 하나씩 다시 활성화하십시오. 시작시 실행이 다른 10 % nesssiary 아니라고 쓰레기의 90 % :-) junkware입니다
Psycogeek

@Psycogeek-감사합니다. 나는 이것을 가지고 있지 않은 날이 걸릴 것이기 때문에 오히려 이것을하지 않을 것입니다 :-)
Martin

ahh 시작 정크를 비활성화하려면 몇 분이 걸립니다. 장치 드라이버를 비활성화하는 데는 며칠이 걸립니다. 응답하지 않는 일부 장치 일 수 있습니다. 외부에 붙어있는 물건이 있습니까? 일시적으로 제거 할 수 있습니까? 드라이브의 SMART 테스트와 같이 디스크 검사를 실행 했습니까? 그로부터 단서가 있는지 확인하기 위해?
Psycogeek

자 이제 (dpc) 여기에 물건을 확인해야합니다 : superuser.com/q/202254/50211 그리고 이것의 맨 아래에 도달 할 수 있는지 확인하십시오.
마틴

결과는 어떻습니까?
stej

답변:


2

LatencyMon ( http://www.resplendence.com/latencymon ) 과 같은 도구를 사용하여 정지를 일으키는 DPC 루틴을 찾을 수 있습니다 . 총 시간이 가장 긴 DPC 루틴을 찾으십시오.


LatencyMon은 Windows XP에서 작동하지 않습니다. 그리고 질문은 Windows XP 시스템의 성능 문제에 관한 것입니다.
Edward

나는 그것을 알지 못했습니다-감사합니다. 내 제안은 여전히 ​​동일합니다. 대신 다른 프로그램을 사용하십시오. 한 가지 예 : DPC 지연 시간 검사기 ( thesycon.de/deu/latency_check.shtml ).
Zero3

실제로 LatencyMon의 기능은 Latency Checker보다 최종 사용자가 사용하기에 훨씬 우수합니다. LatencyMon 분석 시스템은 드라이버가 가장 많은 리소스를 소비하는 수준에 대한 매우 자세한 정보를 제공하며 시스템 성능에 최악의 영향을 미칩니다. 다른 측면에서, Latency Checker는 가장 기본적인 정보 만 제공하는 그래프를 표시합니다. DPC 대기 시간이 아닌 시스템입니다. 추가 작품은 모두 당신 자신의 것입니다. LatencyMon과 같은 방식으로 작동하는 XP 용 동일하거나 유사한 도구를 찾는 데 어려움을 겪고 있습니다.
Edward
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.