运行环境:
windows2003 64bit, 2g 4核 intel至强cpu, 4G内存
jdk1.5, Jboss 4.2.2
MySql 5
使用了struts, spring, hibernate
任务说明:
使用jdk1.5 的concurrent包创建线程池调度程序, 调度400多个Runnalbe对象, 每10分钟执行一遍400个任务,每个任务在多线程运行的情况下大概需要1分钟才能完成。如果只执行一个任务,用不了1秒钟。
代码片段:
//==============================================================
//myTaskThread -- 任务类
public class myTaskThread implements Runnable{
public void run() {
// 执行任务
。。。
}
}
//====================================================
public class TargetExecutor {
//线程池大小设置
private int poolSize = 10;
private Executor executor; //声明一个执行器
private final Logger log = Logger.getLogger(TargetExecutor.class);
public void init(){
//初始设置线程池大小
executor = Executors.newFixedThreadPool(poolSize); }
//executeTasks()每10分钟执行一次
public void executeTasks() {
//系统启动时把400多个myTaskThread对象存入这个set中
Set taskSet = getTargetThreadSet();
Iterator it = targetSet.iterator();
while(it.hasNext()){
MyTaskThread thread = (MyTaskThread) it.next();
executor.execute(thread);
}
}
}
//====================================================
问题: 尽管任务很多,每个任务耗时也比较长,但是cpu的利用率只有1~2%, 我把线程池的大小调到50, 100, 200都不能提高CPU的利用率。
请问怎样提高jvm的cpu的利用率
问题补充:
to, aidiyuxin 没找到那个参数对这个有帮助,请赐教,多谢
问题补充:
任务代码有段连接远程web 服务器的动作, 我把它换成循环10000次,CPU的使用率就上去了,看来这就是瓶颈。
相关推荐
在C++编程中,获取指定线程的CPU使用率...在C++中实现线程CPU使用率的获取涉及到对操作系统特性的深入理解和对系统API的熟练运用。通过上述方法,开发者可以监控程序中特定线程的资源消耗,从而进行更有效的性能优化。
`WPC`提供了一个丰富的接口,允许开发者访问系统的各种性能指标,包括线程CPU使用率。另外,还可以利用`NT Kernel & System`进程的`Thread`对象下的`% Processor Time`计数器来获取。 在Linux系统中,可以使用`/...
用在嵌入式linux平台上,通常busybox的top无法看到多线程应用的每个线程的cpu占用率,特地编写了这个小工具.
让双核cpu利用率100%的代码,增加多线程就可以,如果想要内存满了,就不断开辟内存,仅仅是eclipse内存。 资源利用率 java 100% cpu 死机 资源利用率 java 100% cpu 死机 资源利用率 java 100% cpu 死机 资源利用率 ...
`ublinuxidc.jpg`和`logo.png`可能是与这个系统或工具相关的图形标识,它们对理解CPU利用率和使用情况的知识点帮助较小,但可能在实际应用中用于界面展示或品牌标识。 总的来说,理解Linux下的CPU利用率和使用情况...
采用多线程技术提高多核CPU利用率.pdf
在Linux系统中,CPU利用率的计算涉及到对/proc文件系统的理解和分析。/proc文件系统是一个虚拟文件系统,它提供了获取系统信息和与内核交互的途径。在这个文件系统中,有两个关键的文件——/proc/cpuinfo和/proc/...
一、CPU利用率的含义与重要性 CPU利用率是指CPU在一段时间内处于忙碌状态的比例,通常以百分比表示。高CPU利用率可能表明系统负载过重,可能导致响应速度减慢,甚至系统崩溃。因此,通过CpuUsage这样的工具,我们...
此外,为了提高效率,可以考虑使用多线程或者异步操作来定期更新CPU利用率,避免阻塞主线程。同时,对于长时间运行的应用,应适当增加采样间隔,以减少对CPU资源的占用。 总之,理解CPU利用率的计算算法和如何在VC6...
6. **多线程/异步更新**:为了实时显示CPU利用率,源码可能使用多线程或定时器来定期更新并显示数据。在C语言中,可以使用`pthread`库创建和管理线程。 7. **输出显示**:最后,源码还需要将计算得到的CPU利用率...
综上所述,基于WinSock的多线程CPU资源利用研究涉及了网络编程、多线程设计、CPU资源管理等多个方面。开发者需要理解WinSock的工作原理,掌握多线程编程技巧,合理控制线程数量,运用线程池和同步机制,以及利用CPU...
然而,在示例代码中,具体实现细节未完全展示,但可以推测其通过某种方式读取了系统性能数据,然后基于这些数据计算出CPU的利用率。 #### 3. **Linux平台下的CPU占用率计算** 对于Linux系统,CPU占用率的计算通常...
在/proc目录下,有许多文件用于展示系统的实时状态,其中与CPU利用率相关的文件主要有两个:/proc/cpuinfo和/proc/stat。 /proc/cpuinfo文件包含了关于CPU的各种详细信息,例如处理器型号、频率、缓存大小等。在这...
在描述中提到的“VS2008中设置OpenMP:传说中的OpenMP今天终于实现双核CPU的100%效率”,这表明在特定条件下,使用OpenMP成功地在双核CPU上实现了100%的CPU利用率。通常,要达到这一目标,你需要确保你的代码中有...
- 脚本可能通过监控`/proc/stat`文件获取CPU利用率信息,该文件提供了系统运行状态的实时统计。 - 脚本会自动排除自身占用的CPU%,确保计算的CPU使用率反映的是其他进程的使用情况。 - 当CPU使用率低于某个设定...
这篇博客“java通过JNI查看windows的CPU利用率的问题”探讨了如何利用JNI来获取Windows操作系统的CPU使用率。这个话题涉及到多方面的技术,包括JNI的原理、Windows API的调用以及性能指标的获取。 首先,我们需要...
1. **多线程的概念**:多线程是指在一个程序中同时执行多个不同的线程,每个线程可以独立地执行任务,提高了CPU资源的利用率,减少了程序的响应时间。 2. **Java中的线程**:Java提供两种创建线程的方式,一是通过...
2. **资源利用率最大化**:多线程使得CPU的空闲时间减少,尤其是在多核处理器环境下,每个核心都可以处理一个线程,使得系统资源得到充分利用。 3. **任务独立性**:每个线程执行的任务相互独立,即使其中一个线程...
- `ProcessCpu.cs`和`ThreadCpu.cs`可能是专门处理进程和线程CPU利用率的类。 - `AssemblyInfo.cs`包含了程序集的元数据,如版本信息、版权等。 - `App.ico`是应用程序的图标。 - `Example.resx`是资源文件,...
这个项目不仅展示了Qt的跨平台能力,还涉及到系统编程、数据可视化以及多线程编程(如果需要异步获取数据)。对于Qt开发者来说,这是一个很好的实践项目,可以帮助他们深入理解Qt框架和系统资源管理。