ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.226.200.172 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/dstat/ |
Upload File : |
### Authority: Dag Wieers <dag@wieers.com> class dstat_plugin(dstat): """ Most expensive CPU process. Displays the process that uses the CPU the most during the monitored interval. The value displayed is the percentage of CPU time for the total amount of CPU processing power. Based on per process CPU information. """ def __init__(self): self.name = 'most expensive' self.vars = ('cpu process',) self.type = 's' self.width = 16 self.scale = 0 self.pidset1 = {} def extract(self): self.output = '' self.pidset2 = {} self.val['max'] = 0.0 for pid in proc_pidlist(): try: ### Using dopen() will cause too many open files l = proc_splitline('/proc/%s/stat' % pid) except IOError: continue if len(l) < 15: continue ### Reset previous value if it doesn't exist if not self.pidset1.has_key(pid): self.pidset1[pid] = 0 self.pidset2[pid] = long(l[13]) + long(l[14]) usage = (self.pidset2[pid] - self.pidset1[pid]) * 1.0 / elapsed / cpunr ### Is it a new topper ? if usage < self.val['max']: continue name = l[1][1:-1] self.val['max'] = usage self.val['pid'] = pid self.val['name'] = getnamebypid(pid, name) # self.val['name'] = name if self.val['max'] != 0.0: self.output = '%-*s%s' % (self.width-3, self.val['name'][0:self.width-3], cprint(self.val['max'], 'f', 3, 34)) ### Debug (show PID) # self.output = '%*s %-*s' % (5, self.val['pid'], self.width-6, self.val['name']) if step == op.delay: self.pidset1 = self.pidset2 def showcsv(self): return '%s / %d%%' % (self.val['name'], self.val['max']) # vim:ts=4:sw=4:et