A. linux有一个java进程cpu达到100,怎么回事,程序进程多
cpu使用率高的原因及解决方法:
第一、杀毒软件,常见的金山、瑞星杀毒软件会对网页、插件等进行监控,这样就增大了系统负担,自然也就会造成cpu使用率高。
第二、驱动不达标,现在人们使用的驱动有几大一部分是属于测试版的驱动,这一类驱动并不合格,它可以造成CPU100%的使用率,而且不容易发觉。
第三、病毒木马,病毒在系统内部复制,必然造成极高的cpu占有率;
第四、网络链接,这是最直接的客观原因,主要是网络连接不稳定。
第五、启动项太多,一般来说开机启动项过多,就会增加cpu的使用率,增加其荷载。
第六、桌面尽量少放文件,在桌面上放过多的文件,极大的占用cpu,造成使用率过高。
第七、软件本身需要占有很高的CPU,比如一览器;有时有的软件和系统会有点不兼容。
第八、“svchost”进程影响,svchost.exe是系统的一个核心进程,svchost.exe有时非常令人头痛,如果看到某个svchost.exe占用很大CPU,这时可以去下aports或者fport来检察其对应的程序路径,看下是不是有程序调用svchost.exe。
第九、右击文件100%扥使用率,这个也是非常常见,在官方解释也很有意思。
第十、cpu温度过高,证明cpu本身就是出于不正常运行,自然也就会导致异常。
第十一、word文件过大,cpu对其拼写和语法检查过度。
B. java 多线程 cpu利用率100%问题,我做了一个程序,10个线程,不到一分钟,cpu就100%了,怎么解决。
一般一个cpu核心可以搭载两个线程,你根据核心去搭载线程,不要乱放线程。
还有你有10个线程同时跑耗时操作最少也要4核的cpu,你可以减少线程或者减少线程中的耗时操作。
如果你是解码或者压缩程序的话那么cpu100%也很正常,如果是socket网络连接你可以看看windows iocp,linux epoll的实现。