<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Troubleshooting on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/troubleshooting/</link><description>Recent content in Troubleshooting on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Tue, 02 Sep 2025 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/troubleshooting/atom.xml" rel="self" type="application/rss+xml"/><item><title>How to Upgrade the cgroup Version of a Kubernetes Node</title><link>https://www.chenshaowen.com/en/blog/how-upgrade-kubernetes-node-cgroup-version.html</link><pubDate>Tue, 02 Sep 2025 00:00:00 +0000</pubDate><atom:modified>Tue, 02 Sep 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-upgrade-kubernetes-node-cgroup-version.html</guid><description>1. Interface Path Differences Between cgroup v1 and v2 v1 1 2 3 4 /sys/fs/cgroup/cpu/cpu.cfs_quota_us /sys/fs/cgroup/cpu/cpuacct.usage /sys/fs/cgroup/memory/memory.limit_in_bytes /sys/fs/cgroup/memory/memory.usage_in_bytes v2 1 2 3 4 /sys/fs/cgroup/cpu.max /sys/fs/cgroup/cpu.stat /sys/fs/cgroup/memory.max /sys/fs/cgroup/memory.current cgroup v2 is the upgraded version of v1, with advantages such as more unified resource hierarchy management and precise resource isolation. But it also means that when writing code, the paths for reading the relevant interface files are different, so compatibility handling is required.</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Upgrade</category><category>Operations</category><category>cgroup</category><category>Learning</category><category>Nodes</category><category>Resource Isolation</category><category>Troubleshooting</category><category>Kubelet</category></item><item><title>NVIDIA DCGM User Guide</title><link>https://www.chenshaowen.com/en/blog/the-use-guide-of-nvidia-dcgm.html</link><pubDate>Wed, 13 Aug 2025 00:00:00 +0000</pubDate><atom:modified>Wed, 13 Aug 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-use-guide-of-nvidia-dcgm.html</guid><description>1. What DCGM Is DCGM (Data Center GPU Manager) is a toolset NVIDIA provides for managing and monitoring GPUs in the data center. It offers the following capabilities: GPU behavior monitoring GPU configuration management GPU policy supervision GPU health and diagnostics GPU accounting and process statistics NVSwitch configuration and monitoring</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>NVIDIA</category><category>DCGM</category><category>GPU</category><category>Monitoring</category><category>Operations</category><category>Troubleshooting</category></item><item><title>Ascend DMI Tool Usage Guide</title><link>https://www.chenshaowen.com/en/blog/ascend-dmi-tool-usage-guide.html</link><pubDate>Tue, 17 Jun 2025 00:00:00 +0000</pubDate><atom:modified>Tue, 17 Jun 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/ascend-dmi-tool-usage-guide.html</guid><description>1. Installing Dependencies MindCluster ToolBox is a system-level toolset for cluster operations and hardware management, mainly used for operations such as device monitoring, performance testing, and log collection.
MindCluster ToolBox includes the Ascend DMI tool, the log collection tool, and the Ascend Cert tool.
MindCluster ToolBox works by calling low-level DCMI (Device Control Management Interface) and AscendCL (Ascend Computing Language) interfaces to perform the relevant detection functions; system-level information queries are implemented by calling the general-purpose libraries provided by the system.</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>DMI</category><category>Ascend</category><category>Huawei</category><category>NPU</category><category>Troubleshooting</category><category>Performance Testing</category></item><item><title>Why top node, free, and Grafana Numbers Don't Line Up</title><link>https://www.chenshaowen.com/en/blog/why-top-node-free-grafana-data-not-match.html</link><pubDate>Fri, 26 Jul 2024 01:00:00 +0000</pubDate><atom:modified>Fri, 26 Jul 2024 01:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/why-top-node-free-grafana-data-not-match.html</guid><description>1. top Shows Node Resource Usage Above 100% 1 2 3 4 5 6 kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% master-1 995m 16% 13760Mi 118% master-2 827m 13% 10672Mi 92% master-3 889m 14% 10244Mi 88% This is because usage is computed against allocatable resources by default, which excludes the portion reserved by Kubelet.</description><dc:creator>微信公众号</dc:creator><category>Monitoring</category><category>Memory</category><category>Kubernetes</category><category>Grafana</category><category>Operations</category><category>Troubleshooting</category></item><item><title>Common GPU Operations and Fault Handling</title><link>https://www.chenshaowen.com/en/blog/common-gpu-operation-and-fault-handling.html</link><pubDate>Mon, 18 Mar 2024 00:00:00 +0000</pubDate><atom:modified>Mon, 18 Mar 2024 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/common-gpu-operation-and-fault-handling.html</guid><description>Content referenced or recorded while handling faults, continuously updated.
1. XID Error Events XID is NVIDIA&amp;rsquo;s error code. You can retrieve it with the command:
1 dmesg -T | grep -i &amp;#34;NVRM: Xid&amp;#34; or
1 journalctl --since `date -d &amp;#34;10 days ago&amp;#34; &amp;#34;+%Y-%m-%d&amp;#34;`|grep Xid The XID lets you locate the fault.</description><dc:creator>微信公众号</dc:creator><category>GPU</category><category>NVIDIA</category><category>AI</category><category>Hardware</category><category>Operations</category><category>Troubleshooting</category></item><item><title>Pod Health Checks Drained /run Storage Space and Nearly Sent Me Packing</title><link>https://www.chenshaowen.com/en/blog/health-check-runs-out-of-root-run-storage.html</link><pubDate>Tue, 23 Jan 2024 00:00:00 +0000</pubDate><atom:modified>Tue, 23 Jan 2024 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/health-check-runs-out-of-root-run-storage.html</guid><description>If you use nvidia-container-runtime, this is worth your attention — especially if JuiceFS is also in the picture. 1. An Alert Out of Nowhere, and I Panicked Over the weekend I was studying TensorRT LLM, and while I was at it I installed Dragonfly on the largest production cluster. Then</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>NVIDIA</category><category>JuiceFS</category><category>Experience</category><category>Troubleshooting</category><category>Operations</category></item><item><title>From CPU to Network: A Record of Troubleshooting Application Slowness</title><link>https://www.chenshaowen.com/en/blog/record-a-troubleshooting-process-for-application-slowness.html</link><pubDate>Wed, 08 Nov 2023 00:00:00 +0000</pubDate><atom:modified>Wed, 08 Nov 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/record-a-troubleshooting-process-for-application-slowness.html</guid><description>1. Symptoms The business side reported that the API of application app-a was slow. Looking at the logs, one particular Pod was slow, and deleting that Pod so it moved to another node fixed it.
From the monitoring metrics you can see that the Pod&amp;rsquo;s CPU usage did indeed spike sharply.</description><dc:creator>微信公众号</dc:creator><category>CPU</category><category>Network</category><category>Application</category><category>Troubleshooting</category><category>Kubernetes</category><category>Operations</category></item><item><title>The Scope of Credentials During Pipeline Builds</title><link>https://www.chenshaowen.com/en/blog/the-scope-of-credential-in-building.html</link><pubDate>Thu, 06 Jul 2023 00:00:00 +0000</pubDate><atom:modified>Thu, 06 Jul 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-scope-of-credential-in-building.html</guid><description>In the client, we have already seen the Docker CLI passing credentials to the Docker Daemon via X-Registry-Config when sending the build context. But recent build feedback still shows some phenomena that cannot be explained. This post mainly runs some basic tests to make troubleshooting easier.
1. Building under host Docker The Docker Daemon is started with root privileges.</description><dc:creator>微信公众号</dc:creator><category>CICD</category><category>DevOps</category><category>Docker</category><category>Credentials</category><category>Kubernetes</category><category>Operations</category><category>Troubleshooting</category></item><item><title>Troubleshooting Slow IO When Building Images</title><link>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</link><pubDate>Thu, 02 Feb 2023 00:00:00 +0000</pubDate><atom:modified>Thu, 02 Feb 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/troubleshoot-slow-io-when-building-dockerfile.html</guid><description>1. The Problem Project details:
File size 5.6 GB File count 529352 Dockerfile
1 2 3 FROM golang:1.13 COPY ./ /go/src/code The build command and its output are as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 time DOCKER_BUILDKIT=1 docker build --no-cache -t test:v3 -f Dockerfile .</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>CICD</category><category>Build</category><category>Troubleshooting</category><category>Operations</category></item><item><title>How to Repair a Kubernetes Master Node After Reinstalling the OS</title><link>https://www.chenshaowen.com/en/blog/how-to-repair-k8s-master-after-reinstalling-os.html</link><pubDate>Tue, 17 Jan 2023 00:00:00 +0000</pubDate><atom:modified>Tue, 17 Jan 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-repair-k8s-master-after-reinstalling-os.html</guid><description>Recently I ran into this twice: a host had to be reinstalled because of a failure. In one case only a single Etcd node was left, and the whole cluster stayed down for half an hour before it recovered. This post mainly records the process of initializing a fresh Ubuntu</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Repair</category><category>Operations</category><category>Etcd</category><category>Troubleshooting</category><category>Cluster</category><category>Kubekey</category><category>Learning</category></item><item><title>Kubernetes Cluster Troubleshooting</title><link>https://www.chenshaowen.com/en/blog/kubernetes-cluster-troubleshooting.html</link><pubDate>Tue, 01 Nov 2022 01:00:00 +0000</pubDate><atom:modified>Tue, 01 Nov 2022 01:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/kubernetes-cluster-troubleshooting.html</guid><description>FailedCreatePodSandBox Error Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:402: getting the final child's pid from pipe caused: EOF: unknown Resolution Clear the cache 1 echo 3 &amp;gt; /proc/sys/vm/drop_caches Cause Too much memory fragmentation calico-node Keeps Restarting increase max user Error runtime: failed to</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Cluster</category><category>Troubleshooting</category><category>Operations</category><category>Learning</category><category>Fault Diagnosis</category><category>Pod</category><category>Best Practices</category><category>Problem Localization</category></item><item><title>How to Repair a Kubernetes Cluster After Changing IPs</title><link>https://www.chenshaowen.com/en/blog/how-to-repair-the-kubernetes-cluster-after-changing-ip.html</link><pubDate>Tue, 25 Oct 2022 00:00:00 +0000</pubDate><atom:modified>Tue, 25 Oct 2022 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-repair-the-kubernetes-cluster-after-changing-ip.html</guid><description>A record of repairing a cluster failure caused by an IP change. There are two clusters: one single-node (allinone) cluster, and one four-node cluster (3 masters, 1 node). 1. Update the Etcd Certificates [On every Etcd node] Back up the Etcd certificates 1 cp -R /etc/ssl/etcd/ssl /etc/ssl/etcd/ssl-bak View the domains</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Operations</category><category>Repair</category><category>Troubleshooting</category><category>Learning</category><category>Etcd</category><category>Certificates</category><category>Cluster</category><category>Network</category></item><item><title>Traffic Restriction Using Linux TC</title><link>https://www.chenshaowen.com/en/blog/traffic-restriction-using-linux-tc.html</link><pubDate>Sat, 20 Aug 2022 00:00:00 +0000</pubDate><atom:modified>Sat, 20 Aug 2022 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/traffic-restriction-using-linux-tc.html</guid><description>1. Traffic Control Principles Under Linux By queuing packets, we can control how data packets are sent. This kind of control is called data shaping (shape the data), and it includes the following operations on data:
Adding latency Dropping packets Reordering Duplicating, corrupting Rate control Under the qdisc-class-filter structure, controlling traffic requires three steps:</description><dc:creator>微信公众号</dc:creator><category>Linux</category><category>TC</category><category>Traffic Control</category><category>Operations</category><category>Network</category><category>Learning</category><category>Rate Limiting</category><category>Troubleshooting</category></item><item><title>Adding SSH Key Login and Troubleshooting</title><link>https://www.chenshaowen.com/en/blog/add-ssh-key-login-os-and-troubleshooting.html</link><pubDate>Thu, 10 Mar 2022 00:00:00 +0000</pubDate><atom:modified>Thu, 10 Mar 2022 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/add-ssh-key-login-os-and-troubleshooting.html</guid><description>1. Steps to Add a Key 1.1 Generate an SSH Key on the Client There are two key formats:
Old format, the private key begins with -----BEGIN RSA PRIVATE KEY----- 1 ssh-keygen -m PEM -t rsa -b 4096 -C &amp;#34;mail@chenshaowen.com&amp;#34; New format, the private key begins with -----BEGIN OPENSSH PRIVATE KEY----- 1 ssh-keygen -t rsa -b 4096 -C &amp;#34;mail@chenshaowen.</description><dc:creator>微信公众号</dc:creator><category>SSH</category><category>Operations</category><category>Configuration</category><category>Security</category><category>Troubleshooting</category></item><item><title>Common Commands for Cleaning Up Kubernetes Cluster Resources</title><link>https://www.chenshaowen.com/en/blog/common-commands-for-cleaning-up-kubernetes-cluster-resources.html</link><pubDate>Wed, 08 Dec 2021 00:00:00 +0000</pubDate><atom:modified>Wed, 08 Dec 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/common-commands-for-cleaning-up-kubernetes-cluster-resources.html</guid><description>Clusters that run for a long time often face various kinds of resource exhaustion. On top of that, when disk space runs low, Kubelet will proactively clean up images on its own, adding another source of uncertainty. This article provides some command snippets for cleanup work.
1. Cleaning Up Basic Kubernetes Objects Clean up Pods in Evicted state 1 sudo kubectl get pods --all-namespaces -o wide | grep Evicted | awk &amp;#39;{print $1,$2}&amp;#39; | sudo xargs -L1 kubectl delete pod -n Clean up Pods in Error state 1 sudo kubectl get pods --all-namespaces -o wide | grep Error | awk &amp;#39;{print $1,$2}&amp;#39; | sudo xargs -L1 kubectl delete pod -n Clean up Pods in Completed state 1 sudo kubectl get pods --all-namespaces -o wide | grep Completed | awk &amp;#39;{print $1,$2}&amp;#39; | sudo xargs -L1 kubectl delete pod -n Clean up unused PVs 1 sudo kubectl describe -A pvc | grep -E &amp;#34;^Name:.</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Practice</category><category>Cleanup</category><category>Operations</category><category>Learning</category><category>kubectl</category><category>Troubleshooting</category><category>Resource Management</category></item><item><title>Run `rm -rf /` Under Kubernetes and You Can Just Run Away</title><link>https://www.chenshaowen.com/en/blog/attack-vectors-under-kubernetes.html</link><pubDate>Fri, 22 Jan 2021 00:00:00 +0000</pubDate><atom:modified>Fri, 22 Jan 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/attack-vectors-under-kubernetes.html</guid><description>This document is mainly meant to demonstrate the dangers of Docker privileged mode, so please proceed with caution. Users without CLI access can copy the example YAML and directly create cluster workloads such as Pod, Job, and DaemonSet to carry out the operations.
1. Directly Deleting All Resources If you can log in to the machine, pack your things, and run the command:</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Security</category><category>Attack Vectors</category><category>Operations</category><category>Docker</category><category>Troubleshooting</category></item><item><title>How to Bypass DockerHub Image Pull Limits</title><link>https://www.chenshaowen.com/en/blog/how-to-cross-the-limit-of-dockerhub.html</link><pubDate>Wed, 09 Dec 2020 00:00:00 +0000</pubDate><atom:modified>Wed, 09 Dec 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-cross-the-limit-of-dockerhub.html</guid><description>1. DockerHub Limits In the end, there is no getting around this error:
1 Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit Starting November 2, 2020, DockerHub officially began limiting the pull rate for non-paying users:</description><dc:creator>微信公众号</dc:creator><category>Docker</category><category>Images</category><category>DockerHub</category><category>Operations</category><category>Troubleshooting</category><category>Rate Limiting</category><category>Proxy</category></item><item><title>Analyzing the Lightweight Checkout Problem in Jenkins</title><link>https://www.chenshaowen.com/en/blog/the-question-of-lightweight-checkout-in-jenkins.html</link><pubDate>Mon, 22 Jun 2020 00:00:00 +0000</pubDate><atom:modified>Mon, 22 Jun 2020 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/the-question-of-lightweight-checkout-in-jenkins.html</guid><description>1. What Problem We Hit A Jenkins build log threw an error:
1 2 3 4 5 6 Started by user admin Lightweight checkout support not available, falling back to full checkout. Checking out git https://github.com/shaowenchen/pipeline-test.git into /var/jenkins_home/workspace/abc@script to read Jenkinsfile ... ... Unable to access &amp;#39;.git/index.lock&amp;#39;: File exists. Cause analysis:</description><dc:creator>微信公众号</dc:creator><category>Jenkins</category><category>Git</category><category>DevOps</category><category>Troubleshooting</category></item><item><title>Troubleshooting and Resolving Celery Failures on Large Files</title><link>https://www.chenshaowen.com/en/blog/solving-the-problem-of-celery-processe-large-file-failure.html</link><pubDate>Wed, 24 Oct 2018 00:00:00 +0000</pubDate><atom:modified>Wed, 24 Oct 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/solving-the-problem-of-celery-processe-large-file-failure.html</guid><description>1. A Small Requirement We run into small requirements all the time, but they are not always simple to implement. Here is a simple file upload requirement, broken into the following steps: The user uploads a large file on the page The large file is temporarily stored in the internal</description><dc:creator>微信公众号</dc:creator><category>Celery</category><category>Python</category><category>Django</category><category>Failure</category><category>Troubleshooting</category><category>Large Files</category><category>R&amp;D</category></item></channel></rss>