几个python scripts
统计CPU信息
#!/usr/bin/env Python
从 __future__ 导入 print_function
从集合导入 OrderedDict
导入打印
定义 CPU 信息():
”’ 返回 /proc/cpuinfo 中的信息
作为以下格式的字典:
处理器信息['proc0']={…}
处理器信息['进程1′]={…}
”’
cpuinfo=OrderedDict()
procinfo = OrderedDict()
nprocs = 0
打开(‘/proc/cpuinfo’) 作为 f:
对于 f 中的行:
如果不是 line.strip():
# 一个处理器结束
处理器信息['过程%s’ % 进程] = 过程信息
nprocs=nprocs+1
# 重启
procinfo = OrderedDict()
其他:
如果连(分割线(‘:’)) == 2:
信息[分割线(‘:’)[0].跳闸()] = line.split(‘:’)[1].跳闸()
其他:
信息[分割线(‘:’)[0].跳闸()] = ”
返回 CPU 信息
如果 __name__=='__main__':
cpuinfo = cpuinfo()
用于 cpuinfo.keys 中的处理器():
打印(处理器信息[处理器]['型号名称'])
运行结果
[根@AMH蟒蛇]# 蟒蛇cpu1.py
英特尔(电阻) 核心(TM值) i3-4170 CPU @ 3.70GHz
统计CPU在15分钟内的负载
进口
def load_stat():
平均负载 = {}
f = 打开(“/进程/负载平均”)
con = f.read().分裂()
f.关闭()
平均负载['lavg_1']= 与[0]
平均负载[‘lavg_5’]= 与[1]
平均负载[‘lavg_15’]= 与[2]
平均负载['nr']= 与[3]
平均负载['last_pid']= 与[4]
返回负载平均
打印 “平均负载”,加载状态()[‘lavg_15’]
运行结果
[根@AMH蟒蛇]# 蟒蛇cpu2.py
平均负载 0.00
统计内存使用情况
#!/usr/bin/env Python
从 __future__ 导入 print_function
从集合导入 OrderedDict
定义内存信息():
”’ 返回 /proc/meminfo 中的信息
作为字典 ”’
meminfo=OrderedDict()
打开(‘/proc/meminfo’) 作为 f:
对于 f 中的行:
记忆信息[分割线(‘:’)[0]] = line.split(‘:’)[1].跳闸()
返回记忆信息
如果 __name__=='__main__':
#打印(记忆信息())
记忆信息 = 记忆信息()
打印('总内存: {0}'。格式(记忆信息['MemTotal']))
打印('空闲内存: {0}'。格式(记忆信息['MemFree']))
运行结果
[根@AMH蟒蛇]# 蟒蛇内存.py
总内存: 615036 千字节
空闲内存: 49288 千字节
统计网络使用情况
#!/usr/bin/env Python
导入时间
导入系统
如果连(系统参数文件) > 1:
接口 = sys.argv[1]
其他:
接口 = 'eth0’
统计 = []
打印‘界面:’,界面
定义接收():
ifstat = 打开(‘/proc/net/dev’).阅读线()
用于 ifstat 中的接口:
如果接口中的 INTERFACE:
统计 = 浮动(interface.split()[1])
统计数据[0:] = [状态]
定义发送():
ifstat = 打开(‘/proc/net/dev’).阅读线()
用于 ifstat 中的接口:
如果接口中的 INTERFACE:
统计 = 浮动(interface.split()[9])
统计数据[1:] = [状态]
打印‘进出’
接收()
发送()
当真:
睡眠时间(1)
rxstat_o = 列表(统计数据)
接收()
发送()
RX = 浮动(统计数据[0])
RX_O = rxstat_o[0]
TX = 浮动(统计数据[1])
TX_O = rxstat_o[1]
RX_RATE = 回合((接收 – RX_O)/1024/1024,3)
TX_RATE = 回合((发送 – TX_O)/1024/1024,3)
打印 RX_RATE ,'MB',发送速率 ,’MB’
运行结果
[根@AMH蟒蛇]# 蟒蛇网.py
界面: eth0
进出
0.008 兆字节 0.002 兆字节
0.006 兆字节 0.001 兆字节
0.007 兆字节 0.002 兆字节
0.008 兆字节 0.002 兆字节
0.008 兆字节 0.002 兆字节
0.008 兆字节 0.002 兆字节
0.008 兆字节 0.002 兆字节