社区
Java SE
帖子详情
如何统计一段Java业务代码的CPU执行时间和IO执行时间
catoop
优质创作者: Java技术领域
领域专家: 后端开发技术领域
2019-08-03 06:02:00
如图
:
问题
:
业务代码中,总的时间消耗包含CPU时间 和 IO 时间。
如何通过代码或者其他工具,统计任意一段业务代码的CPU时间和IO时间。
例如针对上面图中的business方法,可以获得CPU累计消耗时间109ms和剩余的IO累计时间消耗。
假设业务方法是不透明的,只能调用,那么调用方如何统计目标方法的这2个时间消耗。
(可以使用代码,或者工具)
请教各位大神!!!
...全文
1456
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
自定义
IO
密集型和
CPU
密集型线程池
通过分析
CPU
密集型、
IO
密集型等场景,结合自定义线程池工厂类、阻塞队列和拒绝策略,详细介绍了如何优化线程池性能,确保任务高效
执行
。同时,提供了多种拒绝策略的实现思路,包括数据库持久化、创建新线程、带退避...
java
程序运行
一段
时间
后内存爆满,
cpu
使用率迅速增加(解决)
java
程序在运行
一段
时间
后,内存逐渐爆满,随后
cpu
使用率上升 上周遇到一个很奇葩的问题,现场反应,程序运行20分钟以后
cpu
使用率在90%以上,拿到
代码
无从下手,经过几天的研究,最终找到原因并解决。 通过现场bug...
CPU
密集型和
IO
密集型任务的权衡:如何找到最佳平衡点
CPU
密集型与I/O密集型是在计算机上
执行
任务的两种策略,在并发
执行
任务场景下,我们需要选择使用多线程或多进程; 如果是
IO
密集型任务,使用多线程,线程越多越好; 如果是
CPU
密集型任务,使用多进程,线程数量与
CPU
...
java
程序运行缓慢原因_
Java
很普通的
代码
执行
很慢
大家好,我们生产系统上面现在有一个接口,这个接口里面的
代码
有的时候运行很慢,后来我把
代码
分成了好几段,每段
代码
前后都加了开始
时间
和结束
时间
。今天下午 2020/4/7 14:48:00 的时候,运维找我说又发现客户调了...
Java SE
62,626
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章