다음을 통해 공유


DA0026: 과도한 커널 CPU 처리 시간

규칙 ID

TODO

범주

프로파일링 도구 사용

프로파일링 방법

샘플링

메시지

커널 모드 CPU 시간이 상대적으로 긴 것으로 측정되었습니다. SysCall 샘플링을 사용하면서 원인을 조사해 보십시오.

규칙 유형

정보

샘플링, .NET 메모리 또는 리소스 경합 방법을 사용하여 프로파일링하는 경우에는 적어도 10개의 샘플을 수집하여 이 규칙을 트리거해야 합니다.

원인

커널 모드에서 실행된 CPU 시간의 비율이 사용자 모드에서 소요된 시간을 초과했습니다. 프로파일링을 다시 실행하고 시스템 호출(syscall) 수를 샘플링하여 커널 모드의 실행 시간이 높은 원인을 확인하는 것이 좋습니다.

규칙 설명

응용 프로그램에서 커널 모드 실행에 소요한 시간의 비율이 상대적으로 높으면 세부적인 조사가 필요할 수 있습니다. I/O 작업을 수행하거나, 스레드 또는 프로세스 동기화 기본 형식을 기다리거나, 시스템 호출을 수행할 때 사용자 모드 응용 프로그램이 커널 모드로 전환됩니다. 시스템 호출을 기반으로 샘플 호출 스택을 수집하는 옵션을 선택한 경우 응용 프로그램에서 수행하는 시스템 호출의 종류와 시스템 호출을 맡는 함수를 조사할 수 있습니다.

위반 문제를 해결하는 방법

응용 프로그램에서 수행하는 시스템 호출의 종류를 조사하려면 프로파일링을 다시 실행하고 시스템 호출을 기반으로 샘플을 수집하는 옵션을 선택합니다. IDE 내에서 프로파일링 도구를 실행하는 경우 자세한 내용은 방법: 샘플링 이벤트 선택을 참조하십시오. 명령줄에서 프로파일링 도구를 실행하는 경우에는 프로파일링 도구 명령줄 도구 참조의 VSPerfCmd 항목에 있는 Sampling Interval Options 단원을 참조하십시오.