标签: dtrace

相当于mac os X上的strace -feopen <command>

这对于调试很有用(因此编程相关).在linux上,我们可以使用该命令

strace -feopen python myfile.py
Run Code Online (Sandbox Code Playgroud)

找出加载了哪些python模块和共享对象.macOS X上有一个等效的单行程吗?

macos dtrace strace osx-snow-leopard

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

诊断 Docker for Mac 上的高 CPU 使用率

如何在 MacOS 上诊断 Docker 的原因,特别是com.docker.hyperkit使用 100% 的 CPU?

码头工人 CPU 使用率

Docker 统计信息

Docker stats 显示所有正在运行的容器都具有较低的 CPU、内存、网络 IO 和块 IO。

码头工人统计输出

iosnoop

iosnoop 显示com.docker.hyperkit每秒对文件执行大约 50 次写入,总计每秒 500KB Docker.qcow2。根据什么是 Docker.qcow2?,Docker.qcow2是一个稀疏文件,是所有 Docker 容器的持久存储。

在我的情况下,文件不是那么稀疏。物理大小与逻辑大小相匹配。

docker.qcow 实际大小

dtrace (dtruss)

dtrusssudo dtruss -p $DOCKER_PID显示大量psynch_cvsignalpsynch_cvwait调用。

psynch_cvsignal(0x7F9946002408, 0x4EA701004EA70200, 0x4EA70100)          = 257 0
psynch_mutexdrop(0x7F9946002318, 0x5554700, 0x5554700)           = 0 0
psynch_mutexwait(0x7F9946002318, 0x5554702, 0x5554600)           = 89474819 0
psynch_cvsignal(0x10BF7B470, 0x4C8095004C809600, 0x4C809300)             = 257 0
psynch_cvwait(0x10BF7B470, 0x4C8095014C809600, 0x4C809300)               = 0 0
psynch_cvwait(0x10BF7B470, …
Run Code Online (Sandbox Code Playgroud)

macos profiling dtrace docker

71
推荐指数
5
解决办法
3万
查看次数

是否有解决方法:"dtrace无法控制使用受限制的权利签署的可执行文件"?

它看起来像在OS X 10.11 El Capitan中,dtruss并且dtrace不能再做他们想要做的事了.这是我尝试运行时遇到的错误sudo dtruss curl ...:

dtrace:无法执行curl:dtrace无法控制使用受限制的权利签名的可执行文件

我遇到过人们注意到这个问题,但到目前为止还没有解决方案.

有没有办法解决这个问题或解决这个问题?

dtrace osx-elcapitan

63
推荐指数
5
解决办法
2万
查看次数

如何让dtrace以非root权限运行跟踪命令?

OS X缺少linux strace,但它dtrace本来应该是更好的.

但是,我错过了对单个命令进行简单跟踪的功能.例如,在linux上我可以写入strace -f gcc hello.ccaputre所有系统调用,它给出了编译器编译程序所需的所有文件名列表(优秀的memoize脚本是基于这个技巧)

我想在mac上移植memoize,所以我需要一些strace.我真正需要的是gcc读取和写入文件的列表,所以我需要的更多是一个truss.我当然可以说dtruss -f gcc hello.c并获得一些相同的功能,但随后编译器运行root权限,这显然是不可取的(除了大量的安全风险,一个问题是该a.out文件现在由root拥有:-)

然后我尝试了dtruss -f sudo -u myusername gcc hello.c,但这感觉有点不对,并且无论如何都不起作用(a.out这次我得不到文件,不知道为什么)

所有长篇故事都试图激发我的原始问题:如何dtrace使用普通用户权限运行我的命令,就像strace在linux中一样?

编辑:似乎我不是唯一一个想知道如何做到这一点:问题#1204256与我的几乎相同(并且具有相同的次优sudo答案:-)

macos dtrace root strace

56
推荐指数
4
解决办法
2万
查看次数

什么是Linux上的DTrace的替代品?

从我所看到的,Linux上的DTrace实现受到许可和政治的阻碍.目前有哪些替代方案?

linux dtrace

40
推荐指数
4
解决办法
3万
查看次数

iosnoop,iotop,opensnoop,execsnoop,opensnoop,dtruss和其他基于dtrace的命令不适用于osx El capitan,macOS Sierra

在OSX 10.11.1上运行iosnoop命令时,出现以下文本错误:

dtrace: invalid probe specifier
 /*
  * Command line arguments
  */
 inline int OPT_dump    = 0;
 inline int OPT_device  = 0;
 inline int OPT_delta   = 0;
 inline int OPT_devname = 0;
 inline int OPT_file    = 0;
 inline int OPT_args    = 0;
 inline int OPT_ins     = 0;
 inline int OPT_nums    = 0;
 inline int OPT_dtime   = 0;
 inline int OPT_mount   = 0;
 inline int OPT_start   = 0;
 inline int OPT_pid     = 0;
 inline int OPT_name    = 0;
 inline int OPT_end …
Run Code Online (Sandbox Code Playgroud)

macos dtrace osx-elcapitan macos-sierra

36
推荐指数
2
解决办法
8745
查看次数

关于Ubuntu的DTrace,怎么做?

我想在Ubuntu上使用DTrace.

https://github.com/dtrace4linux/linux

上面有一个用于Linux的github.

  • 我想知道dtrace for linux是否与其他操作系统(Solaris,FreeBSD,OSX)的dtrace相同.
  • 我想找一个使用它的教程(dtraceforlinux).
  • 我想知道下面的solaris dtrace教程是否适合我.

http://www.oracle.com/technetwork/server-storage/solaris/dtrace-tutorial-142317.html

先感谢您.Journeyer

linux ubuntu dtrace

31
推荐指数
1
解决办法
1万
查看次数

如何衡量互斥争用?

我有一些在Linux上使用PThreads的线程代码,我怀疑它正遭受过多的锁争用.有哪些工具可供我测量?

Solaris有DTrace和plockstat.Linux上有类似的东西吗?(我知道Linux最近的DTrace端口,但它似乎还没有为黄金时间做好准备.)

c linux pthreads dtrace

23
推荐指数
3
解决办法
1万
查看次数

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

我正在寻找一种方法来对Linux上的脚本执行时间进行精确Node.JS 分析.

有一些有趣的项目,比如NodeTime.com Performance Profiler,但是它描述了I/O httprequests的时间等,而不是代码行的执行时间.

我正在寻找一种方法来弄清楚我可以在哪里优化我的Javascript,大部分时间花在哪里,等等.


我见过的一个有趣的方法是尝试使用DTrace创建FlameGraph来分析Node.JS.

但是,它dtrace是特定于Solaris的.

  • 对于Linux(Debian/Ubuntu),dtrace可以在sytemtap-sdt-dev包中找到.但是,stap dtrace不一样,缺少所有相关的钩子/探针.
  • Paul Fox从Unix版本开始编写端口.它的功能更加完整,但钩子/探测器在某种程度上不像Solaris那样在用户空间中工作,也不能用于配置节点.
    ftp://crisp.dyndns-server.com/pub/release/website/dtrace/(这很容易构建,请参阅自述文件.)
  • 还有一个Oracle端口,但没有人会推荐它.显然,它只有大约0.1%的Paul Fox端口探测器.(这是具有讽刺意味,因为Oracle是以前Sun的原作者dtraceSolaris)

在Linux中,如何使用终端或使用Eclipse,我可以分析我的Node.JS脚本的代码吗?我正在寻找像Zend Profiler这样的特定内容,以显示PHP脚本代码中每个命令的执行时间.

javascript eclipse profiling dtrace node.js

21
推荐指数
2
解决办法
7065
查看次数

ostra等效于osx?

osx拥有非常强大的dtrace/ktrace/dtruss工具 - 但是我不愿意投入必要的时间来学习如何处理它们.

什么是在OSX上获得linux ltrace(可能是strace)的等效功能的最简单方法?

linux macos dtrace strace

20
推荐指数
3
解决办法
1万
查看次数