小编fgl*_*lez的帖子

在 Solaris 10 中跟踪慢速 Java I/O

我们有一个 Java 应用程序,它在 Solaris 10 服务器中比在 Windows PC 中慢得多。

我们已经分析 (-Xprof) 应用程序,并观察到 ​​UnixFileSystem.getBooleanAttributes0 方法使用本机调用消耗大约 40% 的 CPU 时间。

我们如何按照我们的搜索来确定行为缓慢的原因是什么?

更新:

我们已经执行dtrace并观察到 ​​CPU 时间为 0.489 秒,而time结果是


real 0m40.759s
user 0m47.669s
sys 0m2.287s
Run Code Online (Sandbox Code Playgroud)

似乎时间不是花在 CPU 上,而是花在了另一个地方。有了这个dtrace结果,我们如何进行进一步的调查?我们可以使用其他dtrace选项来显示更多信息吗?

非常感谢。


# /dtrace-toolkit/DTraceToolkit-0.99/procsystime -aTp 5695
Tracing... Hit Ctrl-C to end...
dtrace: 1032 dynamic variable drops with non-empty dirty list
^C

Elapsed Times for PID 5695,

         SYSCALL          TIME (ns)
           gtime               7799
       sysconfig               8018
        lwp_kill              10105
     getsockname              10215
      systeminfo              10984 …
Run Code Online (Sandbox Code Playgroud)

solaris performance filesystems java

5
推荐指数
1
解决办法
6324
查看次数

标签 统计

filesystems ×1

java ×1

performance ×1

solaris ×1