psutil的使用方法以及当前程序内存使用量

获取内存使用率

psutil.Process() 会返回当前进程的 Process 对象,然后调用 memory_info() 方法来获取进程的内存信息,其中 rss 属性表示当前进程占用的实际物理内存大小。最后,通过格式化字符串将结果输出。
需要注意的是,由于 psutil 库是一个第三方库,需要先安装才能使用。可以通过 pip 命令来安装 psutil,例如 pip install psutil。
另外,由于不同操作系统对内存占用的计算方式不同,因此在跨平台使用时需要注意

print("当前占用内存大小:%.2f M" % (psutil.Process().memory_info().rss / (1024 * 1024)))

psutil 是一个跨平台的系统信息获取库,可以用于获取系统的 CPU、内存、磁盘、网络等信息。除了获取当前进程的信息,psutil 还提供了许多其他的使用方法,例如:

获取系统 CPU 使用率

import psutil # 获取 CPU 使用率,返回一个百分比 cpu_percent = psutil.cpu_percent()

获取系统内存使用情况

import psutil # 获取系统内存使用情况 mem = psutil.virtual_memory() # 获取系统内存总量,单位是字节 total = mem.total # 获取系统可用内存总量,单位是字节 available = mem.available # 获取系统内存使用率,返回一个百分比 percent = mem.percent

获取系统磁盘使用情况

import psutil # 获取系统磁盘使用情况 disk = psutil.disk_usage('/') # 获取磁盘总大小,单位是字节 total = disk.total # 获取磁盘已使用大小,单位是字节 used = disk.used # 获取磁盘可用大小,单位是字节 free = disk.free # 获取磁盘使用率,返回一个百分比 percent = disk.percent

获取系统网络连接情况

import psutil # 获取系统网络连接情况 connections = psutil.net_connections() # 遍历所有网络连接 for conn in connections: # 获取连接的本地地址 laddr = conn.laddr # 获取连接的远程地址 raddr = conn.raddr # 获取连接的状态 status = conn.status

获取系统进程信息

import psutil # 获取系统所有进程信息 processes = psutil.process_iter() # 遍历所有进程 for process in processes: # 获取进程 ID pid = process.pid # 获取进程名称 name = process.name() # 获取进程执行命令 cmdline = process.cmdline() # 获取进程 CPU 占用率,返回一个百分比 cpu_percent = process.cpu_percent() # 获取进程内存使用情况 mem_info = process.memory_info() # 获取进程状态 status = process.status()

以上只是 psutil 库提供的一些常用方法,还有许多其他的使用方法可以查看官方文档。需要注意的是,由于 psutil 库需要访问系统底层信息,因此需要以管理员权限运行。在 Linux 系统中,可以使用 sudo 命令来运行 Python 程序;在 Windows 系统中,可以以管理员身份运行命令提示符或 PowerShell 窗口。

header-icon
还有更多的使用 方法吗

header-icon
是的,除了上述提到的 psutil 库的常用方法之外,还有其他一些有用的方法,例如:

获取系统进程的子进程列表

import psutil # 获取当前进程的子进程列表 children = psutil.Process().children(recursive=True)

获取系统用户列表

import psutil # 获取系统用户列表 users = psutil.users() # 遍历所有用户 for user in users: # 获取用户名 username = user.name # 获取用户终端 terminal = user.terminal # 获取用户登录时间 started = user.started

获取系统启动时间

import psutil # 获取系统启动时间 boot_time = psutil.boot_time()

获取系统 CPU 核心数

import psutil # 获取 CPU 核心数 cpu_count = psutil.cpu_count()

获取系统 CPU 逻辑核心数

import psutil # 获取 CPU 逻辑核心数 logical_cpu_count = psutil.cpu_count(logical=True)

获取系统 CPU 频率

import psutil # 获取 CPU 频率 cpu_freq = psutil.cpu_freq() # 获取 CPU 当前频率 current_freq = cpu_freq.current # 获取 CPU 最大频率 max_freq = cpu_freq.max # 获取 CPU 最小频率 min_freq = cpu_freq.min

获取系统网络 IO 信息

import psutil # 获取系统网络 IO 信息 net_io_info = psutil.net_io_counters() # 获取网络总字节数 bytes_sent = net_io_info.bytes_sent bytes_recv = net_io_info.bytes_recv # 获取网络总数据包数 packets_sent = net_io_info.packets_sent packets_recv = net_io_info.packets_recv

获取系统硬盘 IO 信息

import psutil # 获取系统硬盘 IO 信息 disk_io_info = psutil.disk_io_counters() # 获取硬盘总读写字节数 read_bytes = disk_io_info.read_bytes write_bytes = disk_io_info.write_bytes # 获取硬盘总读写次数 read_count = disk_io_info.read_count write_count = disk_io_info.write_count

需要注意的是,由于 psutil 库需要访问系统底层信息,因此需要以管理员权限运行。在 Linux 系统中,可以使用 sudo 命令来运行 Python 程序;在 Windows 系统中,可以以管理员身份运行命令提示符或 PowerShell 窗口。