资讯专栏INFORMATION COLUMN

一名爬虫工程师的运维入门之路:psutil学习笔记

岳光 / 3346人阅读

摘要:简介是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率包括内存磁盘网络等信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如等。

psutil简介
psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统,

安装

pip install psutil

使用

cpu信息

# 显示cpu所有逻辑信息
b = psutil.cpu_times()
# 查看用户的cpu时间比
c = psutil.cpu_times().user
# 查看cpu物理个数
d = psutil.cpu_count(logical=False)
print(b, c, d)

磁盘信息

# 获取磁盘完整信息
print(psutil.disk_io_counters())
# 获取分区(参数)的使用情况
print(psutil.disk_usage("/"))```

内存信息

# 系统内存的所有信息
a = psutil.virtual_memory()
print(a)
# 系统总计内存
print(a.total)
# 系统已经使用内存
print(a.used)
# 系统空闲内存
print(a.free)
# 获取swap内存信息
print(psutil.swap_memory())

磁盘信息

# 获取磁盘完整信息
print(psutil.disk_io_counters())
# 获取分区(参数)的使用情况
print(psutil.disk_usage("/"))

网络信息

# 获取网络总的IO信息
print(psutil.net_io_counters())
# 获取每个网络接口的IO信息
print(psutil.net_io_counters(pernic=True))

其他系统信息

# 当前用户信息
print(psutil.users())
# 获取开机
import datetime
print(psutil.boot_time())
print(datetime.datetime.utcfromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S"))

进程信息

pids = psutil.pids() #列出所有进程id
pids_4644= psutil.Process(4644) #列出指定pid为4644的进程信息
print (pids)
print (pids_4644.name())    #输出进程名
print (pids_4644.exe())     #输出进程路径
print (pids_4644.cwd())     #输出绝对路径
print (pids_4644.status())  #输出进程状态
print (pids_4644.create_time()) #输出创建时间、时间戳格式
#print (pids_4644.gid())        #输出进程gid信息
print (pids_4644.cpu_times)     #输出cpu时间信息,包括user,system两个cpu时间
print (pids_4644.cpu_affinity()) #get进程cpu亲和度
print (pids_4644.memory_percent()) #进程利用率
print (pids_4644.memory_info)    #进程内存信息
print (pids_4644.io_counters())  #进程io信息,包括读写IO数及字节数
print (pids_4644.connections())      #返回打开进程sockert的namedutples列表、包括fs,family等信息
print (pids_4644.num_threads())     #进程开启的线程数

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42762.html

相关文章

  • 一名爬虫程师运维入门之路:IPy学习笔记

    摘要:多学习总没错。。。简介模块包含类,可以方便的处理绝大部分个是为和的网络和地址。判断网段是否重叠 多学习总没错。。。 IPy简介: IPy模块包含IP类,可以方便的处理绝大部分个是为IPv6和IPv4的网络和地址。可以通过version方法就可以分出IPv4和IPv6 IPy方法: from IPy import IP ip = IP(192.168.1.20) print(i...

    flybywind 评论0 收藏0
  • 一名爬虫程师运维入门之路:dnspython学习笔记

    摘要:通过域名,最终得到该域名对应的地址的过程叫做域名解析或主机名解析。协议运行在协议之上,使用端口号。在文档中对有规范说明,对的动态更新进行说明,对查询的反向缓存进行说明。 你们是否跟我一样,不知道什么是DNS,在这里,首先普及一下什么是DNS DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网...

    LiangJ 评论0 收藏0
  • 某熊的技术之路指北 ☯

    某熊的技术之路指北 ☯ 当我们站在技术之路的原点,未来可能充满了迷茫,也存在着很多不同的可能;我们可能成为 Web/(大)前端/终端工程师、服务端架构工程师、测试/运维/安全工程师等质量保障、可用性保障相关的工程师、大数据/云计算/虚拟化工程师、算法工程师、产品经理等等某个或者某几个角色。某熊的技术之路系列文章/书籍/视频/代码即是笔者蹒跚行进于这条路上的点滴印记,包含了笔者作为程序员的技术视野、...

    shadowbook 评论0 收藏0
  • 低调奢华有内涵 - 收藏集 - 掘金

    摘要:比较的是两个对象的内容是并发编程之协程异步后端掘金引言随着的盛行,相信大家今年多多少少都听到了异步编程这个概念。使用进行并发编程篇二掘金我们今天继续深入学习。 python 之机器学习库 scikit-learn - 后端 - 掘金一、 加载sklearn中的数据集datasets from sklearn import datasets iris = datasets.load_i...

    walterrwu 评论0 收藏0

发表评论

0条评论

岳光

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<