我在 CentOS 7 上运行 Kubernetes,似乎该版本不perf支持命名空间。
如果在主机节点(使用 找到的主机节点kubectl describe pods --namespace)上的 PID 上运行 perf,我会收到有关未找到符号的错误。这似乎是因为它在主机节点的文件系统上查找相对于容器的文件路径。
如果我将 exe(包含符号的 Go exe)复制到主机节点上的预期路径(使用kubectl cp ...,或通过在 中的 override2 下查找文件/var/lib/docker),则perf top -p <pid>可以从主机主机节点工作,因为它可以找到与匹配容器中的exe。
是否有更好/更干净的方法来运行perf在具有 CentOS 7 主机的容器中运行的进程?
参考: