Python学习之-psutil详解

前言:

psutil(process and system utilities)是一个跨平台的库,用于访问系统运行中进程以及系统利用率(如CPU、内存、磁盘、网络等)的信息。它主要用来做系统监控,性能分析,进程管理。psutil支持多个平台,包括Linux、Windows、MacOS、FreeBSD等

1 常见用法

1.1 获取系统CPU信息:

在这里插入图片描述

#!/usr/bin/env python
# coding=utf-8
"""
# @Time    : 2024/4/15
# @Author  : Summer
# @File    : psutil_test
# @describe:
"""

import psutil

# 获取CPU逻辑核心数
print(psutil.cpu_count())

# 获取CPU物理核心数
print(psutil.cpu_count(logical=False))

# 获取CPU使用率(每个核心或者平均)
print(psutil.cpu_percent(interval=1, percpu=True))

'''
8
4
[19.4, 4.5, 9.2, 1.5, 1.5, 9.2, 4.6, 3.1]
'''

1.2 获取内存信息:

#!/usr/bin/env python
# coding=utf-8
"""
# @Time    : 2024/4/15
# @Author  : Summer
# @File    : psutil_test
# @describe:
"""

import psutil

# 获取物理内存
print(psutil.virtual_memory())

# 获取交换内存
print(psutil.swap_memory())

'''
svmem(total=16855855104, available=2151362560, percent=87.2, used=14704492544, free=2151362560)
sswap(total=15032385536, used=2116206591, free=12916178945, percent=14.1, sin=0, sout=0)
'''

1.3 获取磁盘信息:

在这里插入图片描述

#!/usr/bin/env python
# coding=utf-8
"""
# @Time    : 2024/4/15
# @Author  : Summer
# @File    : psutil_test
# @describe:
"""

import psutil

# 获取磁盘总的IO统计信息
print(psutil.disk_io_counters())
# sdiskio(read_count=7619232, write_count=13326738, read_bytes=274449818624, write_bytes=273096798720, 
# read_time=6312, write_time=4962)
# 获取磁盘分区信息
print(psutil.disk_partitions())

# [sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed', maxfile=255, maxpath=260), 
# sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed', maxfile=255, maxpath=260), 
# sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed', maxfile=255, maxpath=260)]
# 获取磁盘使用情况
print(psutil.disk_usage('/'))  # 示例中的'/'表示根目录,在Windows中是'C:\\'等
# sdiskusage(total=202938249216, used=42788544512, free=160149704704, percent=21.1)

1.4 获取网络信息:

在这里插入图片描述

#!/usr/bin/env python
# coding=utf-8
"""
# @Time    : 2024/4/15
# @Author  : Summer
# @File    : psutil_test
# @describe:
"""

import psutil

# 获取网络总的IO统计信息
print(psutil.net_io_counters())

# 获取当前网络连接信息
print(psutil.net_connections())

1.5 进程管理:

在这里插入图片描述
参数使用:
name:获取进程的名称
cmdline:获取启动进程的命令行参数
create_time:获取进程的创建时间(时间戳格式)
num_fds:进程打开的文件个数
num_threads:进程的子进程个数
is_running:判断进程是否正在运行
send_signal:给进程发送信号,类似与os.kill等
kill:发送SIGKILL信号结束进程
terminate:发送SIGTEAM信号结束进程

#!/usr/bin/env python
# coding=utf-8
"""
# @Time    : 2024/4/15
# @Author  : Summer
# @File    : psutil_test
# @describe:
"""

import psutil

# 获取当前系统所有进程ID
for proc in psutil.process_iter(['pid', 'name']):
    print(proc.info)

# 获取特定进程
pid = 492  # 假设进程ID为492
p = psutil.Process(pid)

# 获取进程的CPU时间、内存、打开的文件、网络连接等信息
print(p.cpu_times())
print(p.memory_info())
print(p.open_files())
print(p.connections())

# 终止进程
p.terminate()

2 psutil应用场景

系统监控:编写脚本或者应用来定期检查系统资源的使用情况,例如检测CPU、内存的用量是否超过阈值,以决定是否需要调整系统负载或者发出警报。

性能分析:用于分析程序运行时占用的系统资源,以优化程序性能。

服务器管理:可以用于远程监测服务器状态,实现自动化资源管理,例如定期检查服务器的健康状况,包括CPU温度、风扇速度等。

进程管理:监控特定进程的行为,包括进程的启动、运行状态、资源使用情况等,也可以用来开发一些任务管理器类的应用。

网络监测:分析网络的使用状况,监控网络连接和带宽使用。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天Aileft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值