为什么我没有使用100%?

时间:2023-02-03 18:15:38

I'm executing a long running batch process in IBM WebSphere Application Server v8.5.5.1, which is getting data from a ECM repository, and afterwards converting it to PDF document. It runs about 20k of small documents, which compose the whole batch.

我正在IBM WebSphere Application Server v8.5.5.1中执行一个长时间运行的批处理过程,它从ECM存储库获取数据,然后将其转换为PDF文档。它运行大约20k个小文档,组成了整批文件。

Right now I'm getting about 20 docs/sec, but the System is only about 45-55% cpu usage, so something is preventing me to get it to work at full throttle

现在我大约有20个文档/秒,但是这个系统只有大约45-55%的cpu使用率,所以有什么东西妨碍我让它全速工作。

I'm running in Windows 2012 R2 Standard on an HP Proliant DL385p Gen8 (32GB RAM, 2 x AMD Opteron 6272 each with 16 2.1GHz cores )

我在Windows 2012 R2标准上运行HP proant DL385p Gen8 (32GB内存,2xamd Opteron 6272,每个版本162.1 ghz)

All resources are locally stored, so almost no network traffic should be bothering.

所有的资源都是本地存储的,所以几乎没有网络流量需要干扰。

I've also tried to write the PDF output documents to a RAMDISK, but there's no improvement at all.

我还尝试将PDF输出文档写入RAMDISK,但是没有任何改进。

Any ideas of where should I peek to let this process use the whole power of my server?

我应该向何处窥视,让这个过程使用我的服务器的全部功能?

Thanks!!

谢谢! !

PS: Please see attached reference image

PS:请见附件的参考图片。

为什么我没有使用100%?

CPU Usage graph

CPU使用情况图

1 个解决方案

#1


5  

I think the actual issue is that you're fully using one CPU but not the other.

我认为真正的问题是你完全使用一个CPU,而不是另一个CPU。

The good news is that you can probably easily multithread your application to use both processors; just set up a task queue and play around with the number of worker threads you have until you achieve 100% usage.

好消息是,您可能可以轻松地多线程应用程序使用这两个处理器;只需设置一个任务队列,并使用您拥有的工作线程数量,直到实现100%的使用。

#1


5  

I think the actual issue is that you're fully using one CPU but not the other.

我认为真正的问题是你完全使用一个CPU,而不是另一个CPU。

The good news is that you can probably easily multithread your application to use both processors; just set up a task queue and play around with the number of worker threads you have until you achieve 100% usage.

好消息是,您可能可以轻松地多线程应用程序使用这两个处理器;只需设置一个任务队列,并使用您拥有的工作线程数量,直到实现100%的使用。