내 프로그램이 Nvidia nview에서 100% CPU를 소비하는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/826870

  •  05-07-2019
  •  | 
  •  

문제

나는 최근에 프로덕션 환경에서 많은 항목 목록을 스크롤 할 때 때때로 응답하지 않는 Windows 프로그램을 작업하고있었습니다. 물론 그것은 내 데스크탑에서 잘 작동합니다. 생산 환경은 다음과 같습니다.

  • 2 개의 모니터가있는 Windows XP 기반 워크 스테이션
  • NVIDIA 비디오 드라이버 NVIEW가 활성화되었습니다

주목할만한 것은 프로세스가 종료 될 때 생성 된 Dr Watson 스택 추적입니다.

State Dump for Thread Id 0xef4

eax=00e3fff8 ebx=000000a0 ecx=00e00000 edx=00000000 esi=0003fff8 edi=00e40000
eip=00b920c2 esp=0012bcac ebp=00000000 iopl=0         nv up ei ng nz na pe cy
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000283

\system32\nview.dll - 
function: nview!NVLoadDatabase
        00b920a8 c80b0600         enter   0x60b,0x0
        00b920ac 83c30f           add     ebx,0xf
        00b920af 33f6             xor     esi,esi
        00b920b1 03f9             add     edi,ecx
        00b920b3 83e3f8           and     ebx,0xfffffff8
        00b920b6 3bcf             cmp     ecx,edi
        00b920b8 89742414         mov     [esp+0x14],esi
        00b920bc 734c             jnb     nview!NVLoadDatabase+0xcaf (00b9210a)
        00b920be 8bc1             mov     eax,ecx
        00b920c0 8b10             mov     edx,[eax]
        00b920c2 8b4004           mov     eax,[eax+0x4]     ds:0023:00e3fffc=00000000
        00b920c5 89442414         mov     [esp+0x14],eax
        00b920c9 8bc2             mov     eax,edx
        00b920cb 2500000001       and     eax,0x1000000
        00b920d0 33ed             xor     ebp,ebp
        00b920d2 0bc5             or      eax,ebp
        00b920d4 7414             jz      nview!NVLoadDatabase+0xc8f (00b920ea)
        00b920d6 8bc2             mov     eax,edx
        00b920d8 c1e008           shl     eax,0x8
        00b920db 8be8             mov     ebp,eax
        00b920dd c1f81f           sar     eax,0x1f

ChildEBP RetAddr  Args to Child              
00000000 00000000 00000000 00000000 00000000 nview!NVLoadDatabase+0xc67

이 문제가 생산에서만 발생한 이유는 무엇입니까?

도움이 되었습니까?

해결책

NVIEW는 NVIDIA가 제공하는 타사 DLL이기 때문에 흥미 롭습니다. 인터넷에 대한 게시물 nview!NVLoadDatabase NVIEW에 패치되지 않은 결함이 있음을 제안하십시오. 이 보고서에서 확인한 바와 같이 Explorer가 100% CPU를 사용한다는 사실에 의해 뒷받침됩니다. 보다: http://forums.nvidia.com/lofiversion/index.php?t36879.html

이 문제에 대한 자세한 조사는이 사이트에서 제공됩니다.http://blogs.technet.com/marcelofartura/archive/2007/02/28/real-case-random-apps-running-100-cpu.aspx

이 기사에 따르면, 교수형은 nview.dll의 무한 루프 때문입니다. 온라인으로 설명 된 어셈블리 지침과 레지스터 값은 우리 로그의 로그에있는 것과 정확히 일치하지 않지만, 그것이 같은 문제라고 결론을 내릴만큼 가깝습니다.

문제를 해결하려면 NView Desktop Manager를 비활성화하려면 (데스크탑을 마우스 오른쪽 버튼으로 클릭하고 NView Properties를 선택하고 NView Desktop Manager GroupBox에서 비활성화)를 클릭하십시오. 이 작업을 수행하기 전에 나는 일관되게 행을 재현 할 수있었습니다. 그러나 nview를 비활성화 한 후에는 간을 재현 할 수 없었습니다. 따라서 이것은 실행 가능한 해결 방법으로 보입니다.

어쨌든, 나는 그것이 누구에게나 유용 할 경우에 이것을 여기에 게시했습니다. 그것은 이것을 쫓는 많은 슬픔을 일으켰습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top