我在家里有一个简单的 ZFS 设置,四个磁盘镜像,8GB 内存和 120GB 英特尔 X25-M SSD 用于 L2ARC。我运行zpool add poolname cache cXtXdX然后生成负载并通过运行zpool iostat -v mypool. 几个小时后,L2ARC 已满,但究竟缓存了什么?
我可以窥视一下我的 ARC/L2ARC 中有什么吗?我知道某些块会映射到多个文件系统(由于快照、克隆或重复数据删除),但我仍然想对以下统计数据进行采样:
我想 zdb 和/或 dtrace 将是日常工具,但真的不知道从哪里开始。
我想在 Centos 6 机器上解决一个问题。我运行了 dtrace 但它失败了。它不接受-n或-l或-P或任何命令行选项。它声称只接受-h,-G,-C,-I,-s,和-o。我想这一定是 Centos 的一些奇怪的东西,所以我去 Fedora 22 机器上进行验证。同样的问题。它只接受数量非常有限的命令行选项。我去尝试了一个 Oracle box,它非常像 Centos 和 Fedora 的 RedHat。它工作得很好。我能够运行dtrace并获得所有命令行选项的长列表。我回到 Centos 和 Fedora。当我输入时dtrace,输出是Usage /bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]. 所以,经过一个小时的谷歌搜索,我放弃了。如何让 dtrace 在 Centos/Fedora 上正常工作?我已经以 root 和用户身份尝试过。我搜索了软件包以增加功能。我试过删除并重新安装 dtrace。剩下的唯一事情就是删除软件包并从源代码安装 dtrace。
我试图找出特定进程在 OS X 机器上执行的进程(包括参数)。我之前没有使用过 DTrace,但认为它应该是微不足道的。环顾四周后,我发现了这个,它看起来和我想要的完全一样:
$ sudo dtrace -n 'proc:::exec-success { trace(curpsinfo->pr_psargs); }'
Run Code Online (Sandbox Code Playgroud)
只是,它不能正常工作。列出该命令的站点之一具有看起来很完美的示例输出,但是当我尝试在 OS X 上运行它时,我得到以下信息:
dtrace: description 'proc:::exec-success ' matched 2 probes
CPU ID FUNCTION:NAME
0 18616 posix_spawn:exec-success
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
0: 6d 64 77 6f 72 6b 65 72 00 73 6b 00 00 00 00 00 mdworker.sk.....
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …Run Code Online (Sandbox Code Playgroud) 如何使用户能够在 Mac OS X 上使用 dtrace。我正在尝试在 Linux 上执行与 strace 等效的操作,但我不喜欢以提升的权限运行应用程序。
更新
好吧,我能说的最好。防止恶意应用程序通过调试破坏系统的唯一方法是。
以便:
sudo dtruss sudo -u myusername potentially_harmful_app
Run Code Online (Sandbox Code Playgroud)
我用这个简短的程序验证了这一点:
#include <iostream>
#include <unistd.h>
int main()
{
std::cout << "effective euid " << geteuid() << "\n";
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此讨论:
我想了解如何在 Solaris 上跟踪(显示)文件访问。我已经找到了dtrace 工具包,希望voptrace能满足要求。我运行它,voptrace -t /my/path如果我ls或cat该路径下的文件不产生任何输出。我看错工具了吗?有人可以建议另一个人找到解决方案吗?
更新
@bahamat
好的,它给出了这样的错误消息:
dtrace: error on enabled probe ID 3 (ID 126: syscall::openat:entry): invalid address (0xffd19652) in predicate at DIF offset 28
重定向 stderr 后,它似乎实际上与我想要的非常接近。