1
huntagain2008 2023-08-16 10:01:56 +08:00
小白将这个问题输入到 poe.com 的 GPT-4 得到 strace 的用法,最后两段指出需要你自己分析过滤输出。推荐 sysdig 工具。由于 GPT-4 没有回答次数,我再次询问 Claude-2-100k ,得到 sysdig 的用法介绍,但是是否符合要求,就不清楚了。
对追踪 docker 服务端进程的系统调用,可以使用 sysdig 工具来实现。具体步骤如下: 1. 安装 sysdig 工具。在 Linux 系统上通常可以通过包管理器安装,如 apt-get install sysdig 。 2. 运行 docker 命令,例如:docker run -itd alpine 。记下这个容器的容器 ID 。 3. 使用 sysdig 的 filter 功能指定追踪的进程。例如追踪 dockerd 进程: sysdig -p "%container.id" proc.name=dockerd 4. 同时可以添加过滤条件,只追踪与特定容器 ID 相关的系统调用: sysdig -p "%container.id" proc.name=dockerd and container.id=<容器 ID> 5. 也可以追踪其他进程,如 containerd: sysdig -p "%container.id" proc.name=containerd and container.id=<容器 ID> 6. 查看输出,可以看到执行 docker 命令后,docker 服务端进程的系统调用信息,包括参数、返回值等。 7. 通过添加各种 filter,可以非常精确地追踪到所需的系统调用信息。 这样就可以使用 sysdig 有选择性地追踪 docker 服务端进程的系统调用,分析 docker 执行流程和性能问题。 |
2
julyclyde 2023-08-17 13:19:50 +08:00
你的 strace 需要挂在 dockerd 主进程上,并-f
|