几个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 兆字节

发表评论