psutil 模块

psutil 模块是一个 Python 库,用于获取系统和进程信息。它提供了与系统资源使用情况、系统进程、CPU、内存、磁盘和网络等相关的功能。这个模块非常适合用于性能监控、系统管理、分析和调试等任务。 

功能分类总结表格

功能分类函数/方法/属性描述示例
系统信息psutil.cpu_count(logical=True)获取 CPU 核心数,logical 指定是否包括逻辑 CPU。psutil.cpu_count(logical=True)
psutil.cpu_percent(interval=None)返回当前 CPU 的使用率百分比。interval 指定测量间隔。psutil.cpu_percent(interval=1)
psutil.virtual_memory()获取系统虚拟内存的使用情况psutil.virtual_memory()
psutil.swap_memory()获取系统交换内存的使用情况psutil.swap_memory()
psutil.disk_partitions()获取磁盘分区信息psutil.disk_partitions()
psutil.disk_usage(path)获取指定路径的磁盘使用情况psutil.disk_usage('/')
psutil.disk_io_counters()获取系统的磁盘 I/O 计数器psutil.disk_io_counters()
psutil.net_io_counters()获取系统的网络 I/O 计数器psutil.net_io_counters()
psutil.boot_time()获取系统启动时间psutil.boot_time()
进程管理psutil.pid_exists(pid)检查是否存在具有给定 PID 的进程psutil.pid_exists(1234)
psutil.pids()返回系统中所有进程的 PID 列表psutil.pids()
psutil.process_iter()迭代当前运行的所有进程的 psutil.Process 对象for proc in psutil.process_iter(): print(proc)
psutil.process_iter(['pid1', 'pid2'])迭代指定 PID 的 psutil.Process 对象列表for proc in psutil.process_iter([1234, 5678]): print(proc)
进程信息psutil.Process(pid)创建一个 Process 对象,表示具有给定 PID 的进程proc = psutil.Process(1234)
psutil.Process.name()返回进程的名称proc.name()
psutil.Process.pid获取进程 IDproc.pid
psutil.Process.ppid()获取父进程 IDproc.ppid()
psutil.Process.status()获取进程状态proc.status()
psutil.Process.cpu_times()获取进程的 CPU 时间信息proc.cpu_times()
psutil.Process.memory_info()获取进程的内存使用情况proc.memory_info()
psutil.Process.memory_full_info()获取进程的详细内存使用情况proc.memory_full_info()
psutil.Process.create_time()获取进程的创建时间proc.create_time()
psutil.Process.cmdline()获取启动进程的命令行参数proc.cmdline()
psutil.Process.exe()获取启动进程的可执行文件路径proc.exe()
psutil.Process.cwd()获取进程的当前工作目录proc.cwd()
psutil.Process.num_threads()获取进程的线程数proc.num_threads()
psutil.Process.threads()获取进程的所有线程信息proc.threads()
psutil.Process.nice()获取或设置进程的“nice”值,即进程优先级proc.nice()
psutil.Process.ionice()获取或设置进程的 I/O 优先级proc.ionice()
psutil.Process.terminate()结束进程proc.terminate()
psutil.Process.kill()强制杀死进程proc.kill()
psutil.Process.wait(timeout=None)等待进程结束,timeout 指定超时时间proc.wait(timeout=10)
进程限制psutil.Process.set_cpu_affinity(mask)设置进程的 CPU 亲和性,mask 是 CPU 位掩码proc.set_cpu_affinity([0, 1])
psutil.Process.cpu_affinity()获取进程的 CPU 亲和性proc.cpu_affinity()
psutil.Process.set_nice(value)设置进程的“nice”值proc.set_nice(10)
psutil.Process.set_ionice(value)设置进程的 I/O 优先级proc.set_ionice(2)
系统限制psutil.cpu_affinity()设置系统级别的 CPU 亲和性psutil.cpu_affinity([0, 1])
psutil.disk_io_counters()获取系统的磁盘 I/O 统计信息psutil.disk_io_counters()
psutil.users()获取当前登录到系统的所有用户的信息psutil.users()

使用示例

import psutil

# 系统信息示例
print("CPU 核心数(逻辑):", psutil.cpu_count(logical=True))
print("CPU 使用率:", psutil.cpu_percent(interval=1))
print("虚拟内存信息:", psutil.virtual_memory())
print("交换内存信息:", psutil.swap_memory())
print("磁盘分区信息:", psutil.disk_partitions())
print("磁盘使用情况:", psutil.disk_usage('/'))
print("网络 I/O 计数器:", psutil.net_io_counters())
print("系统启动时间:", psutil.boot_time())

# 进程管理示例
pid = 1234
if psutil.pid_exists(pid):
    proc = psutil.Process(pid)
    print("进程名称:", proc.name())
    print("进程路径:", proc.exe())
    print("进程工作目录:", proc.cwd())
    print("进程命令行参数:", proc.cmdline())
    print("进程状态:", proc.status())
    print("进程 CPU 时间信息:", proc.cpu_times())
    print("进程内存信息:", proc.memory_info())
    print("进程线程数:", proc.num_threads())

# 进程限制示例
proc.set_cpu_affinity([0, 1])
print("进程 CPU 亲和性:", proc.cpu_affinity())
proc.set_nice(10)
print("进程 nice 值:", proc.nice())
proc.set_ionice(2)
print("进程 I/O 优先级:", proc.ionice())

# 系统限制示例
print("系统磁盘 I/O 统计信息:", psutil.disk_io_counters())
print("系统当前用户信息:", psutil.users())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ZZDICT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值