python psutil简单示例

利用psutil编写简单的检测小脚本

0.安装psutil模块                                                                                           
  psutil官网:https://pythonhosted.org/psutil/
  下载:

# wget https://pypi.python.org/packages/57/93/47a2e3befaf194ccc3d05ffbcba2cdcdd22a231100ef7e4cf63f085c900b/psutil-5.2.2.tar.gz#md5=bb98d48796cd76d9ccee871aad720f9c

   解压:

tar xf psutil-.tar.gz

  安装:

cd psutil-/
rpm -qa | grep "python-devel" || yum -y install python-devel && python setup.py install
[ $? -eq  ] && echo "Install OK" || echo "Install fail"

当出现Install OK时,则证明psutil安装完成

  编写python脚本

#!/usr/bin/python
#Filename:pustil_free.py

#导入psutil 和 os
import psutil,os

#定义文件
file = open(r'log.txt','a')

#获取已经已经使用的内存
free_used = psutil.virtual_memory().used

#获取总内存
free_total = psutil.virtual_memory().total

#计算使用内存百分数
percentage_free = free_used * 1.0 / free_total * 100

#当free>80时
if percentage_free >= 80:
        templist = []

        #获取所有进程的pid
        for pid in psutil.pids():
                del templist[:]
                p = psutil.Process(pid)

                #当使用内存梁不等于0时执行此if
                if p.memory_percent() != 0 :

                        #获取内存的名字
                        templist.append(p.name())

                        #获取内存消耗的百分比
                        templist.append(p.memory_percent())
                        temp_value = templist

                        #重定向值
                        print >> file ,(templist[0],templist[1])

        #清楚文件
        file.close()

########################################################################
#发送邮件模块 sendmail('log.txt')
#######################################################################

#删除log文件以便下次执行脚本重新生成
os.remove('log.txt')
04-30 03:53