| Server IP : 199.250.200.62 / Your IP : 216.73.217.89 Web Server : Apache System : Linux vps37394.inmotionhosting.com 3.10.0-1160.119.1.vz7.224.4 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : jasonp18 ( 1000) 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/local/ssl/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 = ('memory process',)
self.type = 's'
self.width = 17
self.scale = 0
def extract(self):
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) < 23: continue
usage = int(l[23]) * pagesize
### Is it a new topper ?
if usage <= self.val['max']: continue
self.val['max'] = usage
self.val['name'] = getnamebypid(pid, l[1][1:-1])
self.val['pid'] = pid
self.output = '%-*s%s' % (self.width-5, self.val['name'][0:self.width-5], cprint(self.val['max'], 'f', 5, 1024))
### Debug (show PID)
# self.val['memory process'] = '%*s %-*s' % (5, self.val['pid'], self.width-6, self.val['name'])
def showcsv(self):
return '%s / %d%%' % (self.val['name'], self.val['max'])
# vim:ts=4:sw=4:et