Advertisement
Guest User

Untitled

a guest
Mar 14th, 2017
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. posix = require("posix")
  2.  
  3. sleep_duration = 1
  4.  
  5. stat = io.open('/proc/stat', 'r')
  6. stat:setvbuf('no')
  7.  
  8. stat:seek('set', 5)
  9. previousStats = stat:read()
  10.  
  11. posix.sleep(sleep_duration)
  12.  
  13. stat:seek('set', 5)
  14. currentStats = stat:read()
  15.  
  16.  
  17. user, nice, system, idle, iowait, irq, softirq, steal, guest, guest_nice = string.match(currentStats, '(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*)')
  18.  
  19. prevuser, prevnice, prevsystem, previdle, previowait, previrq, prevsoftirq, prevsteal, prevguest, prevguest_nice = string.match(previousStats, '(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*) +(.*)')
  20.  
  21. user = tonumber(user)
  22. nice = tonumber(nice)
  23. system = tonumber(system)
  24. idle = tonumber(idle)
  25. iowait = tonumber(iowait)
  26. irq = tonumber(irq)
  27. softirq = tonumber(softirq)
  28. steal = tonumber(steal)
  29. guest = tonumber(guest)
  30. guest_nice = tonumber(guest_nice)
  31.  
  32. prevuser = tonumber(prevuser)
  33. prevnice = tonumber(prevnice)
  34. prevsystem = tonumber(prevsystem)
  35. previdle = tonumber(previdle)
  36. previowait = tonumber(previowait)
  37. previrq = tonumber(previrq)
  38. prevsoftirq = tonumber(prevsoftirq)
  39. prevsteal = tonumber(prevsteal)
  40. prevguest = tonumber(prevguest)
  41. prevguest_nice = tonumber(prevguest_nice)
  42.  
  43.  
  44. PrevIdle = previdle + previowait
  45. Idle = idle + iowait
  46.  
  47. PrevNonIdle = (prevuser + prevnice + prevsystem + previrq + prevsoftirq + prevsteal)
  48. NonIdle = (user + nice + system + irq + softirq + steal)
  49.  
  50. PrevTotal = (PrevIdle + PrevNonIdle)
  51. Total = (Idle + NonIdle)
  52.  
  53. totald = (Total - PrevTotal)
  54. idled = (Idle - PrevIdle)
  55.  
  56. CPU_Percentage = (totald - idled) / totald * 100
  57.  
  58.  
  59.  
  60. print(CPU_Percentage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement