如何测量在 ubuntu 上运行的 java 应用程序的 I/O 时间?

2024-02-27

我想收集我的应用程序等待 I/O 的时间。我正在 ubuntu/linux 上运行这个 java 应用程序。我正在使用 yourkit 分析器。建议是否有其他分析工具来测量 I/O 时间。


Youtkit 非常适合在您的应用中使用变焦显微镜。在这些情况下,通常还需要从外部看宏观视图,并进行一些非常粗略的测量,以确定您是否受 CPU 限制或 IO 限制。

如果您的应用程序在“空”的情况下全速运行,仅使用 10% 的 CPU(推而广之,大约有 90% 的时间在等待 IO),那么如果您想要增加吞吐量。另一方面,如果您的所有核心都运行超过 90%,您将不会获得太多收益,因为我们的应用程序受 CPU 限制。命令 top、iostat 和 vmstat 可以给出这些粗略的估计。

strace 可以深入了解文件被打开和关闭的次数、执行的读取操作等,...在这种情况下,还可以学习使用 grep 或 perl 来筛选该工具产生的海量数据。

密切关注内存的使用效率并了解您的基础设施。如果您在 vmstat 中看到大量块被换入和换出,请重新调整内存,直到其降至零,否则所有其他努力都相对无用。

从你的问题中不清楚你的重点是否是延迟、抖动、吞吐量……但这些相对快速的粗略估计有助于确定用显微镜观察的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何测量在 ubuntu 上运行的 java 应用程序的 I/O 时间? 的相关文章

随机推荐

  • 在应用程序购买中添加二进制文件

    我已提交新版本的应用程序和新的应用程序购买 苹果有强调新版本的应用程序 但不接受应用程序内购买 应用内购买 新商业模式 我们已开始审核您的应用内购买 但无法继续 因为您提交的应用内购买表明您的应用的业务模式发生了变化 因此 我们需要验证您提
  • 是否有可用于在浮点表示形式之间进行转换的 C++ 库?

    我最近需要解释 DEC 32 位浮点表示 它与 IEEE 浮点表示法的不同之处在于分配给指数和尾数的位数 以下是一堆浮点格式的描述 http www quadibloc com comp cp0201 htm http www quadib
  • docker nginx ERR_NAME_NOT_RESOLVED

    运行 4 个 docker 容器 服务器 客户端 nginx mongo 反向代理 客户端似乎在端口 4200 上工作 我可以看到我的应用程序和路由工作 当尝试注册用户时 我请求将以下 httpclient 发布到名为 myserver 的
  • Excel VBA 宏用于跟踪单独工作表中的更改

    我正在尝试编写一个 VBA 宏来跟踪对单独工作表中工作簿的更改 如果您手动执行此操作 命令顺序为 工具 gt 跟踪更改 gt 突出显示更改 并选择 单独工作表 选项 您必须执行该命令的两次迭代 一次是激活内联跟踪 第二次是将跟踪移动到单独的
  • android:singleLine 的 TextView 不再处于“已弃用”状态?

    我面临 android ellipsize 在 TextView 中不起作用的问题 但要在 android singleLine 上正常工作 我听说 android singleLine 已 弃用 但 Android Developer 的
  • 系统 IO 异常:进程无法访问该文件,因为该文件正在被另一个进程使用 c#

    我已经看到了关于这个问题的几篇文章 我已经实现了所有建议 例如在流写入器和连接对象上使用flush close 方法 使用GC Collect 强制清理 使用using 自动处置 我正在从数据库进行简单的获取操作并写入文本文件 这是我的代码
  • 使用Javascript将所有span标签更改为label标签?

    我想做的 调用卸载函数来更改 span some content span into
  • Rascal 中的布局

    当我导入 Lisra 配方时 import demo lang Lisra Syntax 这将创建语法 layout Whitespace t n r lexical IntegerLiteral 0 9 gt gt 0 9 lexical
  • 使用 GetProcAddress 从 C++ 调用 Delphi DLL:回调函数因参数无效而失败

    我有一个第三方 Delphi DLL 我从 C 调用它 不幸的是 我无法访问 Pascal DLL 代码 并且我不是 Pascal 程序员 没有lib文件 所以我使用GetProcAddress调用许多DLL函数 成功地按值 地址和引用传递
  • WCF 和 HTTP GET

    我的WCF服务公开了这个函数 public SerialNumberInfo GetSerialNumberInfo string serialNumber 有没有办法在我的 WCF 服务上启用 HTTP GET 例子 http local
  • 动态链接和 Python SWIG (C++) 在 C++ 中工作在 python 中失败

    我有一个库 我使用 SWIG 创建了一个 python 包装器 该库本身接受用户提供的函数 这些函数位于动态链接的 so 文件中 目前 我正在处理我自己创建的一个 并设法在 C 中使动态链接正常工作 当我尝试在 python 中运行它时 出
  • Ember.js 路由器入门

    我想在下一个项目中学习使用 Ember js 到目前为止我已经阅读了文档here http emberjs com documentation 但我没有看到有关路由器的解释 然后我读了指南here http emberjs com guid
  • 查找图像中一条线上的像素坐标

    我有一个表示为二维数组的图像 我想获取从点 1 到点 2 的直线上的像素坐标 例如 假设我有一张尺寸为 5x4 的图像 如下图所示 我有一条从坐标点 1 开始的线 0 2 到点 2 4 1 就像下图中的红线一样 所以在这里我想将蓝色像素的坐
  • 如何在 JPQL 中将日期时间转换为日期?

    这段代码有什么问题 Query value Select date ivd trnDatetime as date ivd binNo as bin ivd snNo as sn count ivd invoiceNo as totInvo
  • api 获取请求失败后重新调用 useEffect

    我正在执行 useEffect 以使用 JSON 数据更新状态 但是 获取请求有时会失败 因此如果发生这种情况 我想重新执行 useEffect 挂钩 import React useState useEffect from react i
  • 如何使用注释排除java类在maven中编译

    我已经有一个working解决方案 我可以使用 Maven 指定在使用特定 Maven 配置文件时不编译哪些类 但我想使用通用解决方案并使用注释代替 我目前的解决方案就像
  • 伪元素内容的数据内容中的 Unicode

    我想使用 JQuery 将 unicode 放入 data content 属性中 以便将其用于伪元素内容 但我找不到正确的格式 你如何显示unicode 下面只是显示 x25BC a after content attr data con
  • Vim 从光标上次消失的位置开始

    如何让 Vim 始终从我上次退出给定文件时所在的行开始 将其放入您的 vimrc 中 When editing a file always jump to the last cursor position au BufReadPost if
  • WinForms C# 中优雅的日志窗口

    我正在寻找一种有效的方法来实现 Windows 窗体应用程序的日志窗口 过去我已经使用 TextBox 和 RichTextBox 实现了几个 但我仍然对功能不完全满意 此日志旨在为用户提供各种事件的最新历史记录 主要用于数据收集应用程序
  • 如何测量在 ubuntu 上运行的 java 应用程序的 I/O 时间?

    我想收集我的应用程序等待 I O 的时间 我正在 ubuntu linux 上运行这个 java 应用程序 我正在使用 yourkit 分析器 建议是否有其他分析工具来测量 I O 时间 Youtkit 非常适合在您的应用中使用变焦显微镜