Diagnoses and prevents vbar_control_agent segfaults, out-of-memory (OOM) errors, and TPU device initialization failures on TPU v6e nodes in GKE caused by race c
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-gke-ai-troubleshooting-tpu-vbar-oom-2e9780b85284 ,按照其中的说明把「gke-ai-troubleshooting-tpu-vbar-oom」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Use this skill to systematically diagnose and prevent vbar_control_agent
segfaults and Out-Of-Memory (OOM) errors on TPU v6e nodes.
gcloud or equivalent tool.Independently gather required context using available GCP/GKE tools or use the
provided {variable} placeholders:
{project_id}: The GCP Project ID (e.g., customer-ai-project-123).{cluster_name}: The GKE Cluster Name (e.g., tpu-cluster-prod).{node_name}: The Node Name or Instance ID (e.g., tpu-node-1).{workload_name}: The Workload Name / JobSet Name (e.g.,
my-training-job-456).{namespace}: The Workload Namespace.{issue_time}: The timestamp of the issue (e.g., 2026-04-14T20:00:00Z).{issue_time} is provided,
calculate the query time window as [{issue_time} - 30m] to
[{issue_time} + 30m].
{start_time} = {issue_time} - 30m{end_time} = {issue_time} + 30mvbar_control_agent OOMsLook for specific out of memory messages from vbar_control_agent in serial
console logs (serialconsole.googleapis.com%2fserial_port_1_output).
query_logs (for live diagnostics)Serial Console Logs (OOMs):
logName="projects/{project_id}/logs/serialconsole.googleapis.com%2fserial_port_1_output"
AND labels."compute.googleapis.com/resource_name"="{node_name}"
AND SEARCH(text_payload, "Memory cgroup out of memory: Killed process .* (vbar_control_ag)")
AND timestamp >= "{start_time}"
AND timestamp <= "{end_time}"
Memory cgroup out of memory messages related to
vbar_control_agent. Stack traces pointing to
libtpu::tpunetd::VBARControlHelper::MetricsReadFromVBAR are a strong
indicator.references/failure_signatures.md for example log
patterns.tpu-device-plugin Metrics Fetch Failures [Low Risk]Check if tpu-device-plugin is reporting metric fetch failures.
query_logsresource.type="k8s_container"
AND resource.labels.project_id="{project_id}"
AND resource.labels.cluster_name="{cluster_name}"
AND resource.labels.container_name="tpu-device-plugin"
AND severity=ERROR
AND textPayload:"metrics fetch failed for .* deviceID and .* device path with error: checksum didn't match with the metrics data. Corrupt data found"
AND timestamp >= "{start_time}"
AND timestamp <= "{end_time}"
Inspect cluster configurations, workloads, or container specs to determine if custom TPU metrics collection mechanisms are deployed.
Action: Check if custom scripts or agents (e.g., using
libtpu.sdk.tpumonitoring) are deployed that frequently query
GetHostMetrics from vBAR Control Agent.
Verification Commands:
kubectl get pods -A -o jsonpath='{range .items[*]}{.metadata.namespace}{"/"}{.metadata.name}{"\t"}{.spec.containers[*].image}{"\n"}{end}'
query_logs):resource.type="k8s_container"
AND resource.labels.project_id="{project_id}"
AND resource.labels.cluster_name="{cluster_name}"
AND textPayload:"libtpu.sdk.tpumonitoring"
AND timestamp >= "{start_time}"
AND timestamp <= "{end_time}"
Logic: Confirmation of custom metrics collection helps confirm the race condition hypothesis.
If a custom metrics collection agent is identified, recommend disabling it.
vbar_control_agent Resiliency Update [Low Risk]Advise that a permanent fix will be available in a future GKE version.
[{start_time}, {end_time}] window.vbar_control_agent segfaults and OOMs using query_logs.tpu-device-plugin failures using query_logs.