开发者社区 > 云原生 > 中间件 > 正文

ChaosBlade中请问这里是缺了什么字段呢?

"ChaosBlade中time=""2023-12-10 20:14:31.418943035 CST"" level=fatal msg=""get cpu usage fail, \""/sys/fs/cgroup/cpuacct/docker/ee51e966a91e92260cfe7766f2d92068813e0a9089408841e1cd2d4b9cfef376/cpuacct.stat\"" is expected to have 4 fields"" location=""/go/src/github.com/chaosblade-io/chaosblade/target/cache/chaosblade-exec-os/exec/cpu/cpu_linux.go:55"" uid=e79c50fa5914cc67
cpuacct.stat的文件内容如下 请问是缺了什么字段呢
user 11059135
system 8694869
nr_migrations 1138652721"

展开
收起
小易01 2023-12-12 23:45:36 80 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    根据提供的信息,cpuacct.stat文件的内容缺少了两个字段:

    1. pid: 进程ID
    2. usage: CPU使用率

    因此,需要将这两个字段添加到cpuacct.stat文件中。

    2023-12-13 14:24:44
    赞同 展开评论 打赏
  • 从你的描述来看,cpuacct.stat 文件中缺少了 ChaosBlade 在获取 CPU 使用率时期望的字段。根据你的文件内容,该文件包含了以下三个字段:

    1. user
    2. system
    3. nr_migrations

    然而,ChaosBlade 期望这个文件有四个字段。通常情况下,cpuacct.stat 文件应包含以下四个字段:

    1. user
    2. system
    3. nice
    4. idle

    其中 usersystem 字段分别表示用户态和内核态的 CPU 使用时间,而 niceidle 分别表示 nice(优先级)进程的 CPU 使用时间和空闲 CPU 时间。

    由于你的文件中缺少了 niceidle 字段,ChaosBlade 在尝试读取这些值时失败了,并抛出了一个错误。

    我建议你检查以下几个方面:

    1. 确认你的 cgroup 配置是否正确,特别是与 cpuacct 相关的部分。
    2. 检查是否有其他软件或工具修改了 cpuacct.stat 文件的内容。
    3. 如果可能的话,升级 ChaosBlade 到最新版本,看看问题是否依然存在。
    2023-12-13 10:15:11
    赞同 1 展开评论 打赏
问答分类:
问答地址:

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载