Window Services의 CPU 사용률을 어떻게 추적합니까?


27

Windows 작업 관리자를 사용하여 CPU 사용률을 추적하고 있습니다. 내 응용 프로그램은 나열되어 있지만 Windows 서비스는 표시되지 않습니다.

예를 들어 총 CPU 사용량은 70 %로 표시되지만 나열된 응용 프로그램의 요약은 약 30 %에 불과합니다. Windows 작업 관리자의 프로세스 탭에 나열되지 않은 서비스와의 차이점이 있다고 가정합니다.


답변:


25

Windows 7 및 8에서 외부 도구없이 서비스에 대한 세부 정보를 얻는 방법은 다음과 같습니다.

리소스 모니터를 엽니 다 :

  • 작업 관리자를 열고 성능 탭을 클릭하십시오
  • 하단의 "Open Resource Monitor"를 클릭하십시오

서비스 세부 사항 표시 :

  • "CPU"탭을 클릭하십시오
  • "프로세스"섹션에서 원하는 프로세스를 찾으십시오. "CPU"열 헤더를 클릭하여 CPU별로 정렬 할 수 있습니다.
    • 옆의 확인란을 선택하십시오
  • 아래의 "서비스"섹션을 확장하십시오. CPU를 사용하는 특정 서비스를 볼 수 있습니다

여기에 이미지 설명을 입력하십시오

svchost가 많은 리소스를 소비했기 때문에 이것을 파악해야했으며 이것이 upnphost가 범인이라는 것을 알 수있는 유일한 방법이었습니다.


또한 "프로세스"아래에서 확장 할 수있는 "서비스"섹션이 있습니다. 어느 쪽이든 감사합니다!
Nicholas Riley

내가 말하고있는 것은 "프로세스"에서 프로세스 (예 : 특정 svchost)를 선택하여 해당 프로세스와 관련하여 서비스를 볼 수 있다는 것을 알게되어 기쁘다. 방법.
dominik andreas

마지막으로 15 분의 유휴 상태에서 화면이 꺼질 때만 Windows 7에서 100 %의 CPU 1 개를 사용하는 신비한 서비스를 추적 할 수 있습니다. 깨우 자마자 서비스는 사용중인 CPU를 해제합니다. 방금 "svchost"라는 것을 알기에 충분했습니다. 이제 60 초 평균으로 볼 시간이 있습니다. 젠장 봇넷!
MrBrody

7

아마도 가장 좋은 도구는 Sysinternals의 Process Explorer입니다. 이 도구와 다른 많은 도구를 여기에서 얻을 수 있습니다 .

편집 : 별도의 프로세스가 아닌 svchost에서 실행중인 서비스를 확인하려면 오른쪽 창에 "명령 줄"열을 추가해야합니다. 불행히도 이것은 함께 번들로 실행되는 서비스를 보여주지 않습니다. 프로세스 탐색기에서 해당 정보를 보려면 해당 svchost의 특정 인스턴스 위에 마우스를 놓아야합니다. 정보가 팝업으로 나타납니다.


procmon이 taskman을 대체하도록 선택할 수도 있습니다. Procmon은 taskman의 디버거로 자신을 등록하고 taskman을 시작하려고 할 때 taskman 대신 스스로 실행 하여이 작업을 수행합니다.
Brian Reiter

으악. procmon이 아니라 procexp를 의미합니다. (프로 시먼은 프로세스에 대한 레지스트리, 파일 시스템 및 Windows API 액세스를 볼 수있게 해주는 sysinternals의 다른 도구입니다.)
Brian Reiter

파일> 모든 프로세스에 대한 세부 사항 표시를 사용하는 경우 svchost.exe의 해당 인스턴스에 대한 프로세스 특성에서 스레드 탭을 사용하여 (프로세스를 두 번 클릭하거나 Enter를 누르십시오) 스레드 별 CPU 사용량을 확인하십시오. 서비스 열에 해당 서비스가 나열됩니다.
니콜라스 라일리

ProcessExplorer에서 [서비스] 및 [TCP / IP] 탭은 특정 서비스 식별에 대한 유용한 정보를 제공했습니다. 아래에 게시하는 표준 작업 관리자에서 마우스 오른쪽 버튼을 클릭하여 별도의 답변으로 서비스를 식별하는 또 다른 방법이 있습니다.
Alex Fortuna

1

Extensoft 무료 확장 작업 관리자 사용해보기

http://www.extensoft.com/?p=downloads

서비스 탭으로 이동하여 실행중인 서비스를 마우스 오른쪽 단추로 클릭 한 후 프로세스로 이동을 클릭하십시오 .

프로세스 탭으로 돌아가서 해당 서비스에서 사용중인 프로세스를 강조 표시합니다.


extensoft 무료 확장 작업 관리자를 설치했습니다. 서비스 탭을 추가합니다. 서비스를 클릭하고 프로세스로 이동을 선택합니다. 프로세스 탭으로 전환되지만 프로세스를 강조 표시하지 않습니다. 또한 작업 관리자의 프로세스 목록과 유사한 목록에있는 모든 서비스의 CPU 사용을 보여주는 도구가 있습니까? 참고 : Windows Vista Home Premium Edition을 사용하고 있습니다.

왜 프로세스를 강조 표시하지 않는지 잘 모르겠습니다. 또한 내 옆에 Vista 컴퓨터가 있으며 서비스와 관련된 프로세스를 보여줍니다.
Qwerty 2016 년

1

많은 서비스가 일반 호스트 프로세스 인 svchost.exe의 인스턴스 내에서 실행됩니다. 명령 줄에서 tasklist / svc를 사용하여 다른 프로세스와 함께 svchost.exe의 각 인스턴스 내에서 실행되는 서비스를 열거 할 수 있습니다.

작업 관리자에서 svchost.exe 프로세스를 마우스 오른쪽 단추로 클릭하고 "서비스로 이동"을 선택하면 taskman이 서비스 탭으로 전환하고 관련 서비스를 강조 표시합니다.

함께 시스 인 터널 프로세스 탐색기 , 당신은 당신의 마우스로 servicehost.exe을 위로 마우스를 이동하고 내에서 호스팅 서비스의 툴팁을 볼 수 있습니다.

이 중 어느 것도 호스트 서비스 프로세스의 CPU 시간이 호스트 된 특정 멤버 서비스에 얼마나 많은지 알려주지 않습니다.


tasklist /svcPID와 관련 서비스를 간단한 형태로 보여줍니다. 고맙습니다!
Alex Fortuna

1

이것은 Windows 7 Ultimate의 표준 작업 관리자에서 나에게 도움이되었습니다.

  1. 작업 관리자를 엽니 다.
  2. [프로세스] 탭을 클릭하십시오.
  3. [모든 사용자의 프로세스 표시] 버튼을 클릭하십시오.
  4. 마우스 오른쪽 단추로 클릭svchost.exe 당신의 원인이되는 문제 (등 메모리, CPU 등)
  5. 풀다운 메뉴에서 [Go to Service (s)]를 선택하십시오.

그러면 하나 이상의 강조 표시된 관련 서비스 가있는 [서비스] 탭이 나타납니다 . 단일 svchost.exe서비스는 [서비스] 탭의 여러 서비스와 관련 될 수 있습니다.


0

작업 관리자를 관리자로 열어야합니다. "모든 사용자의 프로세스 표시"단추를 클릭하십시오.

그러나 Brian Reiter가 말했듯이 많은 서비스가 한 프로세스 내에서 호스팅됩니다. 어떤 서비스가 CPU를 소비하는지 확인하려면 내 서비스 공개 도구를 사용해보십시오 . 서비스를 전용 프로세스로 분할 할 수 있습니다. 어떤 서비스가 리소스를 사용하는지 확인할 수 있습니다. 조사 후 모든 서비스를 다시 반환 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.