You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下JMH使用DTraceAsmProfiler报sudo需要密码错误如何解决?

问题原因

macOS系统下DTraceAsmProfiler运行依赖root权限,JMH调用DTrace时默认会触发sudo权限校验,当前用户没有DTrace的免密sudo权限时就会抛出该错误。

解决方案

方案1:临时加root权限运行(单次使用推荐)

直接在执行命令前加sudo前缀,输入当前用户密码即可正常运行:

sudo java -jar target/benchmarks.jar CRHMBenchmark -f 2 -w 1s -r 1s -prof dtraceasm

如果是通过IDE运行BenchmarkRunner启动类,用sudo启动IDE即可,以IntelliJ IDEA为例:

sudo open -a "IntelliJ IDEA"

启动后再运行基准测试代码即可。

方案2:配置DTrace免密sudo权限(长期使用推荐)

无需每次输入密码,步骤如下:

  • 终端执行sudo visudo打开sudo配置文件
  • 找到%admin ALL=(ALL) ALL行,在下方新增一行配置:
    你的系统用户名 ALL=(ALL) NOPASSWD: /usr/sbin/dtrace
    
  • 按下ESC后输入:wq保存退出配置即可,之后运行DTraceAsmProfiler无需再输入密码。

额外注意事项

如果配置后仍然有权限报错,大概率是macOS系统完整性保护(SIP)限制了DTrace权限,可按如下步骤操作:

  • 重启电脑,按住Command+R进入恢复模式
  • 打开恢复模式下的终端,执行csrutil enable --without dtrace
  • 重启后即可正常使用DTrace功能,无需完全关闭SIP。

内容的提问来源于stack exchange,提问作者Sergey Tsypanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:06:08