专栏首页python3Python运维之psutil模块

Python运维之psutil模块

最近开始学习Python自动化运维,特记下笔记。 学习中使用的系统是Kali Linux2017.2,Python版本为2.7.14+ 因为在KALI里面没有自带psutil模块,需要使用pip进行安装

安装完成后进入python交互模式 查看psutil 的帮助信息,可以发现psutil支持跨平台的环境,同时也支持python3

获取CPU信息

使用cpu_times获取CPU信息,用户/系统/空闲时间

也可以获取单条信息

如果需要获取所有CPU核心的信息需要加一个参数percpu=True

获取CPU核心个数,方法为cpu_count()

如果只要获取CPU物理核心的数量需要加一个参数,logical=False 注:logical默认为True

获取内存信息

内存信息可以使用virtual_memory()和swap_memory()方法进行获取 注:单位为字节

只获取内存总数

只获取空闲总数

获取swap分区信息,使用swap_memory()方法进行获取

获取磁盘信息

获取磁盘分区信息可以使用disk_partitions()方法获取

可以使用disk_usage()方法获取分区的使用情况

获取硬盘IO信息可以使用disk_io_counters()方法获取

如果要获取单个分区的IO数等情况,需要在disk_io_counters()下加一个参数,perdisk=True

获取网络信息

获取网卡的总IO等信息可以使用net_io_counters()方法

如果需要输出每一个网卡的IO数需要加一个参数pernic=True

也可以获取网卡IO的单个信息

获取其他的一些系统信息

返回当前登录系统的用户信息 ,users()方法 注:started返回的为Linux时间戳

获取开机时间,同样使用Linux时间戳来返回,使用boot_time()方法

系统进程管理

获取所有进程PID,使用pids()方法

可以使用Process()方法获取单个进程的信息,先要实例化一个对象,参数为pid值,例:pid为960

获取实例化的进程名,name()方法

获取进程bin路径,exe()方法

获取进程工作绝对路径目录,cwd()方法

获取进程状态,status()方法

获取进程创建时间,create_time()方法 注:时间为Linux时间戳

获取进程uid与gid信息,uids()与gids()方法

获取进程cpu时间信息,cpu_times()方法

获取进程与CPU的亲和度,cpu_affinity()方法,可以将CPU号作为参数来设置进程CPU亲和性

获取进程内存使用率,memory_percent()方法,单位为百分比

获取进程IO信息,io_counters()方法

获取进程内存rss、vms等信息,memory_info()方法

获取进程开启的线程数,num_threads()方法

获取进程的线程信息,threads()方法

Popen类的使用

Popen类可以获取用户启动应用程序的情况,以便跟踪程序的运行状态 例:跟踪python的运行情况

name()方法获取进程名,username()方法获取启动用户,cpu_times()方法获取进程运行的CPU时间

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python:datetime用法

    py3study
  • Python获取当前年月日

    py3study
  • datetime模块

    py3study
  • js中获取时间new date()的用法 原

    得到的结果:1280977330000 注意:这里得到的结果将后三位(毫秒)转换成了000显示,使用时可能会出现问题。例如动态添加页面元素id的时候,不建议使用...

    山河木马
  • 理解生成模型与判别模型

    我们都知道,对于有监督的机器学习中的分类问题,求解问题的算法可以分为生成模型与判别模型两种类型。但是,究竟什么是生成模型,什么是判别模型?不少书籍和技术文章对这...

    SIGAI学习与实践平台
  • 【已解决】CommandLine 获取程序执行所在的目录

    我利用 CommandLine 写了一个命令行程序 但是不知道怎么获取这个程序执行所在的目录。

    君赏
  • Linux 删除文件夹和文件的命令

    -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思

    周小董
  • 间隔分区报错ORA-14758

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    bisal
  • 面试官问你“有什么问题问我吗?”,你该如何回答?

    我还记得当时我去参加面试的时候,几乎每一场面试,特别是HR面和高管面的时候,面试官总是会在结尾问我:“问了你这么多问题了,你有什么问题问我吗?”。这个时候很多人...

    乔戈里
  • python同步原语--线程锁

    多线程锁是python多种同步原语中的其中一种。首先解析一下什么是同步原语,python因为GIL(全局解析锁)的缘故,并没有真正的多线性。另外python的多...

    py3study

扫码关注云+社区

领取腾讯云代金券