在 CentOS 上执行 cpustat 卡住(无响应 / 长时间不输出),通常不是命令本身有问题,而是运行环境或系统状态异常。下面按常见原因给你梳理一下。
cpustat 是什么?cpustat 一般来自 sysstat 包(或某些第三方工具),用于:
/proc/stat正常情况下是非阻塞、轻量级的。
cpustat 卡住的原因/proc 文件系统异常(非常常见)如果 /proc 挂载异常或被“卡住”:
cat /proc/stat
也会卡。
可能原因:
✅ 验证:
ls /proc
cat /proc/loadavg
当系统:
cpustat 可能因为调度延迟看起来像“卡住”。
✅ 检查:
top
vmstat 1
iostat -x 1
在 Docker / Kubernetes 中:
/proc 文件不可读✅ 表现:
cpustat 启动后无输出strace cpustat 卡在 open("/proc/stat")-p 或 -c 参数但 CPU 核数异常例如:
cpustat -p ALL
在:
可能导致枚举 CPU 时卡死。
如果你是通过:
而底层 I/O 很慢,cpustat 看起来像卡住。
某些旧版本:
存在 cpustat 死循环问题。
✅ 检查版本:
rpm -qa | grep sysstat
uname -a
# 1. 看是否系统整体卡
top
# 2. 看 proc 是否卡
cat /proc/stat
# 3. 看 cpustat 卡在哪
strace -f cpustat 1 1
# 4. 看是不是容器
cat /proc/1/cgroup
# 5. 看负载
uptime
vmstat 1
如果 cpustat 不可用,可以替代:
top
mpstat 1
sar -u 1
cat /proc/stat
你可以补充:
cpustat 具体命令和参数strace cpustat 卡在哪一行我可以直接告诉你是哪一环卡住,以及怎么修。