Skip to content

Bad %cpu_usage reported by i3 status #536

Open
@liar666

Description

@liar666

Welcome

  • Yes, I'm using the latest major release or the current development version. These are the only supported versions.
  • Yes, I've searched similar issues and discussions on GitHub and didn't find any.

Current Behavior

Using i3 4.23 & i3status 2.14-non-git
In my config, I display cpu_usage
As shown in picture, even when CPU usage is very High (184%+), reported value by i3 status is very low (13%):
BugI3CPU

Expected Behavior

Percentage of cpu reported by i3status and other system tools (top, ps, etc.) should be the same.

Reproduction Instructions

  • Use a (Intel) 16 core machine
  • Configure i3status to display cpu_usage
  • Run high cpu usage command (aarch64 VM in my case)
  • Display cpu usage in standard linux tool (e.g. top)
  • Observe that i3status reported value is incorrect

i3 version

Binary i3 version:  4.23 (2023-10-29) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.23 (2023-10-29) (pid 3187)
Loaded i3 config:
  /home/guillaume.muller/.config/i3/config (main) (last modified: Fri Aug  2 14:01:42 2024, 4563044 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3

Config file

general {
    output_format = "i3bar"
    markup = pango
    interval = 1
    colors = false
    # color_good = "#0000FF"
    # color_degraded = "#00FF00"
    # color_bad = "#FF0000"
}

order += "cpu_usage"
order += "load"
order += "cpu_temperature 0"
order += "memory"
order += "disk /"
order += "disk /home"
order += "ethernet _first_"
order += "wireless _first_"
#order += "volume master"
order += "battery 0"
order += "tztime local"


tztime local {
        format = "<span background='#4c566a' color='#d8dee9'><b>🗓 %a %d %b %H:%M:%S</b></span>" #  🗒 📅
}

cpu_usage {
        format = "<span background='#4c566a' color='#d8dee9'> 󰻠 %usage <span color='#81a1c1'></span></span>" #  🖥 💻 🖥 🧠 %cpu0 %cpu1 %cpu2 %cpu3
        max_threshold = 75
}

load {
        format = "<span background='#4c566a' color='#d8dee9'> %1min <span color='#81a1c1'></span></span>" #  🖥 💻 🖥 🧠 %cpu0 %cpu1 %cpu2 %cpu3
        max_threshold = 75
}

cpu_temperature 0 {
        format = "<span background='#4c566a' color='#d8dee9'>  %degrees °C </span>"
        path = "/sys/class/thermal/thermal_zone8/temp"
        max_threshold = 75
}

memory {
        format = "<span background='#4c566a' color='#d8dee9'>  %percentage_free </span> " #   📒 %available (%used) / %total
}

disk "/" {
        format = "<span background='#4c566a' color='#d8dee9'> 󰋊 / %avail (%percentage_avail) </span>"  # 󰉉󰧯  󰋊󱁋  🖴 %availaible = for user / %free = for system
        format_below_threshold = "<span background='#4c566a' color='#ff0000'> 󰋊 / %avail (%percentage_avail) </span>"
        low_threshold = 10
        threshold_type = percentage_free
        prefix_type = binary # binary / decimal / custom
}

disk "/home" {
        format = "<span background='#4c566a' color='#d8dee9'> 󰋊 /h %avail (%percentage_avail) </span>" # 💾 🖴 %availaible = for user / %free = for system
        format_below_threshold = "<span background='#4c566a' color='#ff0000'> 󰋊 /h %avail (%percentage_avail) </span>"
        low_threshold = 10
        threshold_type = percentage_free
        prefix_type = binary # binary / decimal / custom
}

ethernet _first_ {
        format_up = "<span background='#4c566a'>󰈁 <span color='#d8dee9'>%ip</span></span>" # 󰈀󰈁󰈂  🖧 🕸 🔀
        format_down = "<span background='#4c566a'>󰈂 </span>" # <span color='#Fe515c'> 🞪 </span> ❌ 🖧 🕸 🔀
}

# OLD wireless _first_ {
#         format_up = "<span background='#4c566a'> <span color='#d8dee9'> %essid (%quality) </span></span>" # %ip
#         format_down = "<span background='#4c566a'> <span color='#5e81ac'> ❌ </span></span>"
# }

wireless _first_ {
        format_up = "<span background='#4c566a'>󰤨 <span color='#d8dee9'>%ip</span></span> <span background='#4c566a' color='#d8dee9'>REPLACE_ETH_SPEED</span>" #   󰖩󰖪󱛅󱚼󰤨󰤭󰤯󰤮 Will be replaced by external ~/.config/i4status/network_load.sh script
        format_down = "<span background='#4c566a'>󰤮 </span> <span color='#d8dee9' background='#4c566a'>REPLACE_ETH_SPEED</span>" #  <span color='#5e81ac'> 🞪 </span> ❌  🕸 🔀
}

# volume master {
#         format = "<span background='#4c566a' color='#d8dee9'> 🔊 %volume </span>"
#         format_muted = "<span background='#4c566a' color='#5e81ac'> 🔇 Muted </span>"
#         device = "default"
#         mixer = "Master"
#         mixer_idx = 0
# }

# battery 0 {
#         last_full_capacity = true
#         format = "<span background='#4c566a' color='#d8dee9'>%status %percentage </span>" # %remaining 
#         path = "/sys/class/power_supply/BAT%d/uevent"
#         format_down = "<span color='#bf616a'> 󱉝</span>"   # 🕸  ↯⌁ 🔋  󱉝󱉞
#         status_chr  = "<span color='#81a1c1'> 󱟦</span>"   #  ⬆ 🔺 ⏚ ⚡ 󱟠󱟞 󱟡󱟟  󱟦󱟤  󰁺󰁼󰁾󰁿󰂁
#         status_bat  = "<span color='#d08770'> 󱟤</span>"   #  ⬇ 🔻
#         status_unk  = "<span color='#bf616a'> 󰂑</span>"   #  󰂑
#         status_full = "<span color='#a3be8c'> 󰁹</span>"    # ☻  󱊣󱟢 󰁹
#         low_threshold = 10
#         threshold_type = percentage
#         integer_battery_capacity = true
#         hide_seconds = true
# }

battery 0 {
        format = "<span background='#4c566a'>%status %percentage</span>" # %remaining 
        path = "/sys/class/power_supply/BAT%d/uevent"
        format_down = "󱉝"   # 🕸  ↯⌁ 🔋  󱉝󱉞
        # color='#bf616a'
        status_chr  = "󱟦"   #  ⬆ 🔺 ⏚ ⚡ 󱟠󱟞 󱟡󱟟  󱟦󱟤  󰁺󰁼󰁾󰁿󰂁
        # color='#81a1c1'
        status_bat  = "󱟤"   #  ⬇ 🔻
        # color='#d08770'
        status_unk  = "󰂑" #  󰂑
        #  color='#bf616a'
        status_full = '󰁹'    # ☻  󱊣󱟢 󰁹
        #color_full = '#a3be8c'
        last_full_capacity = true
        low_threshold = 10
        threshold_type = percentage
        hide_seconds = true
        integer_battery_capacity = true
}

Linux distribution & Version

Mint 22

Are you using a compositor?

I don't know

Logfile

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions