草庐IT

linux - 了解 dtruss 的输出

谁能给我指出如何理解/解释dtruss(mac)或dtrace输出的报告的引用资料?我刚刚在一个简单的程序上尝试了dtruss。例如,我得到以下输出:PID/THRDSYSCALL(args)=return250/0x103c:getattrlist("/Volumes/CORE/CORE.app\0",0x7FFF5E8045D8,0x7FFF5E804250)=00250/0x103c:geteuid(0x7FFF5E8045E0,0x0,0x7FFF5E804A18)=5010250/0x103c:geteuid(0x7FFF5E805DF0,0x0,0x7FFF5E805E80

java - 如何禁用 Java 堆栈帧优化或使用系统分析器分析堆栈?

系统分析器,如DTrace和Linuxperf_events,能够分析来自JVM的堆栈跟踪。现在,撇开符号(这是另一个问题),DTrace和perf_events都收集了许多只有1帧的堆栈。这些是部分的、不完整的堆栈。我已经尝试过DTracejstack()和Linuxperf_events以及帧指针和dwarf堆栈展开。我相信这是由于热点编译优化的帧。有没有办法禁用此优化,以便标准系统分析器(如SolarisDTrace和Linuxperf)工作?我已经尝试了以下选项:-XX:+DeoptimizeRandom-XX:MaxInlineSize=0-XX:-OmitStackTrac

java - 如何禁用 Java 堆栈帧优化或使用系统分析器分析堆栈?

系统分析器,如DTrace和Linuxperf_events,能够分析来自JVM的堆栈跟踪。现在,撇开符号(这是另一个问题),DTrace和perf_events都收集了许多只有1帧的堆栈。这些是部分的、不完整的堆栈。我已经尝试过DTracejstack()和Linuxperf_events以及帧指针和dwarf堆栈展开。我相信这是由于热点编译优化的帧。有没有办法禁用此优化,以便标准系统分析器(如SolarisDTrace和Linuxperf)工作?我已经尝试了以下选项:-XX:+DeoptimizeRandom-XX:MaxInlineSize=0-XX:-OmitStackTrac

javascript - 在 Linux 中分析 Node.JS(代码)执行时间

我正在寻找一种方法来对Linux上的脚本执行时间进行精确的Node.JS分析。有一些有趣的项目,例如NodeTime.comPerformanceProfiler,但这会描述I/Ohttprequests的时间等,而不是代码行的执行时间。我正在寻找一种方法来确定我可以在哪里优化我的Javascript,大部分时间都花在了哪里,等等。我见过的一个有趣的方法是尝试createaFlameGraphusingDTrace分析Node.JS。但是,dtrace是非常特定于Solaris的。对于Linux(Debian/Ubuntu),dtrace可以在sytemtap-sdt-dev包中找到。

javascript - 在 Linux 中分析 Node.JS(代码)执行时间

我正在寻找一种方法来对Linux上的脚本执行时间进行精确的Node.JS分析。有一些有趣的项目,例如NodeTime.comPerformanceProfiler,但这会描述I/Ohttprequests的时间等,而不是代码行的执行时间。我正在寻找一种方法来确定我可以在哪里优化我的Javascript,大部分时间都花在了哪里,等等。我见过的一个有趣的方法是尝试createaFlameGraphusingDTrace分析Node.JS。但是,dtrace是非常特定于Solaris的。对于Linux(Debian/Ubuntu),dtrace可以在sytemtap-sdt-dev包中找到。

python - MacOSX Instruments 分析 Python 代码

MacOSXXcodeInstruments非常适合分析native代码。但是,我的调用堆栈中还有大量Python调用。我可以让Instruments感知Python吗?我能想到的一个解决方案是当它看到一些PyEval_EvalFrameEx框架时,它会在其局部变量/参数中查找以分隔不同的Python调用并向我显示一些调用信息。我问的不仅仅是Python分析器。我想分析我的native代码。但在native代码分析中,我想添加一些进一步的智能来分析和翻译Python堆栈帧。 最佳答案 据此stackoverflowanswer,In

python - MacOSX Instruments 分析 Python 代码

MacOSXXcodeInstruments非常适合分析native代码。但是,我的调用堆栈中还有大量Python调用。我可以让Instruments感知Python吗?我能想到的一个解决方案是当它看到一些PyEval_EvalFrameEx框架时,它会在其局部变量/参数中查找以分隔不同的Python调用并向我显示一些调用信息。我问的不仅仅是Python分析器。我想分析我的native代码。但在native代码分析中,我想添加一些进一步的智能来分析和翻译Python堆栈帧。 最佳答案 据此stackoverflowanswer,In

node.js - 找不到模块 dtrace-provider

我有一个简单的nodejs应用程序正在抛出“找不到模块'./build/Release/DTraceProviderBindings'”。我在网上查了一下,看起来很多人在Windows上使用restify时都遇到了同样的问题(这是我的情况,我在Windows10上使用restify)。显然,dtrace-providerisaoptionalmoduleforrestify并且没有适用于Windows的版本。所以,到目前为止我尝试了什么:更新Node到v6.2.0;卸载所有模块并运行npminstall--no-optional;只卸载restify并运行npminstallresti

tcp - tcp 探测中 cs_cid 的 Dtrace 问题

我正在尝试使用DTrace分析TCP滑动窗口。我找到了以下博客文章(https://blogs.oracle.com/amaguire/entry/dtrace_tcp_provider_and_tcp),其中包含一个dtrace脚本。不幸的是,我总是得到错误line4:translatordoesnotdefineconversionformember:cs_cid我还检查了tcp探测器(https://wikis.oracle.com/display/DTrace/tcp+Provider)的文档,cs_cid似乎已定义。我使用的是MacOSX10.9。我不确定我做错了什么所以任何

linux - Ubuntu 上的 DTrace,操作方法?

我想在Ubuntu上使用DTrace。https://github.com/dtrace4linux/linux上面有一个用于Linux的,github。我想知道用于linux的dtrace是否与用于其他操作系统(Solaris、FreeBSD、OSX)的dtrace相同。我想找一个使用这个(dtraceforlinux)的教程。我想知道下面的dtraceforsolaris教程是否适合我。http://www.oracle.com/technetwork/server-storage/solaris/dtrace-tutorial-142317.html