diff --git a/agent/app/dto/monitor.go b/agent/app/dto/monitor.go index e68bdacba..8a275083c 100644 --- a/agent/app/dto/monitor.go +++ b/agent/app/dto/monitor.go @@ -48,25 +48,20 @@ type MonitorGPUSearch struct { EndTime time.Time `json:"endTime"` } type MonitorGPUData struct { - Date []time.Time `json:"date"` - GPUValue []float64 `json:"gpuValue"` - TemperatureValue []float64 `json:"temperatureValue"` - PowerValue []GPUPowerUsageHelper `json:"powerValue"` - MemoryValue []GPUMemoryUsageHelper `json:"memoryValue"` - SpeedValue []int `json:"speedValue"` -} -type GPUPowerUsageHelper struct { - Total float64 `json:"total"` - Used float64 `json:"used"` - Percent float64 `json:"percent"` -} -type GPUMemoryUsageHelper struct { - Total float64 `json:"total"` - Used float64 `json:"used"` - Percent float64 `json:"percent"` + Date []time.Time `json:"date"` + GPUValue []float64 `json:"gpuValue"` + TemperatureValue []float64 `json:"temperatureValue"` + PowerTotal []float64 `json:"powerTotal"` + PowerUsed []float64 `json:"powerUsed"` + PowerPercent []float64 `json:"powerPercent"` + MemoryTotal []float64 `json:"memoryTotal"` + MemoryUsed []float64 `json:"memoryUsed"` + MemoryPercent []float64 `json:"memoryPercent"` + SpeedValue []int `json:"speedValue"` - GPUProcesses []GPUProcess `json:"gpuProcesses"` + GPUProcesses [][]GPUProcess `json:"gpuProcesses"` } + type GPUProcess struct { Pid string `json:"pid"` Type string `json:"type"` diff --git a/agent/app/service/monitor.go b/agent/app/service/monitor.go index c3cdb8e08..ee68adf98 100644 --- a/agent/app/service/monitor.go +++ b/agent/app/service/monitor.go @@ -165,24 +165,27 @@ func (m *MonitorService) LoadGPUMonitorData(req dto.MonitorGPUSearch) (dto.Monit data.Date = append(data.Date, gpu.CreatedAt) data.GPUValue = append(data.GPUValue, gpu.GPUUtil) data.TemperatureValue = append(data.TemperatureValue, gpu.Temperature) - powerItem := dto.GPUPowerUsageHelper{ - Total: gpu.MaxPowerLimit, - Used: gpu.PowerDraw, + data.PowerUsed = append(data.PowerUsed, gpu.PowerDraw) + data.PowerTotal = append(data.PowerTotal, gpu.MaxPowerLimit) + if gpu.MaxPowerLimit != 0 { + data.PowerPercent = append(data.PowerPercent, gpu.PowerDraw/gpu.MaxPowerLimit*100) + } else { + data.PowerPercent = append(data.PowerPercent, float64(0)) } - if powerItem.Total != 0 { - powerItem.Percent = powerItem.Used / powerItem.Total - } - data.PowerValue = append(data.PowerValue, powerItem) - memItem := dto.GPUMemoryUsageHelper{ - Total: gpu.MemTotal, - Used: gpu.MemUsed, - Percent: gpu.MemUsed / gpu.MemTotal * 100, + + data.MemoryTotal = append(data.MemoryTotal, gpu.MemTotal) + data.MemoryUsed = append(data.MemoryUsed, gpu.MemUsed) + if gpu.MemTotal != 0 { + data.MemoryPercent = append(data.MemoryPercent, gpu.MemUsed/gpu.MemTotal*100) + } else { + data.MemoryPercent = append(data.MemoryPercent, float64(0)) } var process []dto.GPUProcess if err := json.Unmarshal([]byte(gpu.Processes), &process); err == nil { - memItem.GPUProcesses = process + data.GPUProcesses = append(data.GPUProcesses, process) + } else { + data.GPUProcesses = append(data.GPUProcesses, []dto.GPUProcess{}) } - data.MemoryValue = append(data.MemoryValue, memItem) data.SpeedValue = append(data.SpeedValue, gpu.FanSpeed) } return data, nil @@ -606,7 +609,6 @@ func saveXPUDataToDB() { for _, xpuItem := range xpuInfo.Xpu { item := model.MonitorGPU{ ProductName: fmt.Sprintf("%d - %s", xpuItem.Basic.DeviceID, xpuItem.Basic.DeviceName), - GPUUtil: loadGPUInfoFloat(xpuItem.Stats.MemoryUtil), Temperature: loadGPUInfoFloat(xpuItem.Stats.Temperature), PowerDraw: loadGPUInfoFloat(xpuItem.Stats.Power), MemUsed: loadGPUInfoFloat(xpuItem.Stats.MemoryUsed), diff --git a/frontend/src/api/interface/host.ts b/frontend/src/api/interface/host.ts index 5e38013e6..61760ceb2 100644 --- a/frontend/src/api/interface/host.ts +++ b/frontend/src/api/interface/host.ts @@ -174,20 +174,14 @@ export namespace Host { date: Array; gpuValue: Array; temperatureValue: Array; - powerValue: Array; - memoryValue: Array; + powerTotal: Array; + powerUsed: Array; + powerPercent: Array; + memoryTotal: Array; + memoryUsed: Array; + memoryPercent: Array; speedValue: Array; - } - export interface GPUPowerUsageHelper { - total: number; - used: number; - percent: number; - } - export interface GPUMemoryUsageHelper { - total: number; - used: number; - percent: number; - gpuProcesses: Array; + gpuProcesses: Array>; } export interface GPUProcess { pid: string; diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index c4e5be1b1..fc8d2b7a3 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -680,42 +680,29 @@ const message = { whiteListHelper: 'Restrict access to only IPs in the whitelist', }, gpu: { - gpu: 'GPU Monitor', - base: 'Basic Information', - gpuHelper: 'NVIDIA-SMI or XPU-SMI command not detected on the current system. Please check and try again!', - driverVersion: 'Driver Version', - cudaVersion: 'CUDA Version', + gpu: 'GPU Monitoring', + gpuHelper: 'The system did not detect NVIDIA-SMI or XPU-SMI commands. Please check and try again!', process: 'Process Information', type: 'Type', typeG: 'Graphics', typeC: 'Compute', - typeCG: 'Compute + Graphics', + typeCG: 'Compute+Graphics', processName: 'Process Name', - processMemoryUsage: 'Memory Usage', - temperatureHelper: 'High GPU temperature can cause GPU frequency throttling', - performanceStateHelper: 'From P0 (maximum performance) to P12 (minimum performance)', - busID: 'Bus ID', - persistenceMode: 'Persistence Mode', - enabled: 'Enabled', - disabled: 'Disabled', - persistenceModeHelper: - 'Persistence mode allows quicker task responses but increases standby power consumption.', - displayActive: 'Graphics Card Initialized', - displayActiveT: 'Yes', - displayActiveF: 'No', - ecc: 'Error Correction and Check Technology', - computeMode: 'Compute Mode', - default: 'Default', - exclusiveProcess: 'Exclusive Process', - exclusiveThread: 'Exclusive Thread', - prohibited: 'Prohibited', - defaultHelper: 'Default: Processes can execute concurrently', - exclusiveProcessHelper: - 'Exclusive Process: Only one CUDA context can use the GPU, but can be shared by multiple threads', - exclusiveThreadHelper: 'Exclusive Thread: Only one thread in a CUDA context can use the GPU', - prohibitedHelper: 'Prohibited: Processes are not allowed to execute simultaneously', - migModeHelper: 'Used to create MIG instances for physical isolation of the GPU at the user level.', - migModeNA: 'Not Supported', + shr: 'Shared Memory', + temperatureHelper: 'High GPU temperature may cause GPU frequency reduction', + gpuUtil: 'GPU Utilization', + temperature: 'Temperature', + performanceState: 'Performance State', + powerUsage: 'Power Consumption', + memoryUsage: 'Memory Utilization', + fanSpeed: 'Fan Speed', + power: 'Power', + powerCurrent: 'Current Power', + powerLimit: 'Power Limit', + memory: 'Memory', + memoryUsed: 'Memory Used', + memoryTotal: 'Total Memory', + percent: 'Utilization', }, mcp: { server: 'MCP Server', @@ -1235,13 +1222,6 @@ const message = { down: 'Down', interval: 'Collection Interval', intervalHelper: 'Please enter an appropriate monitoring collection interval (5 seconds - 12 hours)', - - gpuUtil: 'GPU Utilization', - temperature: 'Temperature', - performanceState: 'Performance state', - powerUsage: 'Power usage', - memoryUsage: 'Memory usage', - fanSpeed: 'Fan speed', }, terminal: { local: 'Local', diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index e0924b28a..4315b0265 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -679,43 +679,29 @@ const message = { whiteListHelper: 'Restringir el acceso solo a las IP incluidas en la lista blanca', }, gpu: { - gpu: 'Monitor de GPU', - base: 'Información básica', - gpuHelper: - 'No se detectó el comando NVIDIA-SMI o XPU-SMI en el sistema actual. ¡Por favor verifique e intente nuevamente!', - driverVersion: 'Versión del controlador', - cudaVersion: 'Versión de CUDA', - process: 'Información del proceso', + gpu: 'Monitoreo de GPU', + gpuHelper: 'El sistema no detectó comandos NVIDIA-SMI o XPU-SMI. ¡Compruebe e inténtelo de nuevo!', + process: 'Información del Proceso', type: 'Tipo', typeG: 'Gráficos', typeC: 'Cómputo', - typeCG: 'Cómputo + Gráficos', - processName: 'Nombre del proceso', - processMemoryUsage: 'Uso de memoria', - temperatureHelper: 'Una temperatura alta de la GPU puede causar reducción de frecuencia', - performanceStateHelper: 'Desde P0 (máximo rendimiento) hasta P12 (mínimo rendimiento)', - busID: 'ID del bus', - persistenceMode: 'Modo de persistencia', - enabled: 'Habilitado', - disabled: 'Deshabilitado', - persistenceModeHelper: - 'El modo de persistencia permite respuestas más rápidas, pero incrementa el consumo en reposo.', - displayActive: 'Tarjeta gráfica inicializada', - displayActiveT: 'Sí', - displayActiveF: 'No', - ecc: 'Tecnología de corrección y verificación de errores', - computeMode: 'Modo de cómputo', - default: 'Predeterminado', - exclusiveProcess: 'Proceso exclusivo', - exclusiveThread: 'Hilo exclusivo', - prohibited: 'Prohibido', - defaultHelper: 'Predeterminado: Los procesos pueden ejecutarse simultáneamente', - exclusiveProcessHelper: - 'Proceso exclusivo: Solo un contexto CUDA puede usar la GPU, pero puede ser compartido por varios hilos', - exclusiveThreadHelper: 'Hilo exclusivo: Solo un hilo en un contexto CUDA puede usar la GPU', - prohibitedHelper: 'Prohibido: No se permite la ejecución simultánea de procesos', - migModeHelper: 'Se utiliza para crear instancias MIG y aislar físicamente la GPU a nivel de usuario.', - migModeNA: 'No compatible', + typeCG: 'Cómputo+Gráficos', + processName: 'Nombre del Proceso', + shr: 'Memoria Compartida', + temperatureHelper: 'La alta temperatura de la GPU puede causar una reducción de la frecuencia de la GPU', + gpuUtil: 'Utilización de GPU', + temperature: 'Temperatura', + performanceState: 'Estado de Rendimiento', + powerUsage: 'Consumo de Energía', + memoryUsage: 'Utilización de Memoria', + fanSpeed: 'Velocidad del Ventilador', + power: 'Energía', + powerCurrent: 'Energía Actual', + powerLimit: 'Límite de Energía', + memory: 'Memoria', + memoryUsed: 'Memoria Utilizada', + memoryTotal: 'Memoria Total', + percent: 'Utilización', }, mcp: { server: 'Servidor MCP', @@ -1243,12 +1229,6 @@ const message = { down: 'Bajada', interval: 'Intervalo de Recolección', intervalHelper: 'Ingrese un intervalo de recolección de monitoreo apropiado (5 segundos - 12 horas)', - gpuUtil: 'Uso de GPU', - temperature: 'Temperatura', - performanceState: 'Estado de rendimiento', - powerUsage: 'Consumo de energía', - memoryUsage: 'Uso de memoria', - fanSpeed: 'Velocidad del ventilador', }, terminal: { local: 'Local', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 9f657fb20..1b189d05a 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -667,42 +667,30 @@ const message = { whiteListHelper: 'ホワイトリスト内のIPのみアクセスを許可する', }, gpu: { - gpu: 'GPUモニター', - base: '基本情報', + gpu: 'GPU 監視', gpuHelper: - '現在のシステムでNVIDIA-SMIまたはXPU-SMIコマンドが検出されませんでした。確認して再試行してください!', - driverVersion: 'ドライバーバージョン', - cudaVersion: 'CUDAバージョン', + 'システムが NVIDIA-SMI または XPU-SMI コマンドを検出しませんでした。確認して再試行してください!', process: 'プロセス情報', type: 'タイプ', typeG: 'グラフィックス', typeC: 'コンピュート', - typeCG: 'コンピュート + グラフィックス', + typeCG: 'コンピュート+グラフィックス', processName: 'プロセス名', - processMemoryUsage: 'メモリ使用量', - temperatureHelper: '高いGPU温度はGPUの周波数制限を引き起こす可能性があります', - performanceStateHelper: 'P0(最大性能)からP12(最小性能)まで', - busID: 'バスID', - persistenceMode: '永続モード', - enabled: '有効', - disabled: '無効', - persistenceModeHelper: '永続モードはタスクの応答速度を速くしますが、待機時の消費電力が増加します。', - displayActive: 'グラフィックカード初期化済み', - displayActiveT: 'はい', - displayActiveF: 'いいえ', - ecc: 'エラー訂正およびチェック技術', - computeMode: 'コンピュートモード', - default: 'デフォルト', - exclusiveProcess: '専用プロセス', - exclusiveThread: '専用スレッド', - prohibited: '禁止', - defaultHelper: 'デフォルト:プロセスは並行して実行できます', - exclusiveProcessHelper: - '専用プロセス:1つのCUDAコンテキストのみがGPUを使用できますが、複数のスレッドで共有できます', - exclusiveThreadHelper: '専用スレッド:CUDAコンテキスト内の1つのスレッドのみがGPUを使用できます', - prohibitedHelper: '禁止:プロセスは同時に実行できません', - migModeHelper: 'ユーザーレベルでGPUの物理的分離を行うためのMIGインスタンスを作成するために使用されます。', - migModeNA: 'サポートされていません', + shr: '共有メモリ', + temperatureHelper: 'GPU 温度が高いと GPU 周波数が低下する可能性があります', + gpuUtil: 'GPU 使用率', + temperature: '温度', + performanceState: 'パフォーマンス状態', + powerUsage: '消費電力', + memoryUsage: 'メモリ使用率', + fanSpeed: 'ファン速度', + power: '電力', + powerCurrent: '現在の電力', + powerLimit: '電力上限', + memory: 'メモリ', + memoryUsed: '使用メモリ', + memoryTotal: '総メモリ', + percent: '使用率', }, mcp: { server: 'MCP サーバー', @@ -1199,13 +1187,6 @@ const message = { down: '下', interval: '収集間隔', intervalHelper: '適切な監視収集間隔を入力してください(5秒 - 12時間)', - - gpuUtil: 'GPU利用', - temperature: '温度', - performanceState: 'パフォーマンス状態', - powerUsage: '電力使用量', - memoryUsage: 'メモリの使用', - fanSpeed: 'ファンの速度', }, terminal: { local: 'ローカル', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 7621b9c9e..2016e24f3 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -664,41 +664,29 @@ const message = { whiteListHelper: '화이트리스트에 있는 IP만 접근 허용', }, gpu: { - gpu: 'GPU 모니터', - base: '기본 정보', - gpuHelper: '현재 시스템에서 NVIDIA-SMI 또는 XPU-SMI 명령이 감지되지 않았습니다. 확인 후 다시 시도하세요!', - driverVersion: '드라이버 버전', - cudaVersion: 'CUDA 버전', + gpu: 'GPU 모니터링', + gpuHelper: '시스템에서 NVIDIA-SMI 또는 XPU-SMI 명령을 감지하지 못했습니다. 확인하고 다시 시도하세요!', process: '프로세스 정보', type: '유형', typeG: '그래픽', - typeC: '연산', - typeCG: '연산 + 그래픽', + typeC: '컴퓨팅', + typeCG: '컴퓨팅+그래픽', processName: '프로세스 이름', - processMemoryUsage: '메모리 사용량', - temperatureHelper: 'GPU 온도가 높으면 GPU 주파수 제한이 발생할 수 있습니다.', - performanceStateHelper: 'P0(최대 성능)부터 P12(최소 성능)까지', - busID: '버스 ID', - persistenceMode: '지속 모드', - enabled: '활성화됨', - disabled: '비활성화됨', - persistenceModeHelper: '지속 모드는 작업 응답 속도를 빠르게 하지만 대기 전력 소비를 증가시킵니다.', - displayActive: '그래픽 카드 초기화됨', - displayActiveT: '예', - displayActiveF: '아니요', - ecc: '오류 감지 및 수정 기술', - computeMode: '연산 모드', - default: '기본값', - exclusiveProcess: '단독 프로세스', - exclusiveThread: '단독 스레드', - prohibited: '금지됨', - defaultHelper: '기본값: 프로세스가 동시에 실행될 수 있음', - exclusiveProcessHelper: - '단독 프로세스: 하나의 CUDA 컨텍스트만 GPU 를 사용할 수 있지만, 여러 스레드에서 공유 가능', - exclusiveThreadHelper: '단독 스레드: CUDA 컨텍스트의 하나의 스레드만 GPU 를 사용할 수 있음', - prohibitedHelper: '금지됨: 프로세스가 동시에 실행되는 것이 허용되지 않음', - migModeHelper: '사용자 수준에서 GPU 를 물리적으로 분리하는 MIG 인스턴스를 생성하는 데 사용됩니다.', - migModeNA: '지원되지 않음', + shr: '공유 메모리', + temperatureHelper: 'GPU 온도가 높으면 GPU 주파수가 감소할 수 있습니다', + gpuUtil: 'GPU 사용률', + temperature: '온도', + performanceState: '성능 상태', + powerUsage: '전력 소비', + memoryUsage: '메모리 사용률', + fanSpeed: '팬 속도', + power: '전력', + powerCurrent: '현재 전력', + powerLimit: '전력 제한', + memory: '메모리', + memoryUsed: '사용된 메모리', + memoryTotal: '전체 메모리', + percent: '사용률', }, mcp: { server: 'MCP サーバー', @@ -1191,13 +1179,6 @@ const message = { down: '다운', interval: '수집 간격', intervalHelper: '적절한 모니터링 수집 간격을 입력하세요 (5초 - 12시간)', - - gpuUtil: 'GPU 사용률', - temperature: '온도', - performanceState: '성능 상태', - powerUsage: '전력 사용량', - memoryUsage: '메모리 사용량', - fanSpeed: '팬 속도', }, terminal: { local: '로컬', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 861ad626f..37e7d8d54 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -680,42 +680,29 @@ const message = { whiteListHelper: 'Hadkan akses kepada hanya IP dalam senarai putih', }, gpu: { - gpu: 'Monitor GPU', - base: 'Maklumat Asas', - gpuHelper: 'Perintah NVIDIA-SMI atau XPU-SMI tidak dikesan pada sistem semasa. Sila periksa dan cuba lagi!', - driverVersion: 'Versi Pemacu', - cudaVersion: 'Versi CUDA', + gpu: 'Pemantauan GPU', + gpuHelper: 'Sistem tidak mengesan arahan NVIDIA-SMI atau XPU-SMI. Sila periksa dan cuba lagi!', process: 'Maklumat Proses', type: 'Jenis', typeG: 'Grafik', typeC: 'Pengiraan', - typeCG: 'Pengiraan + Grafik', + typeCG: 'Pengiraan+Grafik', processName: 'Nama Proses', - processMemoryUsage: 'Penggunaan Memori', - temperatureHelper: 'Suhu GPU yang tinggi boleh menyebabkan pelambatan frekuensi GPU', - performanceStateHelper: 'Dari P0 (prestasi maksimum) hingga P12 (prestasi minimum)', - busID: 'ID Bas', - persistenceMode: 'Mod Ketekalan', - enabled: 'Diaktifkan', - disabled: 'Dilumpuhkan', - persistenceModeHelper: - 'Mod ketekalan membolehkan respons tugas lebih cepat tetapi meningkatkan penggunaan kuasa sedia.', - displayActive: 'Kad Grafik Dimulakan', - displayActiveT: 'Ya', - displayActiveF: 'Tidak', - ecc: 'Teknologi Pemeriksaan dan Pembetulan Ralat', - computeMode: 'Mod Pengiraan', - default: 'Asal', - exclusiveProcess: 'Proses Eksklusif', - exclusiveThread: 'Thread Eksklusif', - prohibited: 'Dilarang', - defaultHelper: 'Asal: Proses boleh dilaksanakan secara serentak', - exclusiveProcessHelper: - 'Proses Eksklusif: Hanya satu konteks CUDA boleh menggunakan GPU, tetapi boleh dikongsi oleh berbilang thread', - exclusiveThreadHelper: 'Thread Eksklusif: Hanya satu thread dalam konteks CUDA boleh menggunakan GPU', - prohibitedHelper: 'Dilarang: Proses tidak dibenarkan dilaksanakan serentak', - migModeHelper: 'Digunakan untuk membuat contoh MIG bagi pengasingan fizikal GPU pada tahap pengguna.', - migModeNA: 'Tidak Disokong', + shr: 'Memori Kongsi', + temperatureHelper: 'Suhu GPU tinggi boleh menyebabkan pengurangan frekuensi GPU', + gpuUtil: 'Penggunaan GPU', + temperature: 'Suhu', + performanceState: 'Status Prestasi', + powerUsage: 'Penggunaan Kuasa', + memoryUsage: 'Penggunaan Memori', + fanSpeed: 'Kelajuan Kipas', + power: 'Kuasa', + powerCurrent: 'Kuasa Semasa', + powerLimit: 'Had Kuasa', + memory: 'Memori', + memoryUsed: 'Memori Digunakan', + memoryTotal: 'Jumlah Memori', + percent: 'Penggunaan', }, mcp: { server: 'Pelayan MCP', @@ -1229,13 +1216,6 @@ const message = { down: 'Turun', interval: 'Selang Kumpulan', intervalHelper: 'Sila masukkan selang kumpulan pemantauan yang sesuai (5 saat - 12 jam)', - - gpuUtil: 'Penggunaan GPU', - temperature: 'Suhu', - performanceState: 'Keadaan prestasi', - powerUsage: 'Penggunaan kuasa', - memoryUsage: 'Penggunaan memori', - fanSpeed: 'Kelajuan kipas', }, terminal: { local: 'Tempatan', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 05aa343a0..b374b6ecc 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -675,43 +675,29 @@ const message = { whiteListHelper: 'Restringir o acesso apenas aos IPs na lista branca', }, gpu: { - gpu: 'Monitor de GPU', - base: 'Informações Básicas', - gpuHelper: - 'Comando NVIDIA-SMI ou XPU-SMI não detectado no sistema atual. Por favor, verifique e tente novamente!', - driverVersion: 'Versão do Driver', - cudaVersion: 'Versão do CUDA', + gpu: 'Monitoramento de GPU', + gpuHelper: 'O sistema não detectou comandos NVIDIA-SMI ou XPU-SMI. Verifique e tente novamente!', process: 'Informações do Processo', type: 'Tipo', typeG: 'Gráficos', - typeC: 'Cálculo', - typeCG: 'Cálculo + Gráficos', + typeC: 'Computação', + typeCG: 'Computação+Gráficos', processName: 'Nome do Processo', - processMemoryUsage: 'Uso de Memória', - temperatureHelper: 'Temperaturas altas da GPU podem causar limitação de frequência da GPU.', - performanceStateHelper: 'De P0 (máximo desempenho) a P12 (mínimo desempenho).', - busID: 'ID do Barramento', - persistenceMode: 'Modo de Persistência', - enabled: 'Ativado', - disabled: 'Desativado', - persistenceModeHelper: - 'O modo de persistência permite respostas mais rápidas às tarefas, mas aumenta o consumo de energia em standby.', - displayActive: 'Placa Gráfica Inicializada', - displayActiveT: 'Sim', - displayActiveF: 'Não', - ecc: 'Tecnologia de Correção e Verificação de Erros', - computeMode: 'Modo de Cálculo', - default: 'Padrão', - exclusiveProcess: 'Processo Exclusivo', - exclusiveThread: 'Thread Exclusivo', - prohibited: 'Proibido', - defaultHelper: 'Padrão: Processos podem ser executados simultaneamente.', - exclusiveProcessHelper: - 'Processo Exclusivo: Apenas um contexto CUDA pode usar a GPU, mas pode ser compartilhado por múltiplas threads.', - exclusiveThreadHelper: 'Thread Exclusivo: Apenas uma thread em um contexto CUDA pode usar a GPU.', - prohibitedHelper: 'Proibido: Não é permitido que processos sejam executados simultaneamente.', - migModeHelper: 'Usado para criar instâncias MIG para isolamento físico da GPU no nível do usuário.', - migModeNA: 'Não Suportado', + shr: 'Memória Compartilhada', + temperatureHelper: 'Alta temperatura da GPU pode causar redução na frequência da GPU', + gpuUtil: 'Utilização da GPU', + temperature: 'Temperatura', + performanceState: 'Estado de Desempenho', + powerUsage: 'Consumo de Energia', + memoryUsage: 'Utilização de Memória', + fanSpeed: 'Velocidade do Ventilador', + power: 'Energia', + powerCurrent: 'Energia Atual', + powerLimit: 'Limite de Energia', + memory: 'Memória', + memoryUsed: 'Memória Usada', + memoryTotal: 'Memória Total', + percent: 'Utilização', }, mcp: { server: 'Servidor MCP', @@ -1223,13 +1209,6 @@ const message = { down: 'Para baixo', interval: 'Intervalo de Coleta', intervalHelper: 'Insira um intervalo de coleta de monitoramento apropriado (5 segundos - 12 horas)', - - gpuUtil: 'Utilização da GPU', - temperature: 'Temperatura', - performanceState: 'Estado de desempenho', - powerUsage: 'Uso de energia', - memoryUsage: 'Uso de memória', - fanSpeed: 'Velocidade do ventilador', }, terminal: { local: 'Local', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 246d17f8f..38d9b124d 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -674,42 +674,28 @@ const message = { }, gpu: { gpu: 'Мониторинг GPU', - base: 'Основная информация', - gpuHelper: 'Команда NVIDIA-SMI или XPU-SMI не обнаружена в текущей системе. Проверьте и попробуйте снова!', - driverVersion: 'Версия драйвера', - cudaVersion: 'Версия CUDA', - process: 'Информация о процессе', + gpuHelper: 'Система не обнаружила команды NVIDIA-SMI или XPU-SMI. Проверьте и повторите попытку!', + process: 'Информация о Процессе', type: 'Тип', typeG: 'Графика', typeC: 'Вычисления', - typeCG: 'Вычисления + Графика', - processName: 'Имя процесса', - processMemoryUsage: 'Использование памяти', + typeCG: 'Вычисления+Графика', + processName: 'Имя Процесса', + shr: 'Общая Память', temperatureHelper: 'Высокая температура GPU может вызвать снижение частоты GPU', - performanceStateHelper: 'От P0 (максимальная производительность) до P12 (минимальная производительность)', - busID: 'ID шины', - persistenceMode: 'Режим постоянства', - enabled: 'Включен', - disabled: 'Выключен', - persistenceModeHelper: - 'Режим постоянства позволяет быстрее реагировать на задачи, но увеличивает потребление энергии в режиме ожидания.', - displayActive: 'Инициализация видеокарты', - displayActiveT: 'Да', - displayActiveF: 'Нет', - ecc: 'Технология проверки и коррекции ошибок (ECC)', - computeMode: 'Режим вычислений', - default: 'По умолчанию', - exclusiveProcess: 'Исключительный процесс', - exclusiveThread: 'Исключительный поток', - prohibited: 'Запрещено', - defaultHelper: 'По умолчанию: процессы могут выполняться одновременно', - exclusiveProcessHelper: - 'Исключительный процесс: только один контекст CUDA может использовать GPU, но его могут разделять несколько потоков', - exclusiveThreadHelper: 'Исключительный поток: только один поток в контексте CUDA может использовать GPU', - prohibitedHelper: 'Запрещено: процессам не разрешено выполняться одновременно', - migModeHelper: - 'Используется для создания MIG-инстансов для физической изоляции GPU на уровне пользователя.', - migModeNA: 'Не поддерживается', + gpuUtil: 'Использование GPU', + temperature: 'Температура', + performanceState: 'Состояние Производительности', + powerUsage: 'Потребление Мощности', + memoryUsage: 'Использование Памяти', + fanSpeed: 'Скорость Вентилятора', + power: 'Мощность', + powerCurrent: 'Текущая Мощность', + powerLimit: 'Лимит Мощности', + memory: 'Память', + memoryUsed: 'Использованная Память', + memoryTotal: 'Общая Память', + percent: 'Использование', }, mcp: { server: 'Сервер MCP', @@ -1225,13 +1211,6 @@ const message = { down: 'Входящий', interval: 'Интервал Сбора', intervalHelper: 'Пожалуйста, введите подходящий интервал сбора мониторинга (5 секунд - 12 часов)', - - gpuUtil: 'Использование GPU', - temperature: 'Температура', - performanceState: 'Состояние производительности', - powerUsage: 'Потребление энергии', - memoryUsage: 'Использование памяти', - fanSpeed: 'Скорость вентилятора', }, terminal: { local: 'Локальный', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 4f8921a43..3a9a22e8d 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -687,44 +687,29 @@ const message = { whiteListHelper: 'Erişimi yalnızca beyaz listedeki IPlerle sınırlayın', }, gpu: { - gpu: 'GPU Monitörü', - base: 'Temel Bilgiler', - gpuHelper: - 'Mevcut sistemde NVIDIA-SMI veya XPU-SMI komutu algılanmadı. Lütfen kontrol edin ve tekrar deneyin!', - driverVersion: 'Sürücü Sürümü', - cudaVersion: 'CUDA Sürümü', - process: 'İşlem Bilgileri', + gpu: 'GPU İzleme', + gpuHelper: 'Sistem NVIDIA-SMI veya XPU-SMI komutlarını algılamadı. Lütfen kontrol edip tekrar deneyin!', + process: 'İşlem Bilgisi', type: 'Tür', typeG: 'Grafik', typeC: 'Hesaplama', - typeCG: 'Hesaplama + Grafik', + typeCG: 'Hesaplama+Grafik', processName: 'İşlem Adı', - processMemoryUsage: 'Bellek Kullanımı', - temperatureHelper: 'Yüksek GPU sıcaklığı GPU frekans kısıtlamasına neden olabilir', - performanceStateHelper: 'P0dan (maksimum performans) P12ye (minimum performans) kadar', - busID: 'Bus ID', - persistenceMode: 'Kalıcılık Modu', - enabled: 'Etkin', - disabled: 'Devre Dışı', - persistenceModeHelper: - 'Kalıcılık modu daha hızlı görev yanıtlarına izin verir ancak bekleme güç tüketimini artırır.', - displayActive: 'Grafik Kartı Başlatıldı', - displayActiveT: 'Evet', - displayActiveF: 'Hayır', - ecc: 'Hata Düzeltme ve Kontrol Teknolojisi', - computeMode: 'Hesaplama Modu', - default: 'Varsayılan', - exclusiveProcess: 'Özel İşlem', - exclusiveThread: 'Özel Thread', - prohibited: 'Yasaklı', - defaultHelper: 'Varsayılan: İşlemler eşzamanlı olarak yürütülebilir', - exclusiveProcessHelper: - 'Özel İşlem: Yalnızca bir CUDA bağlamı GPUyu kullanabilir, ancak birden fazla thread tarafından paylaşılabilir', - exclusiveThreadHelper: 'Özel Thread: CUDA bağlamında yalnızca bir thread GPUyu kullanabilir', - prohibitedHelper: 'Yasaklı: İşlemlerin eşzamanlı yürütülmesine izin verilmez', - migModeHelper: - 'Kullanıcı düzeyinde GPUnun fiziksel izolasyonu için MIG örnekleri oluşturmak için kullanılır.', - migModeNA: 'Desteklenmiyor', + shr: 'Paylaşılan Bellek', + temperatureHelper: 'Yüksek GPU sıcaklığı GPU frekansında düşüşe neden olabilir', + gpuUtil: 'GPU Kullanımı', + temperature: 'Sıcaklık', + performanceState: 'Performans Durumu', + powerUsage: 'Güç Tüketimi', + memoryUsage: 'Bellek Kullanımı', + fanSpeed: 'Fan Hızı', + power: 'Güç', + powerCurrent: 'Mevcut Güç', + powerLimit: 'Güç Limiti', + memory: 'Bellek', + memoryUsed: 'Kullanılan Bellek', + memoryTotal: 'Toplam Bellek', + percent: 'Kullanım', }, mcp: { server: 'MCP Sunucusu', @@ -1250,13 +1235,6 @@ const message = { down: 'Aşağı', interval: 'Toplama Aralığı', intervalHelper: 'Lütfen uygun bir izleme toplama aralığı girin (5 saniye - 12 saat)', - - gpuUtil: 'GPU Kullanımı', - temperature: 'Sıcaklık', - performanceState: 'Performans durumu', - powerUsage: 'Güç kullanımı', - memoryUsage: 'Bellek kullanımı', - fanSpeed: 'Fan hızı', }, terminal: { local: 'Yerel', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index a8cff2902..0db11da68 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -654,40 +654,28 @@ const message = { }, gpu: { gpu: 'GPU 監控', - base: '基礎資訊', - gpuHelper: '目前系統未檢測到 NVIDIA-SMI 或者 XPU-SMI 指令,請檢查後重試!', - driverVersion: '驅動版本', - cudaVersion: 'CUDA 版本', + gpuHelper: '目前系統未偵測到 NVIDIA-SMI 或者 XPU-SMI 指令,請檢查後重試!', process: '行程資訊', type: '類型', typeG: '圖形', typeC: '計算', typeCG: '計算+圖形', processName: '行程名稱', - processMemoryUsage: '記憶體使用', + shr: '共享顯存', temperatureHelper: 'GPU 溫度過高會導致 GPU 頻率下降', - performanceStateHelper: '從 P0 (最大性能) 到 P12 (最小性能)', - busID: '匯流排地址', - persistenceMode: '持續模式', - enabled: '開啟', - disabled: '關閉', - persistenceModeHelper: '持續模式能更加快速地響應任務,但相應待機功耗也會增加', - displayActive: '顯示卡初始化', - displayActiveT: '是', - displayActiveF: '否', - ecc: '是否開啟錯誤檢查和糾正技術', - computeMode: '計算模式', - default: '預設', - exclusiveProcess: '行程排他', - exclusiveThread: '執行緒排他', - prohibited: '禁止', - defaultHelper: '預設: 行程可以並發執行', - exclusiveProcessHelper: '行程排他: 只有一個 CUDA 上下文可以使用 GPU, 但可以由多個執行緒共享', - exclusiveThreadHelper: '執行緒排他: 只有一個執行緒在 CUDA 上下文中可以使用 GPU', - prohibitedHelper: '禁止: 不允許行程同時執行', - migModeHelper: '用於建立 MIG 實例,在使用者層實現 GPU 的物理隔離。', - migModeNA: '不支援', - shr: '共享 GPU', + gpuUtil: 'GPU 使用率', + temperature: '溫度', + performanceState: '效能狀態', + powerUsage: '功耗', + memoryUsage: '顯存使用率', + fanSpeed: '風扇轉速', + power: '功率', + powerCurrent: '目前功率', + powerLimit: '功率上限', + memory: '顯存', + memoryUsed: '顯存使用', + memoryTotal: '顯存總計', + percent: '使用率', }, mcp: { server: 'MCP Server', @@ -1170,13 +1158,6 @@ const message = { down: '下行', interval: '採集間隔', intervalHelper: '請輸入合適的監控採集時間間隔(5秒 - 12小時)', - - gpuUtil: 'GPU 使用率', - temperature: '溫度', - performanceState: '性能狀態', - powerUsage: '功耗', - memoryUsage: '視訊記憶體使用率', - fanSpeed: '風扇轉速', }, terminal: { local: '本機', @@ -2190,19 +2171,19 @@ const message = { defaultDoc: '預設文件', perserver: '並發限制', perserverHelper: '限制目前站點最大並發數', - perip: '單IP限制', - peripHelper: '限制單個IP訪問最大並發數', + perip: '單 IP 限制', + peripHelper: '限制單個 IP 訪問最大並發數', rate: '流量限制', rateHelper: '限制每個請求的流量上限(單位:KB)', limitHelper: '啟用流量控制', other: '其他', currentSSL: '目前證書', - dnsAccount: 'DNS帳號', + dnsAccount: 'DNS 帳號', applySSL: '證書申請', SSLList: '證書列表', - createDnsAccount: 'DNS帳戶', - aliyun: '阿里雲DNS', - aliEsa: '阿里雲ESA', + createDnsAccount: 'DNS 帳戶', + aliyun: '阿里雲 DNS', + aliEsa: '阿里雲 ESA', manual: '手動解析', key: '金鑰', check: '查看', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index cddbf24dd..abfd72647 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -655,40 +655,28 @@ const message = { }, gpu: { gpu: 'GPU 监控', - base: '基础信息', gpuHelper: '当前系统未检测到 NVIDIA-SMI 或者 XPU-SMI 指令,请检查后重试!', - driverVersion: '驱动版本', - cudaVersion: 'CUDA 版本', process: '进程信息', type: '类型', typeG: '图形', typeC: '计算', typeCG: '计算+图形', processName: '进程名称', - processMemoryUsage: '显存使用', - temperatureHelper: 'GPU 温度过高会导致 GPU 频率下降', - performanceStateHelper: '从 P0 (最大性能) 到 P12 (最小性能)', - busID: '总线地址', - persistenceMode: '持续模式', - enabled: '开启', - disabled: '关闭', - persistenceModeHelper: '持续模式能更加快速地响应任务,但相应待机功耗也会增加', - displayActive: '显卡初始化', - displayActiveT: '是', - displayActiveF: '否', - ecc: '是否开启错误检查和纠正技术', - computeMode: '计算模式', - default: '默认', - exclusiveProcess: '进程排他', - exclusiveThread: '线程排他', - prohibited: '禁止', - defaultHelper: '默认: 进程可以并发执行', - exclusiveProcessHelper: '进程排他: 只有一个 CUDA 上下文可以使用 GPU, 但可以由多个线程共享', - exclusiveThreadHelper: '线程排他: 只有一个线程在 CUDA 上下文中可以使用 GPU', - prohibitedHelper: '禁止: 不允许进程同时执行', - migModeHelper: '用于创建 MIG 实例,在用户层实现 GPU 的物理隔离。', - migModeNA: '不支持', shr: '共享显存', + temperatureHelper: 'GPU 温度过高会导致 GPU 频率下降', + gpuUtil: 'GPU 使用率', + temperature: '温度', + performanceState: '性能状态', + powerUsage: '功耗', + memoryUsage: '显存使用率', + fanSpeed: '风扇转速', + power: '功率', + powerCurrent: '当前功率', + powerLimit: '功率上限', + memory: '显存', + memoryUsed: '显存使用', + memoryTotal: '显存总计', + percent: '使用率', }, mcp: { server: 'MCP Server', @@ -1176,13 +1164,6 @@ const message = { down: '下行', interval: '采集间隔', intervalHelper: '请输入合适的监控采集时间间隔(5秒 - 12小时)', - - gpuUtil: 'GPU 使用率', - temperature: '温度', - performanceState: '性能状态', - powerUsage: '功耗', - memoryUsage: '显存使用率', - fanSpeed: '风扇转速', }, terminal: { local: '本机', @@ -2186,19 +2167,19 @@ const message = { defaultDoc: '默认文档', perserver: '并发限制', perserverHelper: '限制当前站点最大并发数', - perip: '单IP限制', - peripHelper: '限制单个IP访问最大并发数', + perip: '单 IP 限制', + peripHelper: '限制单个 IP 访问最大并发数', rate: '流量限制', rateHelper: '限制每个请求的流量上限(单位:KB)', limitHelper: '启用流量控制', other: '其他', currentSSL: '当前证书', - dnsAccount: 'DNS账号', + dnsAccount: 'DNS 账号', applySSL: '证书申请', SSLList: '证书列表', - createDnsAccount: 'DNS账户', + createDnsAccount: 'DNS 账户', aliyun: '阿里云', - aliEsa: '阿里云ESA', + aliEsa: '阿里云 ESA', manual: '手动解析', key: '密钥', check: '查看', diff --git a/frontend/src/views/ai/gpu/index.vue b/frontend/src/views/ai/gpu/index.vue index 8b6119cb2..9af44694e 100644 --- a/frontend/src/views/ai/gpu/index.vue +++ b/frontend/src/views/ai/gpu/index.vue @@ -32,11 +32,11 @@ - +
@@ -55,7 +55,7 @@
@@ -74,7 +74,7 @@
@@ -93,7 +93,7 @@