获取内存使用率
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 窗口。