from django.db import models class BaseProcessMonitor(models.Model): """进程监控基类""" pid = models.IntegerField(verbose_name="进程ID") process_name = models.CharField(max_length=255, verbose_name="进程名称") log_path = models.CharField(max_length=255, verbose_name="日志路径") is_active = models.BooleanField(default=True, verbose_name="是否活跃") created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间") status = models.IntegerField(default=1, verbose_name="进程状态", help_text="1:运行中, 0:已停止") # 基本资源信息 cpu_usage = models.FloatField(default=0, verbose_name="CPU使用率(%)") memory_usage = models.FloatField(default=0, verbose_name="内存使用量(GB)") gpu_usage = models.FloatField(default=0, verbose_name="GPU使用率(%)") gpu_memory = models.FloatField(default=0, verbose_name="GPU显存使用量(MB)") virtual_memory = models.FloatField(default=0, verbose_name="虚拟内存使用量(GB)") class Meta: abstract = True class HighCPUProcess(BaseProcessMonitor): """高CPU使用进程监控""" cpu_cores = models.IntegerField(default=0, verbose_name="使用的CPU核心数") class Meta: verbose_name = "高CPU进程" verbose_name_plural = "高CPU进程" class HighGPUProcess(BaseProcessMonitor): """高GPU使用进程监控""" gpu_index = models.IntegerField(default=0, verbose_name="GPU设备索引") class Meta: verbose_name = "高GPU进程" verbose_name_plural = "高GPU进程" class HighMemoryProcess(BaseProcessMonitor): """高内存使用进程监控""" swap_usage = models.FloatField(default=0, verbose_name="交换空间使用量(GB)") class Meta: verbose_name = "高内存进程" verbose_name_plural = "高内存进程"