使用python脚本来查看WSL的内存和cpu使用情况
编写一个python文件,放在项目目录下:
sudo vi check_memory_usage_formatted.py
代码如下:
import argparse import psutil from tabulate import tabulate def print_process_info(process): try: pid = process.pid name = process.name() memory_info = process.memory_info() memory_percent = process.memory_percent() cpu_percent = process.cpu_percent(interval=0.1) return [pid, name, f"{memory_info.rss / 1024 / 1024:.2f} MB", f"{memory_percent:.2f}%", f"{cpu_percent:.2f}%"] except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): return None def main(): parser = argparse.ArgumentParser(description='查看进程的内存和 CPU 占用情况') parser.add_argument('process_name', nargs='?', help='可选参数,指定要查看的进程名') args = parser.parse_args() table_data = [] headers = ["PID", "进程名", "内存占用", "内存占用百分比", "CPU 占用百分比"] total_memory = 0 total_cpu = 0 if args.process_name: for proc in psutil.process_iter(['name']): info = print_process_info(proc) if info and info[1] == args.process_name: table_data.append(info) total_memory += float(info[2].split()[0]) total_cpu += float(info[4].rstrip('%')) else: for proc in psutil.process_iter(['name']): info = print_process_info(proc) if info: table_data.append(info) total_memory += float(info[2].split()[0]) total_cpu += float(info[4].rstrip('%')) # 输出内存使用汇总 print(f"总内存占用: {total_memory:.2f} MB") print(f"总 CPU 占用: {total_cpu:.2f}%") if table_data: print(tabulate(table_data, headers=headers, tablefmt="grid")) else: print("未找到相关进程信息。") if __name__ == "__main__": main()
如果包没有安装,则启动虚拟环境进行安装:
source /home/hans/Tdx/prod_venv/bin/activate
pip install psutil
pip install tabulate
安装完成后执行
python3 check_memory_usage_formatted.py
浙公网安备 33010602011771号