ocerman / zenmonitor Goto Github PK
View Code? Open in Web Editor NEWZen monitor is monitoring software for AMD Zen-based CPUs.
License: MIT License
Zen monitor is monitoring software for AMD Zen-based CPUs.
License: MIT License
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.
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.
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.
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.
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;
}
-
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.
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;
}
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?
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)
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
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
I'm not sure when it started occurring, but now whenever I open zenmonitor, it shows all my cores at 0Ghz:
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.
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
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?
What is the license of this project?
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.
Hi,
will be possible to use it in cli mode (without gtk)?
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
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.
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)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.