1
2 """Etat de la mémoire
3 """
4
5 import os, time
6 from zephir.monitor.utils import list2list_to_table
7 from agent import Agent
8
10 """Bilan de l'etat de la memoire
11 """
12 - def __init__(self,exec_cmd="/bin/cat /proc/meminfo"):
13 self.exec_cmd = exec_cmd
14 self.name = "mem"
15 self.description="""Bilan de la mémoire"""
16 Agent.__init__(self)
17
18
19 brut = self._mem()
20 self.contenu_xml = list2list_to_table(brut)
21 self.contenu_html = self.contenu_xml
22
23
24 self.write_html()
25 self.write_xml()
26
27
29 sortie = os.popen(self.exec_cmd)
30 resultat = sortie.read()
31 sortie.close()
32 return resultat.split("\n")
33
35 """ transfo de la valeur passée (string en octets) en Mo
36 """
37 return (int(val)/1024/1024)
38
40 """ calcul du pourcentage de mémoire utilisée
41 """
42 return (str(int(use)*100/int(tot))+"%")
43
45 """ effectue les traitements et revoie le résultat dans une liste de listes
46 """
47 l = self._cat()
48 liste = [['type', 'utilisation', 'libre (mo)','utilisé (mo)','taille (mo)']]
49 physique=l[1].split()
50 liste.append(['Mémoire Physique', self._pourcent(physique[2],physique[1]),self._mega(physique[3]), self._mega(physique[2]), self._mega(physique[1])])
51 swap=l[2].split()
52 liste.append(['Swap disque', self._pourcent(swap[2],swap[1]), self._mega(swap[3]), self._mega(swap[2]), self._mega(swap[1])])
53
54 if int(self._pourcent(swap[2],swap[1])[:-1]) > 90:
55 self.set_status("0")
56
57 return liste
58
59
60 if __name__ == "__main__":
61 MemAgent()
62