Update util.py

This commit is contained in:
Sergey Krashevich 2023-05-02 06:00:16 +03:00
parent 135344ec46
commit 76c197ca84
No known key found for this signature in database
GPG Key ID: 625171324E7D3856

View File

@ -806,7 +806,21 @@ def get_cpu_stats() -> dict[str, dict]:
stats = f.readline().split()
utime = int(stats[13])
stime = int(stats[14])
cpu_usage = round((utime + stime) / os.sysconf("SC_CLK_TCK"))
starttime = int(stats[21])
with open('/proc/uptime') as f:
system_uptime_sec = int(float(f.read().split()[0]))
clk_tck = os.sysconf(os.sysconf_names['SC_CLK_TCK'])
process_utime_sec = utime // clk_tck
process_stime_sec = stime // clk_tck
process_starttime_sec = starttime // clk_tck
process_elapsed_sec = system_uptime_sec - process_starttime_sec
process_usage_sec = process_utime_sec + process_stime_sec
cpu_usage = process_usage_sec * 100 // process_elapsed_sec
with open(f"/proc/{pid}/statm", "r") as f:
mem_stats = f.readline().split()