Somehow while setting up conky, Manjaro rebooted?

I installed conky wanting to feed it parsed terminal commands… and downloaded an existing conky config to use as my baseline to learn from and build upon… saving it as ~/.conkyrc and confirming it loaded when I launched conky.

In preparation to update ~/.congyrc, I put the following terminal commands together:

  1. CPU TEMP: sensors | grep '^Tdie' | awk '{print $2}'
  2. GPU Load: radeontop -d- -l1 | awk '/a/ {print $5}' | sed '$s/,$//'
  3. GPU Power: sensors | grep '^power1' | awk '{print $2, $3}' & sensors | grep '^power1' | awk '{print $6,$7}' | sed '$s/)$//'
  4. GPU Fan: sensors | grep '^fan1' | awk '{print $2, $3}'
  5. GPU Shader Freq: radeontop -d- -l1 | awk '/a/ {print $37}' | sed '$s/,$//' & radeontop -d- -l1 | awk '/a/ {print $36}' | sed '$s/,$//'
  6. GPU Memory Load: radeontop -d- -l1 | awk '/a/ {print $28}' | sed '$s/,$//' & radeontop -d- -l1 | awk '/a/ {print $27}' | sed '$s/,$//'
  7. GPU Memory Freq: radeontop -d- -l1 | awk '/a/ {print $34}' | sed '$s/,$//' & radeontop -d- -l1 | awk '/a/ {print $33}' | sed '$s/,$//'
  8. GPU Temperature: sensors | grep '^edge' | awk '{print $2}'
Here is the last `.conkyrc` file save I completed before the system rebooted...
conky.config ={
  background = true,
  update_interval = 1,
  total_run_times = 0,

  cpu_avg_samples = 2,
  net_avg_samples = 2,

  override_utf8_locale = true,

  double_buffer = true,
  no_buffers = true,

  text_buffer_size = 32768,

  own_window = true,
  own_window_argb_value = 192,
  own_window_argb_visual = true,
  own_window_class = 'conky-semi',
  own_window_colour = '#0b0d18',
  own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
  --own_window_transparent = true,
  own_window_transparent = false,
  own_window_type = 'normal',
  --own_window_type = 'desktop',

  border_inner_margin = 6,
  border_width = 5,

  minimum_height = 1075,

  minimum_width = 290,
  maximum_width = 350,

  alignment = 'top_right',
  gap_x = 2730,
  gap_y = 14,

  draw_shades = false,
  draw_outline = true,
  draw_borders = false,
  draw_graph_borders = true,
  -- draw_graph_borders = false,

  use_xft = true,
  font = 'Montserrat Regular:size=10',
  xftalpha = 0.2,

  uppercase = false,

  -- Pad percentages to this many decimals (0 = no padding)
  pad_percents = 2,

  default_color = 'AAAAAA',
  default_shade_color = '333333',
  -- default_outline_color = '111111',
  default_outline_color = '010101',
  color1 = '999999',
  color2 = 'CCCCCC',
  color3 = 'EEEEEE',
  color4 = '444444',
  color5 = '555555',
  color6 = '666666',
  color7 = '3b71a1',

conky.text = [[
${alignc}${color1}${font Montserrat Bold:size=20}${time %H:%M:%S}${font}${color}${alignc}
${voffset -9}
${alignc}${font Montserrat Light:size=10}${time %A %d %B %Y}${font}${alignc}
${color6}${hr 2}${color}
${voffset -6}
${font Montserrat Light:size=8}${color1}SYSTEM:${color}${font} ${alignr}$sysname $nodename
${font Montserrat Light:size=8}${color1}UPTIME:${color}${font} ${alignr}$uptime_short
${font Montserrat Light:size=8}${color1}KERNEL:${color}${font} ${alignr}$kernel
${font :size=11}${color}CPU & CORES ${color}${hr 2}${color}
${voffset -15}
${font Montserrat Light:size=10}${color1}CPU:${color}${font} ${alignr}${color}AMD 5600x @ 3.70GHz
${voffset -15}
${font Montserrat Light:size=9}${color1}01 - 04:${color}${font} ${goto 100}${cpu cpu1}% ${goto 150}${cpu cpu2 }% ${goto 200}${cpu cpu3 }% ${goto 250}${cpu cpu4 }%
${font Montserrat Light:size=9}${color1}05 - 08:${color}${font} ${goto 100}${cpu cpu5}% ${goto 150}${cpu cpu6 }% ${goto 200}${cpu cpu7 }% ${goto 250}${cpu cpu8 }%
${font Montserrat Light:size=9}${color1}09 - 12:${color}${font} ${goto 100}${cpu cpu9}% ${goto 150}${cpu cpu10}% ${goto 200}${cpu cpu11}% ${goto 250}${cpu cpu12}%
${voffset -15}
${font Montserrat Light:size=10}${color1}CPU Freq.:${color}${font} ${alignr}${color}$freq_g ghz
${font Montserrat Light:size=9}${color1}CPU TEMP: $alignr ${color}${font} ${execi 1 sensors | grep '^Tdie' | awk '{print $2}'}
${voffset -10}
${font :size=11}${color}MEMORY ${color}${hr 2}${color}${voffset 2}
$font${color DimGray}RAM $alignc $mem / $memmax $alignr ${color 188f18}$memperc%
${color 188f18}$membar${voffset 1}
$font${color DimGray}SWAP $alignc $swap / $swapmax $alignr ${color 188f18}$swapperc%
${color Red}$swapbar
${voffset -10}
${font :size=11}${color}GPU ${color}${hr 2}${color}${voffset 2}
${font Montserrat Light:size=9}${color1}GPU Load: $alignr ${color}${font} ${execi 1 radeontop -d- -l1 | awk '/a/ {print $5}' | sed '$s/,$//'}
${font Montserrat Light:size=9}${color1}GPU Power: $alignr ${color}${font} ${execi 1 sensors | grep '^power1' | awk '{print $2, $3}'} / ${execi 10 sensors | grep '^power1' | awk '{print $6,$7}' | sed '$s/)$//'}
${font Montserrat Light:size=9}${color1}GPU Fan: $alignr ${color}${font} ${execi 1 sensors | grep '^fan1' | awk '{print $2, $3}'} / 3300 RPM
${font Montserrat Light:size=9}${color1}GPU Shader Freq.: $alignr ${color}${font} ${execi 1 radeontop -d- -l1 | awk '/a/ {print $37}' | sed '$s/,$//'} (${execi 10 radeontop -d- -l1 | awk '/a/ {print $36}' | sed '$s/,$//'})
${font Montserrat Light:size=9}${color1}Memory Load: $alignr ${color}${font} ${execi 1 radeontop -d- -l1 | awk '/a/ {print $28}' | sed '$s/,$//'} (${execi 10 radeontop -d- -l1 | awk '/a/ {print $27}' | sed '$s/,$//'})
${font Montserrat Light:size=9}${color1}Memory Freq.: $alignr ${color}${font} ${execi 1 radeontop -d- -l1 | awk '/a/ {print $34}' | sed '$s/,$//'} (${execi 10 radeontop -d- -l1 | awk '/a/ {print $33}' | sed '$s/,$//'})
${font Montserrat Light:size=9}${color1}Temperature: $alignr ${color}${font} ${execi 1 sensors | grep '^edge' | awk '{print $2}'}
${voffset -10}
${font :size=11}${color}NETWORK ${color}${hr 2}${color}
${voffset -15}
${font Montserrat Light:size=10}${color1}IP ADDRESS:${color}${font} ${alignr}${addr enp39s0}
${if_match "${addr enp39s0}"!="No Address"}${voffset 5}${font Montserrat Light:size=10}${font}Download ${alignr}${downspeedf enp39s0}k/s (${totaldown enp39s0})
${color3}${downspeedgraph enp39s0 30,300 ADFF2F 32CD32 -t}${color}${font}
${font Montserrat Light:size=10}${font}Upload ${alignr}${upspeedf enp39s0}k/s (${totalup enp39s0})
${color3}${upspeedgraph enp39s0 30,300 FF0000 8B0000 -t}${color}${font}
${voffset -30}
${font :size=11}${color}HDD ${color}${hr 2}${color}
${color1}Used: ${color3}${fs_used /}${color1}${goto 200}Free:${goto 250}${color3}${fs_free /}
${color2}${fs_bar /}
${font Montserrat Light:size=8}${color1}DISK I/O:${color}${font} ${alignr}$diskio
${voffset 2}${font Montserrat Light:size=8}${color1}READ: ${color}${font} ${goto 80}${color4}${diskiograph_read / 15,210 ADFF2F 32CD32 750}${color}
${voffset 2}${font Montserrat Light:size=8}${color1}WRITE:${color}${font} ${goto 80}${color4}${diskiograph_write / 15,210 FF0000 8B0000 750}${color}
${voffset -5}
${font :size=11}${color}RAID1 ${color}${hr 2}${color}
${color1}Used: ${color3}${fs_used /data/raid1}${color1}${goto 200}Free:${goto 250}${color3}${fs_free /data/raid1}
${color2}${fs_bar /data/raid1}
${font Montserrat Light:size=8}${color1}DISK I/O:${color}${font} ${alignr}${diskio /data/raid1}
${voffset 2}${font Montserrat Light:size=8}${color1}READ: ${color}${font} ${goto 80}${color4}${diskiograph_read /data/raid1 15,210 ADFF2F 32CD32 750}${color}
${voffset 2}${font Montserrat Light:size=8}${color1}WRITE:${color}${font} ${goto 80}${color4}${diskiograph_write /data/raid1 15,210 FF0000 8B0000 750}${color}
${voffset -5}
${font :size=11}${color}PROCESSES ${color}${hr 2}${color}
${voffset -15}
${font :size=10}${font Montserrat Light:size=8}${color1}TOTAL:${color}${font} ${alignr}${processes}
${voffset -10}
${font Montserrat Light:size=9}${color1}APP NAME: ${goto 160}MEMORY: ${goto 245}CPU: ${color}${font}
${voffset -16}
${font Montserrat Light:size=9}${color1}${top name 1} ${color}${font} ${goto 160}${top mem 1} % ${goto 235}${top cpu 1} %
${font Montserrat Light:size=9}${color1}${top name 2} ${color}${font} ${goto 160}${top mem 2} % ${goto 235}${top cpu 2} %
${font Montserrat Light:size=9}${color1}${top name 3} ${color}${font} ${goto 160}${top mem 3} % ${goto 235}${top cpu 3} %
${font Montserrat Light:size=9}${color1}${top name 4} ${color}${font} ${goto 160}${top mem 4} % ${goto 235}${top cpu 4} %
${font Montserrat Light:size=9}${color1}${top name 5} ${color}${font} ${goto 160}${top mem 5} % ${goto 235}${top cpu 5} %
${font Montserrat Light:size=9}${color1}${top name 6} ${color}${font} ${goto 160}${top mem 6} % ${goto 235}${top cpu 6} %
${font Montserrat Light:size=9}${color1}${top name 7} ${color}${font} ${goto 160}${top mem 7} % ${goto 235}${top cpu 7} %
${font Montserrat Light:size=9}${color1}${top name 8} ${color}${font} ${goto 160}${top mem 8} % ${goto 235}${top cpu 8} %
${font Montserrat Light:size=9}${color1}${top name 9} ${color}${font} ${goto 160}${top mem 9} % ${goto 235}${top cpu 9} %
${font Montserrat Light:size=9}${color1}${top name 10} ${color}${font} ${goto 160}${top mem 10} % ${goto 235}${top cpu 10} %
--${font Montserrat Light:size=10}${color1}${alignr}source by: Mo Abdrabou${color}${font}
--${font Montserrat Light:size=10}${color1}${alignr}tweaked by: Daniel${color}${font}

I’m hoping there is a nugget someone can offer that will illuminate what I did wrong to trigger a reboot.

1 Like
  1. Please limit the amount of questions to one question per topic. (edited and limited your post, press the orange pencil to recover your text for subsequent questions) :innocent:

  2. There is nothing in the provided that should perform a reboot, so:

    • add them one by one and test them one by one
    • then add 1 and 2, and test again
    • Add 3 to 2 and 1 and test again
    • Add 4 etc.

    because debugging conky is hard if you’re new and it might be an individual command as much as a combination of commands that triggered the reboot.

Yes, there’s tons of conky users out there. Once you get your perfect conky settings working, post them there.


1 Like

Thank you for the reply Fabby!

So I’m not the first (or last) to trigger a reboot with conky? :rofl: That’s good to know!

I noticed that when I saved my kate edits into ~/.conkyrc that (it appeared) conky reloaded. Was this “good”/normal behavior, or was I unknowingly crashing conky? Should I have been stopping conky before tweaking the ~/.conkyrc file?

I think I’ll definitely be increasing the polling on the radeontop calls, as it is nowhere near as instant as the sensors call. In general, is 1s polling an okay idea?

1 Like

Yes, that’s normal if you’ve set it to do that in your config file and because Conky is so popular, it’s hard to find the original documentation by the authors themselves but I have it bookmarked:

So that’s the place to be to have all your questions and more resolved.

Please note that Conky is a semi-professional tool, so no one will be wanting to debug your code for you unless you pay them a consultancy fee and even then it’s going to be hard finding a consultant!


1 Like

Thank you Fabby!

That looks like the same GitHub url I pulled my baseline “template” from, so I must be on the right track.

1 Like

I tried that too in the beginning (start from a template) and then just started from scratch while I went through the manual and ended up with this


1 Like

Thank you for the reply Fabby!

I’ll look at your code and definitely read through the conky documentation.

I think I found a replacement source for radeontop data as /sys/class/drm/card0/device/ and it’s subfolder /sys/class/drm/card0/device/hwmon/hwmon5/ contain lots of GPU data to be mined… thanks to some guidance I found over at AMDGPU - ArchWiki

Hopefully there are pointers in the conky documentation that will tell me how to convert some of the data… for example /sys/class/drm/card0/device/hwmon/hwmon5/temp3_input says the GPU mem temp is 50000 (mV) and I’ll want to convert that into volts (50.0V).

1 Like

I would be interested to know why you want to constantly monitor things above and beyond your temp and fan speed. If you’re overclocking (for example) to within a volt/degree of meltdown/smoking, then regardless of your polling time, it will be too late for you to react. :bomb: :boom:

Oh, and look for hwmon in the conky man page.

Thank You for the reply merlock!

I’m not an OC’er, but I find the other values help me understand and appreciate what’s going on. For example, I used to feel that certain GPU upgrades felt “meh” until I understood the difference between CPU-bound and GPU-bound titles… which then turned my “meh” into a “wow, amazing performance for using less than 1/3 of the card max freq and under 90W draw”.

And thank you for the tip on hwmon in conky… if I can feed it correctly, looks the factor will take care of the conversion I am after! (and I won’t have to query the files directly myself)

EDIT: I found I didn’t much care for hwmon inside conky… it completely took care of making it humanly readable, but as an integer… or rounded up as close as it could get…
For example “GPU vddgfx” /sys/class/hwmon/hwmon5/in0_input

${hwmon 5 in 0} => 0.9

But I think these raw files I found and awk are going to be great friends…

$ cat /sys/class/hwmon/hwmon5/in0_input | awk '{print $1/1000}'

or with formatting/rounding…

$ cat /sys/class/hwmon/hwmon5/in0_input | awk -v OFMT="%5.2f V" '{print $1/1000}'
 0.86 V

Brought your config code into my sample Fabby (I appreciated yours was windowed and used the Manjaro theme colours), then merged some ideas from your layout into mine, cleaned out lots of extra syntax in the layout I’d inherited, and tossed all the radeontop/sensors calls with /sys/class/drm/card0/device/ and /sys/class/drm/card0/device/hwmon/hwmon5/ calls.

Note… the moment I switched out radeontop, conky loaded up faster initially than it did before… time will tell if the reboot issue is completely gone, but I suspect it is without readeontop.

conky.config ={
  console_bar_fill   = '»',
  console_bar_unfill = ' ',

  alignment = 'top_left',
  background = false,
  border_width = 2,
  cpu_avg_samples = 2,
  -- define Manjaro colours:
  default_color = '#1abc9c',  -- Same HTML as current terminal
  color1 = '#709080',         -- Kakhi
  color2 = '#dca3a3',         -- Salmon
  color3 = '#72d5a3',         -- Light Green
  color4 = '#f0dfaf',         -- Yellow
  color5 = '#7eb2e6',         -- Metal blue
  color6 = '#a45ec1',         -- Light aubergine
  font = 'DevaVu Sans Bold:size=10',
  default_outline_color = '#1abc9c',  -- Same HTML as current terminal
  default_shade_color = '#1abc9c',  -- Same HTML as current terminal
  double_buffer = true,
  draw_borders = false,
  draw_graph_borders = true,
  draw_outline = false,
  draw_shades = false,
  extra_newline = false,
  gap_x = -300,
  gap_y = 0,
  minimum_height = 200,
  minimum_width = 200,
  net_avg_samples = 2,
  no_buffers = true,
  out_to_console = false,
  out_to_ncurses = false,
  out_to_stderr = false,
  out_to_x = true,
  own_window = true,
  own_window_class = 'Conky',
  own_window_type = 'normal',
  own_window_transparent = false,
  -- set transparency:
  own_window_argb_visual = true,
  own_window_argb_value = 175,
  show_graph_range = false,
  show_graph_scale = false,
  stippled_borders = 0,
  update_interval = 1.0,
  uppercase = false,
  use_spacer = 'none',
  use_xft = true,

conky.text = [[
${color6}${font :size=20}${alignc}${time %H:%M:%S}${font}
${color6}${font :size=16}${alignc}${time %A %d %B %Y}${font}
${color6}${font :size=12}CPU & CORES ${hr}$font
${color5}CPU:${color}${alignr}AMD Ryzen 5 5600X @ 3.70GHz
${color2} 01 - 04:${color4}${goto 100}${cpu cpu1}% ${goto 150}${cpu cpu2 }% ${goto 200}${cpu cpu3 }% ${goto 250}${cpu cpu4 }%
${color2} 05 - 08:${color4}${goto 100}${cpu cpu5}% ${goto 150}${cpu cpu6 }% ${goto 200}${cpu cpu7 }% ${goto 250}${cpu cpu8 }%
${color2} 09 - 12:${color4}${goto 100}${cpu cpu9}% ${goto 150}${cpu cpu10}% ${goto 200}${cpu cpu11}% ${goto 250}${cpu cpu12}%
${color5}CPU Load: ${color4}$cpu% ${color1}$cpubar
${voffset -5}${color1}${cpugraph cpu0 -l -t}${voffset -5}
${color5}CPU Freq: ${color4}$freq_g ghz ${alignr}${color5}CPU Temp: ${color4}${execi 1 cat /sys/class/hwmon/hwmon3/temp2_input | awk -v OFMT="%3.2f" '{print $1/1000 " C"}'}
${color6}${font :size=12}MEMORY ${hr}$font
${color5}RAM: ${color4}$mem ${color}/ $memmax ${color4}($memperc%) ${color1}$membar
${color5}SWAP: ${color4}$swap ${color}/ $swapmax ${color4}($swapperc%) ${color1}$swapbar
${color6}${font :size=12}GPU ${hr}$font
${color5}GPU:${color}${alignr}AMD Radeon RX 6800XT (XFX)
${color5}GPU Load: ${color4}${execi 1 cat /sys/class/hwmon/hwmon5/device/gpu_busy_percent | awk -v OFMT="%3.2f" '{print $1 "%"}'}${alignr}${color5}GPU Fan: ${color4}${execi 1 cat /sys/class/hwmon/hwmon5/fan1_input | awk '{print $1 " RPM"}'} ${color}/ 3300 RPM
${color5}GPU Temp: ${color4}${execi 1 cat /sys/class/hwmon/hwmon5/temp1_input | awk -v OFMT="%3.2f" '{print $1/1000 " C"}'}${alignr}${color5}GPU Power: ${color4}${execi 1 cat /sys/class/hwmon/hwmon5/power1_average | awk -v OFMT="%3.2f" '{print $1/1000000 " W"}'} ${color}/ 255 W
${color5}GPU Shader Clk: $alignr${color4}${execi 1 cat /sys/class/hwmon/hwmon5/device/pp_dpm_sclk | grep '*$' | awk '{print $2}'} ${color}/ 2575Mhz
${color5}GPU Memory Clk: $alignr${color4}${execi 1 cat /sys/class/hwmon/hwmon5/device/pp_dpm_mclk | grep '*$' | awk '{print $2}'} ${color}/ 1000Mhz
${color5}GPU Fabric Clk: $alignr${color4}${execi 1 cat /sys/class/hwmon/hwmon5/device/pp_dpm_fclk | grep '*$' | awk '{print $2}'} ${color}/ 1941Mhz
${color5}GPU Link: ${color}${execi 1 cat /sys/class/hwmon/hwmon5/device/current_link_speed} ${color5}GPU State: ${color}${execi 1 cat /sys/class/hwmon/hwmon5/device/power_dpm_state}
${color6}${font :size=12}NETWORK ${hr}$font
${color5}IP ADDRESS:${color}${alignr}${addr enp39s0}
${voffset -5}${if_match "${addr enp39s0}"!="No Address"}${color1}${downspeedgraph enp39s0 24,159 ADFF2F 32CD32 -l -t} ${color2}${upspeedgraph enp39s0 24,159 FF0000 8B0000 -l -t}
${voffset -5}${color5}Download: ${color4}${downspeedf enp39s0}k/s ${alignr}${color5}Upload: ${color4}${upspeedf enp39s0}k/s ${font}${endif}
${color6}${font :size=12}FILE SYSTEMS ${hr}$font
${color5}Mountpoints${goto 100}Free / Total${alignr}I/O
${color2} /${goto 100}${color4}${fs_free /} ${color}/ ${fs_size /} ${alignr}${color4}${diskio}
${color2} /data/raid1${color4}${goto 100}${color4}${fs_free /data/raid1} ${color}/ ${fs_size /data/raid1} ${alignr}${color4}${diskio /data/raid1}
${color2} /data/sn750${color4}${goto 100}${color4}${fs_free /data/sn750} ${color}/ ${fs_size /data/sn750} ${alignr}${color4}${diskio /data/sn750}
${color2} /data/evo840${color4}${goto 100}${color4}${fs_free /data/evo840} ${color}/ ${fs_size /data/evo840} ${alignr}${color4}${diskio /data/evo840}
${color6}${font :size=12}PROCESSES ${hr}$font
${color5}Name ${goto 130}PID${goto 200}MEM${goto 265}CPU
${color2}${top name 1}${color4}${font}${goto 130}${top pid 1}${goto 200}${top mem 1}%${goto 265}${top cpu 1}%
${color2}${top name 2}${color4}${font}${goto 130}${top pid 2}${font}${goto 200}${top mem 2}%${goto 265}${top cpu 2}%
${color2}${top name 3}${color4}${font}${goto 130}${top pid 3}${font}${goto 200}${top mem 3}%${goto 265}${top cpu 3}%
${color2}${top name 4}${color4}${font}${goto 130}${top pid 4}${font}${goto 200}${top mem 4}%${goto 265}${top cpu 4}%
${color2}${top name 5}${color4}${font}${goto 130}${top pid 5}${font}${goto 200}${top mem 5}%${goto 265}${top cpu 5}%
${color2}${top name 6}${color4}${font}${goto 130}${top pid 6}${font}${goto 200}${top mem 6}%${goto 265}${top cpu 6}%
${color2}${top name 7}${color4}${font}${goto 130}${top pid 7}${font}${goto 200}${top mem 7}%${goto 265}${top cpu 7}%
${color2}${top name 8}${color4}${font}${goto 130}${top pid 8}${font}${goto 200}${top mem 8}%${goto 265}${top cpu 8}%
${color2}${top name 9}${color4}${font}${goto 130}${top pid 9}${font}${goto 200}${top mem 9}%${goto 265}${top cpu 9}%
${color2}${top name 10}${color4}${font}${goto 130}${top pid 10}${font}${goto 200}${top mem 10}%${goto 265}${top cpu 10}%${voffset -20}

Looks like you’ve got a showcase!

(copy-paste your last answer over there as a response)


1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.