Python自动化运维学习笔记

psutil  跨平台的PS查看工具

执行pip install psutil 即可,或者编译安装都行。

# 输出内存使用情况(以字节为单位)

import psutil
mem = psutil.virtual_memory()
print mem.total,mem.used,mem
print psutil.swap_memory()  # 输出获取SWAP分区信息

# 输出CPU使用情况

cpu = psutil.cpu_stats()
printcpu.interrupts,cpu.ctx_switches
 
psutil.cpu_times(percpu=True)      # 输出每个核心的详细CPU信息
psutil.cpu_times().user              # 获取CPU的单项数据 [用户态CPU的数据]
psutil.cpu_count()                   # 获取CPU逻辑核心数,默认logical=True
psutil.cpu_count(logical=False) # 获取CPU物理核心数

# 输出磁盘信息

psutil.disk_partitions()         # 列出全部的分区信息
psutil.disk_usage(‘/‘)               # 显示出指定的挂载点情况【字节为单位】
psutil.disk_io_counters()       # 磁盘总的IO个数
psutil.disk_io_counters(perdisk=True)  # 获取单个分区IO个数

# 输出网卡信息

psutil.net_io_counter() 获取网络总的IO,默认参数pernic=False
psutil.net_io_counter(pernic=Ture)获取网络各个网卡的IO

# 获取进程信息

psutil.pids()     # 列出所有进程的pid号
p = psutil.Process(2047)
p.name()   列出进程名称
p.exe()    列出进程bin路径
p.cwd()    列出进程工作目录的绝对路径
p.status()进程当前状态[sleep等状态]
p.create_time()   进程创建的时间 [时间戳格式]
p.uids()
p.gids()
p.cputimes()  【进程的CPU时间,包括用户态、内核态】
p.cpu_affinity()  # 显示CPU亲缘关系
p.memory_percent()   进程内存利用率
p.meminfo()   进程的RSS、VMS信息
p.io_counters()   进程IO信息,包括读写IO数及字节数
p.connections()   返回打开进程socket的namedutples列表
p.num_threads()   进程打开的线程数

#下面的例子中,Popen类的作用是获取用户启动的应用程序进程信息,以便跟踪程序进程的执行情况

import psutil
from subprocess import PIPE
p =psutil.Popen(["/usr/bin/python" ,"-c","print ‘helloworld‘"],stdout=PIPE)
p.name()
p.username()
p.communicate()
p.cpu_times()

# 其它

psutil.users()    # 显示当前登录的用户,和Linux的who命令差不多
 
# 获取开机时间
psutil.boot_time() 结果是个UNIX时间戳,下面我们来转换它为标准时间格式,如下:
datetime.datetime.fromtimestamp(psutil.boot_time())  # 得出的结果不是str格式,继续进行转换 datetime.datetime.fromtimestamp(psutil.boot_time()).strftime(‘%Y-%m-%d%H:%M:%S‘)
时间: 2024-10-14 20:02:47

Python自动化运维学习笔记的相关文章

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

Python自动化运维课程学习--Day2

本文为参加老男孩Python自动化运维课程第二天学习内容的总结. 大致内容如下: 1.python模块初识 2.python程序运行流程 3.python数据类型(只讲了numbers, bool, strings, bytes, list, tuple, dict, set) 4.python数据运算 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 --Python IDE: PyCharm

python运维学习笔记1

辞职在家,边找工作边学python看了一本python基础之后感觉远远不够,之后在某东上搜索找到一本<Python自动化运维>的书,写这个想给自己留下点学习的痕迹吧,在此先感谢大神作者刘天斯, 不在多说开始吧 python 系统基础信息模块详解 系统基础信息采集模块作为监控模块的重要组成部分 系统性能信息模块:psutil 这个模块能够轻松的获取系统运行进程和系统利用率信息,主要用于系统监控,分析和限制系统资源及进程管理. 首先先下载个psutil 的包 网址https://github.co

电子书 Python自动化运维:技术与最佳实践.pdf

本书在中国运维领域将有"划时代"的重要意义:一方面,这是国内一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的作者是中国运维领域的"偶像级"人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴.直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息.服务监控.数据报表.系统安全等基础模块,而且深入讲解了自动化操作.系统管理.配置管理.集群管理及大数据应用等高级功能.重要的是,完整重现了4个

Python自动化运维Django入门

随着IT运维技术日益更新,近几年运维自动化越来越火,而且学习python的人非常的火爆,尤其是python自动化运维开发,得到了很多前辈的推崇,尤其是老男孩培训中心.老男孩老师.Alex老师等,在这里非常感谢你们. 这里我也记录一下以前学习Django的一点点心得和方法,方便以后自己查阅,如果能帮助初学者是最好的了!好的,其他不多说了,博文滴走起. 一.系统实战环境 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73

python自动化运维之路~DAY7

python自动化运维之路~DAY7 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.客户端/服务器架构 C/S 架构是一种典型的两层架构,其全称是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据:另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信. C/S 架构也可以看做是胖客户端架构.因为客户端需要实现绝大多数的业务

python自动化运维之路~DAY10

python自动化运维之路~DAY10 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

python自动化运维之集中病毒扫描

1.因为我linux的python是2.6.6,所以因为有些模块是2.7的,先进行升级. 步骤地址:http://www.linuxidc.com/Linux/2014-07/104555.htm 2.安装pyclamd yum install -y clamav clamd clamav-update 安装clamavp的相关程序包 chkconfig --level 235 clamd on /usr/bin/freshclam pyClamd-0.3.15.tar.gz安装包安装 3.vi

(转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

Python自动化运维之13.异常处理及反射(__import__,getattr,hasattr,setattr) 一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成.计算或者输出结果需要的过程无法执行等 python异常是一个对象,表示错误或意外情况 (1)在python检测到一个错误时,将触发一个异常 python可以通常异常传导机