`
d2hellen
  • 浏览: 101622 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

关于java在linux下消耗cpu的问题。

 
阅读更多
最近在做的一个java的后台服务器,在window下测试对cpu占用率极小,但是迁移到linux下去导致linux下的cpu占用率极高;



通过努力分析,终于在不起眼的地方发现问题所在:


public class BidCheck { 
	public static void main(String[] args) throws Exception{        
		////定时器,1秒后开始执行,每隔180秒再执行
		Timer timer = new Timer();
		timer.schedule(new java.util.TimerTask() { public void run() { 
			Run r = new Run();    
			Thread t = new Thread(r);      
			t.start(); 
		} }, 1000, 180000);
		
		//while(true){//)这个是用来停止此任务的,否则就一直循环执行此任务了
		//	try{
		//		int ch = System.in.read();
		//		if(ch-'c'==0){
		//			timer.cancel();//使用这个方法退出任务
		//		}
		//	}catch (IOException e) {
		//		e.printStackTrace();
		//	}
		//}
	}
}



就是这段代码导致问题,这段代码的目的是在用户输入了一个字符q的时候,终止后台运行,当把这段代码注释后,在此部署到linux系统,系统的cpu的占用率就下来了。



在分析,这段代码没有什么特殊的地方,我们只要关注这句话:read = System.in.read();

看来 System.in.read方法在linux和windows下面实现的效果是不同的。



建议大家在linux系统下面关注  System.in.read() 适当使用,防止导致linux负荷过高。

分享到:
评论

相关推荐

    Linux之性能分析工具Intel(R) VTune.doc

    英特尔Intel VTune Amplifier XE 是最新的性能分析器,构建于... VTune Amplifier用在Intel的CPU上,可以用来分析装有Intel CPU的Linux和windows系统,我们一般针对Linux进行性能分析,下面介绍一下安装和使用方法。

    show-busy-java-threads

    用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用。 目前只支持Linux。原因是Mac、Windows的ps命令不支持列出进程的线程...

    java版斗地主源码-MyJava:记录我自己Java学习的一些笔记,才疏学浅还望多多指教

    因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。 面向...

    System monitor for Java-开源

    系统监视器是一个Java库,用于监视内存和CPU消耗等系统资源。 该库提供了用于访问系统信息的统一的跨平台API。 当前,通过Java本机接口(JNI)支持Linux和Windows。

    gnirehtet:Gnirehtet为Android提供反向绑定

    本机二进制文件消耗的CPU和内存更少,并且不需要Java运行时环境。 Gnirehtet的中继服务器最初仅用Java实现。 有益的是,相同的“二进制文件”在安装了Java 8运行时的每个平台上运行。 如果Rust版本出现问题,它...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    服务器端性能优化-提升QPS:RT1

    例子简介:通过CPU和IO的测试模型,观察CPU和IO时间消耗变化,而带来的QPS和RT的变化1、准备资源3台linux服务器(保证服务器的资源不会互相干扰,服

    手机 pdf 阅读器

    MOTO-LINUX平台的手机上JAVA无法实现背景常亮功能,启用该功能后会闪屏,请勿再询问此问题了。 允许用户设置阅读时背景灯的亮度(对大部分NOKIA S40、SE、SAMSUNG手机有效,MOTO上无法实现) 修改跳转界面,左/右键...

    测试培训教材

    在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war 进入10sabin.war\WEB-INF,修改siteadmin.xml中的IP地址: 修改数据库中的数据: 修改后可以登陆 但是...

    易语言程序免安装版下载

    修改BUG:矢量动画支持库中的“矢量编辑框”组件在光标位于组件右下角时按右光标键进入下一行会导致显示错误。 10. 修改BUG:矢量动画支持库中的“矢量编辑框”组件在光标位于组件左上角时按左光标键进入前一行...

Global site tag (gtag.js) - Google Analytics