#负载信息 def load_stat(self): """ 过去的1、5、15分钟内运行队列中的平均进程数量 """ loadavg = {} f = open("/proc/loadavg") con = f.read().split() f.close() loadavg['lavg_1']=con[0] loadavg['lavg_5']=con[1] loadavg['lavg_15']=con[2] #loadavg['nr']=con[3] #loadavg['last_pid']=con[4] return loadavg #运转时间 def uptime_stat(self): uptime = {} f = open("/proc/uptime") con = f.read().split() f.close() all_sec = float(con[0]) MINUTE,HOUR,DAY = 60,3600,86400 d = int(all_sec / DAY ) h = int((all_sec % DAY) / HOUR) m = int((all_sec % HOUR) / MINUTE) s = int(all_sec % MINUTE) uptime['uptime'] = '已运行%s天%s时%s分%s秒'%(d,h,m,s) uptime['FreeRate'] = float(con[1]) / float(con[0]) return uptime #磁盘空间使用 单位byte def disk_stat(self): disk = os.statvfs("/") available = disk.f_bsize * disk.f_bavail capacity = disk.f_bsize * disk.f_blocks used = capacity - available hdper = float(used)/capacity return 100*hdper #网络流量 def _read_netcard_usage(self): fd = open("/proc/net/dev", "r") for line in fd.readlines(): if line.find("eth0") > 0: recv = float(line.split(":")[1].split()[0]) send = float(line.split()[9]) fd.close() return (float(recv), float(send)) def getNetworkTraffic(self): dic = {} resultLst = [] (recv, send) = self._read_netcard_usage() time.sleep(1) (new_recv, new_send) = self._read_netcard_usage() dic.setdefault('recv','%s KB/s'%str((new_recv -recv)/1024)) dic.setdefault('send','%s KB/s'%str((new_send -send)/1024)) resultLst.append(dic) return resultLst,len(resultLst)
python系统信息_python获取系统信息
最新推荐文章于 2022-12-08 17:58:06 发布