2011-10-04 5 views
0

나는 dll을 적재하는 자바 애플릿을 가지고있다. dll은 타사 소프트웨어와의 인터페이스에 사용됩니다. dll은 타사 소프트웨어를 시작한 다음 해당 소프트웨어와 데이터를주고받는 데 사용됩니다. dll이로드되면 CPU 사용량이 급증하는 경우가 있습니다. 스파이크는 타사 소프트웨어가 아닌 java.exe와 관련이 있습니다. 그러나 스파이크는 dll이로드 된 후에 만 ​​발생합니다. 이것은 매우 간단한 질문에 대한 많은 설명입니다. 가능하다면 dll 자체가 CPU를 소비 할 수 있으며 시스템 콘솔에 많은 CPU를 사용하는 java.exe로 표시 될 수 있습니까?java로 DLL을로드하면 java.exe에서 CPU 사용량이 증가 할 수 있습니까?

즉, java.exe가 많은 CPU를 사용하는 것처럼 보이는 상태에서로드 된 dll로 인해 발생할 수 있습니까?

엘리엇 감사

+1

프로세스 탐색기를 사용하여 해당 Java 프로세스에서 열심히 작동하는 스레드의 스택 추적을 확인하십시오. dll이 추적에 나타나면 대부분의 경우 공격자가됩니다 (물론 결정적인 증거는 아니지만). – eran

답변

2

는 DLL이로드 될 때 예,이 과정 '에'로드됩니다. dll에서 사용하는 메모리 또는 CPU는로드 된 프로세스의 일부로보고됩니다. 수신 된 데이터를 처리 할 때 dll 함수가 CPU를 급증 시키면 dll을로드 한 응용 프로그램 아래에보고됩니다.

process explorer이있는 경우 프로세스 속성을 열 수 있습니다. 프로세스를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 속성 대화 상자의 스레드 탭으로 이동하십시오. 이것은 스레드 당 CPU 사용량을 보여줄 수 있으며 각 스레드는 이미지 (exe 또는 dll)와 해당 엔트리 포인트로 식별됩니다.

+1

... 그러나 스레드에 대해 나열된 exe/dll을 사용하여 dll이 초과 CPU 사용을 유발하는지 여부를 확실하게 알릴 수는 없습니다. 거짓 음수를 얻을 수 있습니다 - dll은 exe 용으로 나열된 스레드에서 사용을 유발할 수 있습니다. –

관련 문제