
내 컴퓨팅 집약적 이미지 처리 응용 프로그램을 실행하면(Windows 8.1 HP 노트북에서) CPU가 예상대로 100% 이상 실행되지만 동시에 서비스 CPU 사용량은 50% 이상(매우 예상하지 못한 수준)까지 올라가고 서비스는 CPU를 많이 사용하고 있는 목록은 전혀 의미가 없습니다.
내 컴퓨팅 집약적인 이미지 처리 애플리케이션은 먼저 카메라에서 수천 프레임의 비디오 데이터를 가져온 다음 해당 데이터에 대한 이미지 처리를 수행합니다. 프레임을 가져오는 동안 일부 사전 계산(히스토그램, 최소/최대 등)은 프레임이 들어올 때 계산되지만 대부분의 처리는 이후에 수행됩니다. Grab에는 약 10초, 계산에는 13~20초가 소요됩니다. 저는 Visual Studio 2013과 함께 OMP를 사용하여 모든 계산을 노트북의 8개 CPU 모두에 배포합니다.
리소스 모니터에 표시되는 내용은 다음과 같습니다.
컴퓨팅 집약적인 기능을 CPU가 0에 가깝게 떨어지고 서비스 CPU도 0에 가깝게 떨어지는 것으로 교체했을 때 Sleep
서비스 CPU를 여전히 높게 만드는 것은 OMP, 스레드, 세마포어 등이 아닙니다. 예전처럼 일어난다.
내 질문은 다음과 같습니다
내 스레드가 무언가를 계산하고 있다는 이유만으로 서비스 CPU가 어떻게 높아지나요?
"DigitalPersona Aut..", "Win.. Defendeer..", "Win.. Phone..", "IP Helper" 등과 같은 서비스가 과도한 계산 작업에 참여하는 이유는 무엇입니까?
Needles 서비스 작업에 CPU가 50% 낭비되나요?
누구든지 이것에 대해 어떤 생각이나 지식을 가지고 있습니다.
답변1
다음과 같은 도구를 사용하여 이러한 서비스가 수행하는 작업을 검사해 볼 수 있습니다. 프로세스 탐색기, 하지만 이를 위해서는 Windows API에 대한 지식이 필요합니다.
일부 서비스를 비활성화하여 문제를 줄일 수도 있습니다.
로그인에 지문 스캐너를 사용하지 않는 경우 DigitalPersona 서비스가 비활성화될 수 있습니다. HP SimplePass가 설치되어 있으면 제거할 수 있습니다.
IpOverUsbSvc 서비스는 일반적으로 Windows SDK에 의해 설치됩니다. 컴퓨터를 사용하여 전화를 걸지 않는 경우 비활성화될 수 있습니다.
그러나 Defender는 진행 중인 모든 작업을 추적하므로 컴퓨터가 매우 활동적일 때 더 활동적이라는 것을 이해할 수 있습니다. 아마도 이 프로그램이 있는 폴더에 대해 예외를 생성할 수 있으며, 이렇게 하면 프로그램이 어느 정도 진정될 수 있습니다.