def check(self):
data = {
'disk.max_used_percent': 0,
'disk.max_used_percent_mount': '',
'disk.max_used': 0,
'disk.max_used_mount': '',
'disk.min_free': 0,
'disk.min_free_mount': '',
'disk.used_percent': 0,
'disk.used': 0,
'disk.free': 0,
'disk.total': 0,
}
partitions = psutil.disk_partitions(all=True)
for partition in partitions:
if partition.opts.upper() in ('CDROM', 'REMOVABLE'):
continue
mountpoint = partition.mountpoint
usage = psutil.disk_usage(mountpoint)
if usage.percent > data['disk.max_used_percent']:
data['disk.max_used_percent'] = usage.percent
data['disk.max_used_percent_mount'] = mountpoint
if usage.used > data['disk.max_used']:
data['disk.max_used'] = usage.used
data['disk.max_used_mount'] = mountpoint
if usage.free < data['disk.min_free'] or data['disk.min_free'] == 0:
data['disk.min_free'] = usage.free
data['disk.min_free_mount'] = mountpoint
data['disk.used'] += usage.used
data['disk.free'] += usage.free
data['disk.total'] += usage.total
data['disk.used_percent'] = data['disk.used']*100 / data['disk.total'] if data['disk.total'] else 0
data['disk.max_used'] = data['disk.max_used'] / 1024
data['disk.min_free'] = data['disk.min_free'] / 1024
data['disk.used'] = data['disk.used'] / 1024
data['disk.free'] = data['disk.free'] / 1024
data['disk.total'] = data['disk.total'] / 1024
return data
评论列表
文章目录