Giter Site home page Giter Site logo

zenmonitor's People

Contributors

blacksvk avatar jrugia avatar leogx9r avatar maxr1998 avatar ocerman avatar spannerman79 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zenmonitor's Issues

RAM usage slowly grows over time

Hello!

First of all I want to thank you for making such an amazing piece of software for us Ryzen users on Ubuntu! :D

Now, a small issue.

Today I noticed that I had too much RAM occupied in my system monitor. When I ordered the processes by memory usage, I saw that zenmonitor was using 3.2GB of RAM! (I don't have a screenshot because I closed it)

Closed it, opened it again and saw it start at ~10mb of RAM. Left it open and studied it a bit and saw the RAM usage go up by 200-300kb each couple of seconds. I had my session open for like 12 hours or more and that's how I got to 3.2GB RAM usage.

Fresh opened zenmonitor:
Fresh open zenmonitor

10 mins of uptime:
10 mins of uptime

Enlarge the window on start so that all rows are visible.

Screenshotzen

Now it always starts like here with fixed size. GTK 3.28.

PS Should have in mind that the number of rows will be different if started with or without the access to MSR (sudo).
PPS Maybe add a Capabilities workaround note in README?
$ sudo setcap cap_sys_rawio,cap_dac_read_search+ep ./zenmonitor seems suffice.

PPA

It would be great to have a PPA for the people in the ubuntu-verse.

By the way. Great work on the module and gui.

improvements

Hi can u add the frequency for each core. It's available in /proc/cpuinfo so i don't think it will be hard to implement. It would be cool it you could do that.

No core x frequency

I have installed zen monitor and zen power but I don't see the core x frequency. Any suggestions would be appreciated along with any questions to help me further figure out why.
zenmon

get_cpu_dev_ids is broken on 3900X

I have a 3900X and I noticed that zenmonitor was always reporting the same speed for core 3 and 4, which seemed to be a bug. I traced the code and it turns out it was reading cpu7 for both of them.

Looking closer I noticed that the cpu*/topology/core_id do not cover the range 0-12 as expected by get_cpu_dev_ids().

This is a patch to fix the problem, and it displays the coreid in the list rather than it's index.

I'm sorry it's just inline but for some insane reason github wont accept patches as attachments.

diff --git a/src/include/os.h b/src/include/os.h
index d6af111..9d35850 100644
--- a/src/include/os.h
+++ b/src/include/os.h
@@ -1,4 +1,4 @@
-gboolean os_init();
-void os_update();
-void os_clear_minmax();
-GSList* os_get_sensors();
+gboolean os_init(void);
+void os_update(void);
+void os_clear_minmax(void);
+GSList* os_get_sensors(void);
diff --git a/src/include/sysfs.h b/src/include/sysfs.h
index a079c7d..59ab701 100644
--- a/src/include/sysfs.h
+++ b/src/include/sysfs.h
@@ -1,3 +1,8 @@
 #define SYSFS_DIR_CPUS "/sys/devices/system/cpu"
 
-gshort* get_cpu_dev_ids();
+struct cpudev {
+	gshort coreid;
+	gshort cpuid;
+};
+
+struct cpudev * get_cpu_dev_ids(void);
diff --git a/src/ss/msr.c b/src/ss/msr.c
index 2ef75ac..c43f087 100644
--- a/src/ss/msr.c
+++ b/src/ss/msr.c
@@ -75,7 +75,7 @@ gulong get_core_energy(gint core) {
 }
 
 gboolean msr_init() {
-    gshort *cpu_dev_ids = NULL;
+    struct cpudev *cpu_dev_ids = NULL;
     guint i;
 
     if (!check_zen())
@@ -88,7 +88,7 @@ gboolean msr_init() {
     cpu_dev_ids = get_cpu_dev_ids();
     msr_files = malloc(cores * sizeof (gint));
     for (i = 0; i < cores; i++) {
-        msr_files[i] = open_msr(cpu_dev_ids[i]);
+        msr_files[i] = open_msr(cpu_dev_ids[i].cpuid);
     }
     g_free(cpu_dev_ids);
 
diff --git a/src/ss/os.c b/src/ss/os.c
index 9b25a04..637c4ec 100644
--- a/src/ss/os.c
+++ b/src/ss/os.c
@@ -9,6 +9,7 @@
 
 static gchar **frq_files = NULL;
 static guint cores;
+static struct cpudev *cpu_dev_ids;
 
 gfloat *core_freq;
 gfloat *core_freq_min;
@@ -22,8 +23,7 @@ static gdouble get_frequency(guint coreid) {
     return atoi(data) / 1000000.0;
 }
 
-gboolean os_init() {
-    gshort *cpu_dev_ids = NULL;
+gboolean os_init(void) {
     guint i;
 
     if (!check_zen())
@@ -38,9 +38,8 @@ gboolean os_init() {
     for (i = 0; i < cores; i++) {
         frq_files[i] = g_strdup_printf(
                         "/sys/devices/system/cpu/cpu%d/cpufreq/scaling_cur_freq",
-                        cpu_dev_ids[i]);
+                        cpu_dev_ids[i].cpuid);
     }
-    g_free(cpu_dev_ids);
 
     core_freq = malloc(cores * sizeof (gfloat));
     core_freq_min = malloc(cores * sizeof (gfloat));
@@ -53,7 +52,7 @@ gboolean os_init() {
     return TRUE;
 }
 
-void os_update() {
+void os_update(void) {
     guint i;
 
     for (i = 0; i < cores; i++) {
@@ -65,7 +64,7 @@ void os_update() {
     }
 }
 
-void os_clear_minmax() {
+void os_clear_minmax(void) {
     guint i;
 
     for (i = 0; i < cores; i++) {
@@ -74,14 +73,14 @@ void os_clear_minmax() {
     }
 }
 
-GSList* os_get_sensors() {
+GSList* os_get_sensors(void) {
     GSList *list = NULL;
     SensorInit *data;
     guint i;
 
     for (i = 0; i < cores; i++) {
         data = sensor_init_new();
-        data->label = g_strdup_printf("Core %d Frequency", i);
+        data->label = g_strdup_printf("Core %d Frequency", cpu_dev_ids[i].coreid);
         data->value = &(core_freq[i]);
         data->min = &(core_freq_min[i]);
         data->max = &(core_freq_max[i]);
diff --git a/src/sysfs.c b/src/sysfs.c
index 1536dfb..37f2443 100644
--- a/src/sysfs.c
+++ b/src/sysfs.c
@@ -5,20 +5,44 @@
 #include "sysfs.h"
 #include "zenmonitor.h"
 
-gshort* get_cpu_dev_ids(){
-    gshort *cpu_dev_ids = NULL;
+#define CORES_MAX 256
+struct bitset {
+    guint bits[CORES_MAX/32];
+};
+
+static int bitset_set(struct bitset *set, int id) {
+    if (id < CORES_MAX) {
+	int v = (set->bits[id/32] >> (id & 31)) & 1;
+
+	set->bits[id/32] |= 1 << (id & 31);
+	return v;
+    }
+    return 1;
+}
+
+static int cmp_cpudev(const void *ap, const void *bp) {
+    return ((struct cpudev *)ap)->coreid - ((struct cpudev *)bp)->coreid;
+}
+
+struct cpudev* get_cpu_dev_ids(void) {
+    struct cpudev *cpu_dev_ids;
     gshort coreid, cpuid;
     GDir *dir;
     const gchar *entry;
     gchar *filename, *buffer;
-    guint cores, i;
+    guint cores;
+    struct bitset seen = { 0 };
+    int i;
 
     cores = get_core_count();
-    cpu_dev_ids = malloc(cores * sizeof (gshort));
-    memset(cpu_dev_ids, -1, cores * sizeof (gshort));
+    cpu_dev_ids = malloc(cores * sizeof (*cpu_dev_ids));
+    for (i=0;i<cores;i++)
+	cpu_dev_ids[i] = (struct cpudev) { -1, -1 };
 
     dir = g_dir_open(SYSFS_DIR_CPUS, 0, NULL);
     if (dir) {
+	int i = 0;
+
         while ((entry = g_dir_read_name(dir))) {
             if (sscanf(entry, "cpu%hd", &cpuid) != 1) {
                 continue;
@@ -28,9 +52,9 @@ gshort* get_cpu_dev_ids(){
             if (g_file_get_contents(filename, &buffer, NULL, NULL)) {
                 coreid = (gshort) atoi(buffer);
 
-                if ((guint) coreid < cores && cpu_dev_ids[coreid] == -1) {
-                    cpu_dev_ids[coreid] = cpuid;
-                }
+		if (i < cores && !bitset_set(&seen, coreid)) {
+		    cpu_dev_ids[i++] = (struct cpudev) { coreid, cpuid };
+		}
             }
 
             g_free(filename);
@@ -38,12 +62,7 @@ gshort* get_cpu_dev_ids(){
         }
     }
 
-    for (i = 0; i < cores; i++) {
-        if (cpu_dev_ids[i] < 0) {
-            cpu_dev_ids[i] = i;
-        }
-    }
+    qsort(cpu_dev_ids, cores, sizeof(*cpu_dev_ids), cmp_cpudev);
 
     return cpu_dev_ids;
 }
-


Core temperature doesn't show

I have installed zenpower and zenmonitor, it shows Power and Frequency, but not temperature or fun speed:

Снимок экрана от 2019-11-21 00-18-05

I have Ubuntu 19.10, kernel 5.3
AMD Ryzen 3900x
Gigabyte x570 UD

Would you please respond to my issue #28

Hi, I would appreciate a courtesy response to my issue #28 which I raised 24 days ago and have not received any comment from you yet.

The labels for Tdie and Tctrl are swapped. Tctrl is always higher on cpus with an offset greater than 0°C

Zen Monitor is showing the opposite on Threadripper. The ZenPower driver labels are correct.

Zen3 (Ryzen 5000) support

After patching zenpower as described in ocerman/zenpower#39 I got zenmonitor working on a Ryzen 5000 series processor as well. Zen3 is familiy 19h. Everything else seems to be similar to the previous versions.

--- zenmonitor.orig/src/zenmonitor.c    2020-12-22 02:41:39.829243703 +0100
+++ zenmonitor/src/zenmonitor.c 2020-12-22 02:42:42.942690906 +0100
@@ -10,6 +10,7 @@

 #define AMD_STRING "AuthenticAMD"
 #define ZEN_FAMILY 0x17
+#define ZEN3_FAMILY 0x19

 // AMD PPR = https://www.amd.com/system/files/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf

@@ -31,7 +32,7 @@
     __get_cpuid(1, &eax, &ebx, &ecx, &edx);

     ext_family = ((eax >> 8) & 0xF) + ((eax >> 20) & 0xFF);
-    if (ext_family != ZEN_FAMILY){
+    if (ext_family != ZEN_FAMILY && ext_family != ZEN3_FAMILY){
         return FALSE;
     }

Screenshot_20201222_023353

More stats may be helpful

Hi, thank you very much for offering the tool, it is really useful to monitor the CPU during heavy load.

I was wondering if it is possible to add more stats like 5-sec, 15-sec, 60-sec moving avg?

Detects only last 6 cores

Running on linux Mint kernel 5.5.6, threadripper 2970
All is well except for the fact that the frequency of all cores except for the last 6 is not detected (the cores are detected but the frequency displays 0)

Number alignment in columns

Hi,

really nice and easy to build software.

There is something that do bugs me a little:

zenmonitor-columns

Not aligned decimal separators and units between different rows in single row, are really meh, similar "Frequency" substring is not aligned for cores 10 - 15 (but it is less annoying that the value columns).

Zenpower and Zenmonitor data is flipped

Hi, Zenpower and Zenmonitor report the Tdie and Tctrl values flipped relative to each other on a threadripper 1950x, as per the picture zenpower says Tdie is 25c and zenmonitor reports 52c

image

Only showing CPU frequency (AMD Ryzen 7 4800H)

Hello,

I've installed both zenpower and zenmonitor AUR packages. Everything was fine, but the monitor only shows the core frequencies. I've enabled MSR driver.

Screenshot_20200604_185518

I'm with Manjaro 20.0.2 (kernel 5.6.15-1). Please let me know what more information you'd need.

Only 1 node displayed for threadripper CPUs

When using Zenmonitor it only displays the temps, voltages and from only one threadripper node.

the output from sensors
`zenpower-pci-00c3
Adapter: PCI adapter
SVI2_Core: +1.00 V
SVI2_SoC: +0.01 V
Tdie: +35.6°C (high = +70.0°C)
Tctl: +62.6°C
SVI2_P_Core: 60.27 W
SVI2_P_SoC: 0.00 W
SVI2_C_Core: +60.27 A
SVI2_C_SoC: +0.00 A

zenpower-pci-00cb
Adapter: PCI adapter
SVI2_Core: +1.36 V
SVI2_SoC: +0.01 V
Tdie: +33.9°C (high = +70.0°C)
Tctl: +60.9°C
SVI2_P_Core: 14.10 W
SVI2_P_SoC: 0.00 W
SVI2_C_Core: +11.43 A
SVI2_C_SoC: +0.00 A
`
what you see in zenmonitor

2019-06-20_19-27

Zen 2

There seems to be an issue with zen2
It reports CPU temperature Value 206.88c min 206,88c max 206,88c
core voltage -0,043v
soc voltage -0,043
CPU core current 264,998A
CPU core power -11,395 W
SOC Power SVI2 -3,956 Q
Package power 8-9 W

Zen Monitor showing all cores at 0GHz

I'm not sure when it started occurring, but now whenever I open zenmonitor, it shows all my cores at 0Ghz:
zen

lsmod output:

msr                    16384  0
nvidia_uvm           1089536  0
rfcomm                 90112  4
ccm                    20480  9
iwlmvm                442368  0
cmac                   16384  2
algif_hash             16384  1
algif_skcipher         16384  1
af_alg                 28672  6 algif_hash,algif_skcipher
edac_mce_amd           32768  0
hwmon_vid              16384  0
snd_hda_codec_hdmi     73728  1
bnep                   28672  2
mac80211              991232  1 iwlmvm
snd_usb_audio         294912  2
snd_hda_codec_realtek   126976  1
snd_usbmidi_lib        40960  1 snd_usb_audio
btusb                  65536  0
snd_rawmidi            45056  1 snd_usbmidi_lib
libarc4                16384  1 mac80211
snd_hda_codec_generic    94208  1 snd_hda_codec_realtek
btrtl                  24576  1 btusb
snd_seq_device         16384  1 snd_rawmidi
mousedev               24576  0
ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek
btbcm                  16384  1 btusb
mc                     61440  1 snd_usb_audio
input_leds             16384  0
hid_kensington         16384  0
kvm                   790528  0
iwlwifi               372736  1 iwlmvm
snd_hda_intel          49152  3
btintel                28672  1 btusb
irqbypass              16384  1 kvm
snd_intel_nhlt         20480  1 snd_hda_intel
bluetooth             671744  31 btrtl,btintel,btbcm,bnep,btusb,rfcomm
snd_hda_codec         155648  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
nls_iso8859_1          16384  1
snd_hda_core          102400  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
crct10dif_pclmul       16384  1
nls_cp437              20480  1
crc32_pclmul           16384  0
ucsi_ccg               20480  0
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
ghash_clmulni_intel    16384  0
snd_pcm               139264  6 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
vfat                   24576  1
typec_ucsi             45056  1 ucsi_ccg
snd_timer              40960  1 snd_pcm
ecdh_generic           16384  1 bluetooth
cfg80211              851968  3 iwlmvm,iwlwifi,mac80211
fat                    86016  1 vfat
igb                   249856  0
typec                  49152  1 typec_ucsi
fuse                  139264  5
wmi_bmof               16384  0
mxm_wmi                16384  0
aesni_intel           372736  9
ecc                    32768  1 ecdh_generic
r8169                  94208  0
crypto_simd            16384  1 aesni_intel
snd                   110592  21 snd_hda_codec_generic,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
ccp                    98304  0
i2c_algo_bit           16384  1 igb
sp5100_tco             20480  0
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
realtek                20480  1
glue_helper            16384  1 aesni_intel
dca                    16384  1 igb
rfkill                 28672  7 bluetooth,cfg80211
soundcore              16384  1 snd
libphy                102400  2 r8169,realtek
pcspkr                 16384  0
rng_core               16384  1 ccp
i2c_nvidia_gpu         16384  0
i2c_piix4              28672  0
zenpower               16384  0
wmi                    36864  2 wmi_bmof,mxm_wmi
pinctrl_amd            32768  0
evdev                  28672  6
mac_hid                16384  0
uinput                 20480  0
nvidia_drm             49152  7
nvidia_modeset       1114112  16 nvidia_drm
drm_kms_helper        217088  1 nvidia_drm
drm                   516096  10 drm_kms_helper,nvidia_drm
agpgart                53248  1 drm
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
nvidia              19976192  773 nvidia_uvm,nvidia_modeset
ipmi_devintf           20480  0
ipmi_msghandler        69632  2 ipmi_devintf,nvidia
crypto_user            16384  0
ip_tables              36864  0
x_tables               49152  1 ip_tables
ext4                  778240  5
crc32c_generic         16384  0
crc16                  16384  2 bluetooth,ext4
mbcache                16384  1 ext4
jbd2                  135168  1 ext4
hid_generic            16384  0
sd_mod                 57344  8
usbhid                 65536  0
hid                   143360  3 usbhid,hid_generic,hid_kensington
ahci                   40960  4
libahci                40960  1 ahci
libata                274432  2 libahci,ahci
xhci_pci               20480  0
crc32c_intel           24576  8
scsi_mod              249856  2 sd_mod,libata
xhci_hcd              282624  1 xhci_pci

sensors output:

Adapter: PCI adapter
SVI2_Core:    +1.41 V  
SVI2_SoC:     +1.08 V  
Tdie:         +57.4°C  (high = +70.0°C)
Tctl:         +57.4°C  
SVI2_P_Core:  38.17 W  
SVI2_P_SoC:   11.46 W  
SVI2_C_Core: +27.01 A  
SVI2_C_SoC:  +10.59 A  

Manjaro Linux
5.4.0-1-MANJARO
AMD 3900X
Gigabyte Aorus X570 Master
F10 BIOS

Please let me know if more info is needed.

Discrepancy between GUI values and actual hwmon data

Hi,

I am a bit puzzled by the values I see in the gui for the CPU Core Voltage (SVI2). The gui shows values like 1.013 V but when I check manually I get a completely different value.

$ cat /sys/class/hwmon/hwmon2/name
zenpower

$ cat /sys/class/hwmon/hwmon2/{in1_label,in1_input}
SVI2_Core
1407

Same goes if I use the sensors command.

$ sensors | grep SVI2
SVI2_Core:     1.41 V  
SVI2_SoC:      1.07 V  
SVI2_P_Core:  17.61 W  
SVI2_P_SoC:   12.65 W  
SVI2_C_Core:  12.52 A  
SVI2_C_SoC:   11.77 A  

Shouldn't the reported values be the same?

Thanks

Core Voltage SVI2 same Sensor as HWInfo?

I know that might be a silly question. But i currently investigating some Issue i have on Linux and i suspect it has to do with different Voltages Linux uses.
I discovered that the Voltages on the "Core Voltage SVI2 TFN" Sensor on HWInfo seems to report a higher Votage than the Core Voltage SVI2 Sensor on Zenmonitor (Ryzen 5000). I now wonder do these tools use the same sensor?

License

What is the license of this project?

Wrong very high value in Max Package Power

zen

I've seen it several times. This is exactly 0xA'0000'0000'0000
If the bug can't be found, maybe put a check for a value to be adequate and discard any value >5000 W, for example.

GUI wont load when run as root with EPYC 7642 48-core

I did the polkit install on Ubuntu 20.04.1 with several of my systems, but one wont launch. It works fine when not run as root, but when trying to run as root to get more sensor readings, it just hangs and no fields populate. Attempting to interact with the GUI i get the prompt that it's not responding and I have to force quit it.

I have two nearly identical systems. ASRock Rack EPYCD8 motherboards, with the same DDR4-3200MHz ram in both. one system running an EPYC 7402P 24-core and another running a 7642 48-core. the installs were done at the same time in the exact same way on both. installed the zenpower driver and blacklisted the k10temp driver on both, followed the ubuntu instructions exactly. everything works on the 24-core system, but the 48-core system just hangs when trying to load as root. the 48-core will load zenmonitor if not run as root.

let me know what I can do to help if you need more info.

cli mode

Hi,
will be possible to use it in cli mode (without gtk)?

Zen CPU Not Detected

I am trying to use zenpower. When I install it, and use sensors or psensor, I do not get any data about the CPU temperature. In my attempts to use zenmonitor, I get an error saying Zen CPU Not Detected.

This is the output of lscpu, indicating that the CPU is recongized by my system.

gauravkuppa24@gauravkuppa24:~/Documents/zenmonitor$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         48 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  32
  On-line CPU(s) list:   0-31
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 9 7950X 16-Core Processor
    CPU family:          25
    Model:               97
    Thread(s) per core:  2
    Core(s) per socket:  16
    Socket(s):           1
    Stepping:            2
    Frequency boost:     enabled
    CPU max MHz:         4500.0000
    CPU min MHz:         3000.0000
    BogoMIPS:            8982.94
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc
                         a cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall n
                         x mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_go
                         od nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl p
                         ni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe
                          popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy sv
                         m extapic cr8_legacy abm sse4a misalignsse 3dnowprefetc
                         h osvw ibs skinit wdt tce topoext perfctr_core perfctr_
                         nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate
                          ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 sm
                         ep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed 
                         adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx
                         512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc c
                         qm_occup_llc cqm_mbm_total cqm_mbm_local avx512_bf16 cl
                         zero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbr
                         v svm_lock nrip_save tsc_scale vmcb_clean flushbyasid d
                         ecodeassists pausefilter pfthreshold avic v_vmsave_vmlo
                         ad vgif v_spec_ctrl avx512vbmi umip pku ospke avx512_vb
                         mi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx5
                         12_vpopcntdq rdpid overflow_recov succor smca fsrm flus
                         h_l1d
Virtualization features: 
  Virtualization:        AMD-V
Caches (sum of all):     
  L1d:                   512 KiB (16 instances)
  L1i:                   512 KiB (16 instances)
  L2:                    16 MiB (16 instances)
  L3:                    64 MiB (2 instances)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-31
Vulnerabilities:         
  Gather data sampling:  Not affected
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Not affected
  Retbleed:              Not affected
  Spec rstack overflow:  Mitigation; safe RET
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
                          and seccomp
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer
                          sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIB
                         P always-on, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

This is my output from tail cpufreq.

~/Documents/zenmonitor$ tail /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
==> /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq <==
480790

==> /sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq <==
480424

==> /sys/devices/system/cpu/cpu11/cpufreq/scaling_cur_freq <==
480592

==> /sys/devices/system/cpu/cpu12/cpufreq/scaling_cur_freq <==
479488

==> /sys/devices/system/cpu/cpu13/cpufreq/scaling_cur_freq <==
480138

==> /sys/devices/system/cpu/cpu14/cpufreq/scaling_cur_freq <==
479694

==> /sys/devices/system/cpu/cpu15/cpufreq/scaling_cur_freq <==
480187

==> /sys/devices/system/cpu/cpu16/cpufreq/scaling_cur_freq <==
480717

==> /sys/devices/system/cpu/cpu17/cpufreq/scaling_cur_freq <==
480156

==> /sys/devices/system/cpu/cpu18/cpufreq/scaling_cur_freq <==
482757

==> /sys/devices/system/cpu/cpu19/cpufreq/scaling_cur_freq <==
480047

==> /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq <==
480301

==> /sys/devices/system/cpu/cpu20/cpufreq/scaling_cur_freq <==
479914

==> /sys/devices/system/cpu/cpu21/cpufreq/scaling_cur_freq <==
480383

==> /sys/devices/system/cpu/cpu22/cpufreq/scaling_cur_freq <==
480626

==> /sys/devices/system/cpu/cpu23/cpufreq/scaling_cur_freq <==
480811

==> /sys/devices/system/cpu/cpu24/cpufreq/scaling_cur_freq <==
480071

==> /sys/devices/system/cpu/cpu25/cpufreq/scaling_cur_freq <==
480010

==> /sys/devices/system/cpu/cpu26/cpufreq/scaling_cur_freq <==
479467

==> /sys/devices/system/cpu/cpu27/cpufreq/scaling_cur_freq <==
479175

==> /sys/devices/system/cpu/cpu28/cpufreq/scaling_cur_freq <==
477933

==> /sys/devices/system/cpu/cpu29/cpufreq/scaling_cur_freq <==
477640

==> /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq <==
480696

==> /sys/devices/system/cpu/cpu30/cpufreq/scaling_cur_freq <==
480489

==> /sys/devices/system/cpu/cpu31/cpufreq/scaling_cur_freq <==
480233

==> /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq <==
484662

==> /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq <==
481174

==> /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq <==
480169

==> /sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq <==
479938

==> /sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq <==
479892

==> /sys/devices/system/cpu/cpu8/cpufreq/scaling_cur_freq <==
480541

==> /sys/devices/system/cpu/cpu9/cpufreq/scaling_cur_freq <==
479482

Build Fails on GCC 10

Trying to build this on an up-to-date Arch or Manjaro (or other Arch derivative) will fail, with the following errors:

cc -Isrc/include `pkg-config --cflags gtk+-3.0` src/*.c src/ss/*.c -o zenmonitor `pkg-config --libs gtk+-3.0` -lm -no-pie -Wall
/usr/bin/ld: /tmp/ccWa2q8z.o:(.bss+0x0): multiple definition of `display_coreid'; /tmp/ccTxz7QB.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/ccP4n6ZC.o:(.bss+0x0): multiple definition of `display_coreid'; /tmp/ccTxz7QB.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/ccidjqdB.o:(.bss+0x0): multiple definition of `display_coreid'; /tmp/ccTxz7QB.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/ccN5s0Yz.o:(.bss+0x0): multiple definition of `display_coreid'; /tmp/ccTxz7QB.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/ccA63nlA.o:(.bss+0x0): multiple definition of `display_coreid'; /tmp/ccTxz7QB.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile:6: build] Error 1

This is with both the zenmonitor and zenmonitor-git AUR packages, as well as trying to build directly from this repo. The issue is GCC 10, after downgrading to 9.3, the build succeeds and the program works perfectly.

No temperature for 3700X

Not getting any temperature readings for my 3700X using latest git revision.
Using your Zen monitor I'm getting 0.00C for tCtrl and tDie
Same result when using psensors

Kernel version 5.2.3
zenmonitor version: 0.1.2 (latest from master branch)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.