社区
Java SE
帖子详情
如何统计一段Java业务代码的CPU执行时间和IO执行时间
catoop
Java领域优质创作者
博客专家认证
2019-08-03 06:02:00
如图
:
问题
:
业务代码中,总的时间消耗包含CPU时间 和 IO 时间。
如何通过代码或者其他工具,统计任意一段业务代码的CPU时间和IO时间。
例如针对上面图中的business方法,可以获得CPU累计消耗时间109ms和剩余的IO累计时间消耗。
假设业务方法是不透明的,只能调用,那么调用方如何统计目标方法的这2个时间消耗。
(可以使用代码,或者工具)
请教各位大神!!!
...全文
1278
6
打赏
收藏
如何统计一段Java业务代码的CPU执行时间和IO执行时间
如图: 问题: 业务代码中,总的时间消耗包含CPU时间 和 IO 时间。 如何通过代码或者其他工具,统计任意一段业务代码的CPU时间和IO时间。 例如针对上面图中的business方法,可以获得CPU累计消耗时间109ms和剩余的IO累计时间消耗。 假设业务方法是不透明的,只能调用,那么调用方如何统计目标方法的这2个时间消耗。 (可以使用代码,或者工具) 请教各位大神!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
catoop
2021-04-15
打赏
举报
回复
这个确实很复杂,需要精通内核底层的很多知识,如果有能有一个这样的工具就好了。
冰思雨
2021-04-07
打赏
举报
回复
计算 CPU的使用时长 是一个很复杂的过程,同理,IO时长也是相对会比较复杂,总之,越想精确一些,算法就越麻烦,你要对操作系统,进程调度之类的东西非常了解才有可能实现。
冰思雨
2021-04-07
打赏
举报
回复
楼主的这个需求,是外行人提的吗? 你现在使用的是Java程序,但是,需求,怎么看着像C/C++程序的需求啊? 统计 CPU 和 IO 的操作时长,这个是操作系统级的需求,一般由偏低级的语言才能好实现。 Java语言是运行在虚拟机之上的程序,统计 操作系统之下的 CPU 和 IO 操作(偏硬件方面),是很困难的事情。 Java 语言可以统计的,一般都是函数的执行时长(使用动态代理技术),楼主可以考虑这个方向,统计函数的调用时长吧,这个还靠谱点。 当然,函数的执行时间,很可能无法区分 CPU时长 和 IO时长。
老王就是我
2021-04-02
打赏
举报
回复
没办法统计,system.current也是需要消耗性能的,并不是无损操作
qq_28147505
2021-04-01
打赏
举报
回复
所以最终是如何处理? 不对,业务方法是不透明的,你去调用,那就只有请求总时间了。。 不透明了,你怎么还知道有io,cpu的操作。。
faith.huan
2019-08-04
打赏
举报
回复
可以考虑使用springAop,分别计算business方法耗时(IO+CPU), HttpClientUitl.get方法耗时(IO) ,至于如何将这两个如何绑定到一次处理 可以考虑使用ThreadLocal设置个数字,用于标识 business和HttpClientUtil.get属于一次处理
java
源码包---
java
源码 大量 实例
Java
二进制
IO
类与文件复制操作实例,好像是一本书的例子,源
代码
有的是独立运行的,与同目录下的其它
代码
文件互不联系,这些
代码
面向初级、中级
Java
程序员。
Java
访问权限控制源
代码
1个目标文件 摘要:
Java
源码,...
java
程序运行一段
时间
后内存爆满,
cpu
使用率迅速增加(解决)
java
程序在运行一段
时间
后,内存逐渐爆满,随后
cpu
使用率上升 上周遇到一个很奇葩的问题,现场反应,程序运行20分钟以后
cpu
使用率在90%以上,拿到
代码
无从下手,经过几天的研究,最终找到原因并解决。 通过现场bug...
Java
IO
流精讲上
本阶段课程是《零基础学
Java
》课程第10阶段的课程内容,本阶段主要讲解了
JAVA
IO
流章节的知识点。该课程延续了之前课程的授课风格!内容经过精心雕琢,细致设计,能够做到讲解深入浅出、通俗易懂!可以真正让学员学有所获!课程内容主要有:File类概述、File类功能讲解、
JAVA
IO
流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter的讲解。
CPU
密集型和
IO
密集型任务的权衡:如何找到最佳平衡点
CPU
密集型与I/O密集型是在计算机上
执行
任务的两种策略,在并发
执行
任务场景下,我们需要选择使用多线程或多进程; 如果是
IO
密集型任务,使用多线程,线程越多越好; 如果是
CPU
密集型任务,使用多进程,线程数量与
CPU
...
java
程序运行缓慢原因_
Java
很普通的
代码
执行
很慢
大家好,我们生产系统上面现在有一个接口,这个接口里面的
代码
有的时候运行很慢,后来我把
代码
分成了好几段,每段
代码
前后都加了开始
时间
和结束
时间
。今天下午 2020/4/7 14:48:00 的时候,运维找我说又发现客户调了...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章