Ein paar Python-Skripte
Statistik CPU-Informationen
#!/usr/bin/env Python
aus __Zukunft__ Druckfunktion importieren
aus Sammlungen importieren OrderedDict
pprint importieren
def CPUinfo():
”’ Geben Sie die Informationen in /proc/cpuinfo zurück
als Wörterbuch im folgenden Format:
cpu_info['proc0']={…}
cpu_info['Proc1′]={…}
”’
cpuinfo=OrderedDict()
procinfo = OrderedDict()
nprocs = 0
mit offen(‘/proc/cpuinfo’) als f:
für Zeile in f:
wenn nicht line.strip():
# Ende eines Prozessors
cpuinfo['proc%s’ % nprocs] = procinfo
nprocs=nprocs+1
# Zurücksetzen
procinfo = OrderedDict()
sonst:
wenn len(line.split(‘:’)) == 2:
procinfo[line.split(‘:’)[0].Streifen()] = line.split(‘:’)[1].Streifen()
sonst:
procinfo[line.split(‘:’)[0].Streifen()] = ”
CPU-Info zurückgeben
wenn __name__==’__main__’:
cpuinfo = cpuinfo()
für Prozessor in cpuinfo.keys():
drucken(cpuinfo[Prozessor]['Modellname'])
Betriebsergebnis
[root @ AMH python]# python-cpu1.py
Intel(R.) Ader(TM) i3-4170-CPU @ 3,70 GHz
Zählen Sie die CPU-Last in 15 Minuten
importieren
def load_stat():
loadavg = {}
f = offen(“/proc/loadavg”)
con = f.read().Teilt()
f.schließen()
loadavg['lavg_1']= mit[0]
loadavg['lavg_5']= mit[1]
loadavg['lavg_15']= mit[2]
loadavg[´ nr ´]= mit[3]
loadavg['letzte_pid']= mit[4]
Rücklastavg
drucken “loadavg”,load_stat()['lavg_15']
Betriebsergebnis
[root @ AMH python]# Python cpu2.py
loadavg 0.00
Statistikspeichernutzung
#!/usr/bin/env Python
aus __Zukunft__ Druckfunktion importieren
aus Sammlungen importieren OrderedDict
def meminfo():
”’ Geben Sie die Informationen in /proc/meminfo zurück
als Wörterbuch ”’
meminfo=OrderedDict()
mit offen(‘/proc/meminfo’) als f:
für Zeile in f:
meminfo[line.split(‘:’)[0]] = line.split(‘:’)[1].Streifen()
meminfo zurückgeben
wenn __name__==’__main__’:
#drucken(meminfo())
meminfo = meminfo()
drucken('Gesamtspeicher: {0}'.Format(meminfo['MemTotal']))
drucken('Freier Speicher: {0}'.Format(meminfo[„MemFree“]))
Betriebsergebnis
[root @ AMH python]# python mem.py
Gesamtspeicher: 615036 kB
Freier Speicher: 49288 kB
Statistiken zur Netzwerknutzung
#!/usr/bin/env Python
Importzeit
Importsystem
wenn len(sys.argv) > 1:
SCHNITTSTELLE = sys.argv[1]
sonst:
SCHNITTSTELLE = ‘eth0’
STATS = []
„Schnittstelle“ drucken:’,SCHNITTSTELLE
def rx():
ifstat = offen(‘/proc/net/dev’).Lesezeilen()
für Schnittstelle in ifstat:
wenn SCHNITTSTELLE in Schnittstelle:
stat = schweben(interface.split()[1])
STATISTIKEN[0:] = [stat]
def tx():
ifstat = offen(‘/proc/net/dev’).Lesezeilen()
für Schnittstelle in ifstat:
wenn SCHNITTSTELLE in Schnittstelle:
stat = schweben(interface.split()[9])
STATISTIKEN[1:] = [stat]
'In Out' drucken’
rx()
tx()
während wahr:
zeit.schlaf(1)
rxstat_o = Liste(STATISTIKEN)
rx()
tx()
RX = Schwimmer(STATISTIKEN[0])
RX_O = rxstat_o[0]
TX = Schwimmer(STATISTIKEN[1])
TX_O = rxstat_o[1]
RX_RATE = rund((RX – RX_O)/1024/1024,3)
TX_RATE = rund((TX – TX_O)/1024/1024,3)
RX_RATE drucken ,’MB’,TX_RATE ,’MB’
Betriebsergebnis
[root @ AMH python]# python net.py
Schnittstelle: eth0
Ein Aus
0.008 MB 0.002 MB
0.006 MB 0.001 MB
0.007 MB 0.002 MB
0.008 MB 0.002 MB
0.008 MB 0.002 MB
0.008 MB 0.002 MB
0.008 MB 0.002 MB