Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@MrElendig
Created November 2, 2011 15:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrElendig/1334013 to your computer and use it in GitHub Desktop.
Save MrElendig/1334013 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import time
def get_raw_data():
with open("/proc/stat") as s_fd:
data = [l.strip().split() for l in s_fd if l.startswith("cpu")]
data = {e[0]: [int(x) for x in e[1:]] for e in data}
return data
def calculate_usage(t):
fst = get_raw_data()
time.sleep(t)
snd = get_raw_data()
data = {k: [x[1] - x[0] for x in zip(fst[k], snd[k])] for k in fst}
def calc_pers(d):
pers = 100 - (d[3] * 100.00 / sum(d))
return pers
data = {k: calc_pers(data[k]) for k in data}
return data
if __name__ == "__main__":
data = calculate_usage(2)
print("\n".join(sorted("%s: %.2f%%" % (k, data[k]) for k in data)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment