JAVA控制CPU占用率(编程之美有感)(一)
2017-07-21 14:17
162 查看
JAVA控制CPU占用率(编程之美有感)(一)
自从看完编程之美的第一篇问题分析,内心十分触动:这是什么鬼?还能这样玩?之前对CPU的占用率只局限于:
“卧槽,我内存满了,电脑卡死了”。
“擦!死循环了,这破代码!”。
“这破游戏这么占内存啊!”。
从了解了编程之美的第一节就感觉到了编程之美的美之所在,将天下之物为我所控,Everything is Object,Object is me。当然这只是一个我玩笑,只是表达我对java的强悍又一认识。
好了闲话少说,下面进入正题。
在编程之美中对系统CPU占用率的分析简直不能再深入,由浅开始,从电脑的CPU内存比的含义开始入手,到如何控制电脑CPU的内存占用率为50%,到动态获取每个电脑的运行内存,以及最后如何让电脑画出一个优美的正弦曲线,都有很深入的分析,看的我触动很大,遍生出了自己去尝试的想法。下面是我自己的实践历程。
打开心爱的Eclipse之后新建了一个Java Project,开始尝试,书上的代码开始很简单,也很容易理解,就是控制下系统的“busy”,和“idle”,那就写下如下代码(假设busy和idle时间为),假设忙闲的时间为5ms,可以用for一直在死循环中,5ms后退出。
public static void main(String[] args) throws InterruptedException { long busyTime = 5; Thread th = Thread.currentThread(); long nowSys = System.currentTimeMillis(); while(true){ nowSys = System.currentTimeMillis(); while((System.currentTimeMillis()-nowSys)<=busyTime){ } th.sleep(5); } }
后来发现,马丹我自己电脑有4个CPU,运行起来结果为:
不过为了方便测试,我发现有个
于是我电脑CPU使用率就变成:
卧槽,说好的50%呢?而且我自己的程序控制忙闲比为50%加上系统本身以及各种软件的占用,CPU的使用比应该大于50的啊亲???
放下了手中准备砸电脑的砖头,用生锈的脑子想了一下,因为电脑4核CPU工作交替规律不清楚,可能是电脑任务分配给CPU
A时,BCD为空闲(或者做其余工作)以至于idle比率比较大。
相关文章推荐
- JAVA控制CPU占用率(编程之美有感)(二)
- 使用Java代码控制CPU占用率
- 《编程之美》(Java实现) :让CPU占用率画直线和正弦曲线(Java实现)
- 控制你的CPU占用率,读编程之美第一章的一点总结
- 使用Java代码控制CPU占用率
- 《编程之美》学习笔记--控制CPU占用率
- java控制多核cpu的占用率
- 《编程之美》读书笔记(一):让CPU占用率画直线和正弦曲线(Java实现)
- Linux下,java进程CPU占用率高的分析方法
- 《编程之美--微软技术面试心得》笔记-固定CPU占用率
- 【读书笔记】《编程之美》1.1——让CPU占用率听你指挥——四种解法
- 关于《编程之美》CPU曲线控制例子的探讨
- 编写程序 控制cpu占用率
- VC中对CPU占用率的控制
- JAVA进程 Linux CPU占用率分析方法
- java 应用 cpu 占用率过高问题
- 《编程之美》之如何控制CPU的暂用率固定在50%
- java应用CPU占用率过高问题的分析
- 编程之美:让CPU占用率曲线听你指挥
- 编写程序 控制cpu占用率-4 绘制CPU使用率的正弦曲线