Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将DLL加载到java中会导致java.exe中CPU使用率增加吗?_Java_Dll_Cpu - Fatal编程技术网

将DLL加载到java中会导致java.exe中CPU使用率增加吗?

将DLL加载到java中会导致java.exe中CPU使用率增加吗?,java,dll,cpu,Java,Dll,Cpu,我有一个加载dll的java小程序。dll用于与第三方软件接口。dll启动第三方软件,然后用于向该软件发送数据和从该软件接收数据。加载dll后,我们偶尔会看到CPU使用率出现峰值。spike与java.exe关联,而不是与第三方软件关联。但是,峰值仅在加载dll后发生。这是一个非常简单的问题的大量解释。是否有可能,dll本身会消耗CPU,而这会在系统控制台上显示为java.exe消耗大量CPU 换句话说,假设java.exe似乎正在消耗大量CPU,这可能是由加载的dll引起的吗 谢谢, Elli

我有一个加载dll的java小程序。dll用于与第三方软件接口。dll启动第三方软件,然后用于向该软件发送数据和从该软件接收数据。加载dll后,我们偶尔会看到CPU使用率出现峰值。spike与java.exe关联,而不是与第三方软件关联。但是,峰值仅在加载dll后发生。这是一个非常简单的问题的大量解释。是否有可能,dll本身会消耗CPU,而这会在系统控制台上显示为java.exe消耗大量CPU

换句话说,假设java.exe似乎正在消耗大量CPU,这可能是由加载的dll引起的吗

谢谢,


Elliott

是的,当加载dll时,它会加载到进程中。dll使用的任何内存或CPU都将作为加载它的进程的一部分进行报告。如果一个dll函数在处理接收到的数据时使CPU峰值,它将在加载dll的应用程序下报告


如果有,可以打开进程的属性。右键单击进程并选择“属性”,然后转到“属性”对话框的“线程”选项卡。这可以显示每个线程的CPU使用情况,每个线程由映像(exe或dll)及其入口点标识。

尝试使用Process Explorer等工具查看该java进程中努力工作的线程的堆栈跟踪。如果dll出现在跟踪中,则很可能是罪犯(当然,这不是确凿的证据)。。。。但是,您不能使用为线程列出的exe/dll来可靠地判断dll是否导致您的CPU过度使用。您可能会得到误报-dll可能会导致在为exe列出的线程上使用。