使用python 检测任务管理器内存、GPU、CPU占用,指定软件的内存占用
时间: 2024-09-13 15:02:18 浏览: 174
在Python中,你可以使用第三方库来检测系统资源的使用情况,包括内存、GPU和CPU占用。以下是一些常用的库和工具:
1. `psutil`:这是一个跨平台库,可以用来获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)的信息。
2. `GPUtil`:这是一个用于检测NVIDIA GPU状态的Python库,可以显示当前GPU的内存和CPU占用。
3. `pynvml`:这个库是NVIDIA Management Library的Python封装,提供了访问NVIDIA GPU设备状态的接口。
下面是一个简单的示例,展示如何使用这些库来获取系统资源的占用情况:
```python
import psutil
import GPUtil
# 获取CPU占用率
cpu_usage = psutil.cpu_percent(interval=1)
# 获取内存使用情况
memory_usage = psutil.virtual_memory()
memory_total = memory_usage.total
memory_used = memory_usage.used
memory_free = memory_usage.free
# 获取GPU使用情况
gpus = GPUtil.getGPUs()
for gpu in gpus:
gpu_name = gpu.name
gpu_memory_used = gpu.memoryUsed
gpu_memory_total = gpu.memoryTotal
gpu负荷 = gpu.load*100
# 获取特定软件的内存占用
# 注意:这通常需要特定的方法,可能需要结合操作系统命令
# 例如,在Windows系统中,你可以使用以下代码
# 请确保你知道要检测的进程名称
proc_name = 'process.exe'
for proc in psutil.process_iter(['pid', 'name']):
if proc.info['name'] == proc_name:
pid = proc.info['pid']
mem_info = psutil.Process(pid).memory_info()
mem_usage = mem_info.rss
break
# 输出结果
print(f"CPU Usage: {cpu_usage}%")
print(f"Total Memory: {memory_total / (1024**3)} GB")
print(f"Used Memory: {memory_used / (1024**3)} GB")
print(f"Free Memory: {memory_free / (1024**3)} GB")
for gpu in gpus:
print(f"GPU: {gpu_name}")
print(f"Memory Used: {gpu_memory_used / (1024**2)} MB")
print(f"Memory Total: {gpu_memory_total / (1024**2)} MB")
print(f"Load: {gpu负荷}%")
```
请注意,`GPUtil`和`pynvml`通常只适用于NVIDIA的GPU,如果你使用的是AMD或Intel的GPU,可能需要寻找其他特定的库。
阅读全文