메모리 상태 또 변경
This commit is contained in:
@@ -297,20 +297,16 @@ function isContainerChanged(serverId: number, containerName: string, metric: str
|
||||
return changedKeys.value.has(`container-${serverId}-${containerName}-${metric}`)
|
||||
}
|
||||
|
||||
// 서버 메모리 퍼센트 계산: (total - free) / total * 100
|
||||
// 서버 메모리 퍼센트: memory_percent 직접 사용
|
||||
function calcMemPercent(server: ServerStatus): number {
|
||||
const total = Number(server.memory_total) || 0
|
||||
const free = Number(server.memory_free) || 0
|
||||
if (total === 0) return 0
|
||||
return ((total - free) / total) * 100
|
||||
return server.memory_percent || 0
|
||||
}
|
||||
|
||||
// 서버 메모리 용량 포맷: used/total GB
|
||||
// 서버 메모리 용량 포맷: used/total GB (memory_used는 DB에서 계산된 값)
|
||||
function formatServerMem(server: ServerStatus): string {
|
||||
const used = Number(server.memory_used) || 0
|
||||
const total = Number(server.memory_total) || 0
|
||||
const free = Number(server.memory_free) || 0
|
||||
if (total === 0) return '-'
|
||||
const used = total - free
|
||||
const usedGB = (used / (1024 * 1024 * 1024)).toFixed(1)
|
||||
const totalGB = (total / (1024 * 1024 * 1024)).toFixed(1)
|
||||
return `${usedGB}/${totalGB}G`
|
||||
|
||||
@@ -405,13 +405,8 @@ async function fetchSnapshots() {
|
||||
load: validLoad.length ? (validLoad.reduce((a: number, b: number) => a + b, 0) / validLoad.length).toFixed(1) : '-'
|
||||
}
|
||||
|
||||
// Memory/Swap 라인 차트 - 퍼센트 계산: (total - free) / total * 100
|
||||
const memData = data.map((d: any) => {
|
||||
const total = Number(d.memory_total) || 0
|
||||
const free = Number(d.memory_free) || 0
|
||||
if (total === 0) return 0
|
||||
return ((total - free) / total) * 100
|
||||
})
|
||||
// Memory/Swap 라인 차트 - memory_percent 직접 사용
|
||||
const memData = data.map((d: any) => d.memory_percent || 0)
|
||||
const swapData = data.map((d: any) => {
|
||||
const total = Number(d.swap_total) || 0
|
||||
const used = Number(d.swap_used) || 0
|
||||
@@ -424,16 +419,10 @@ async function fetchSnapshots() {
|
||||
])
|
||||
|
||||
// 평균 계산 (Memory, Swap) + 사용량/전체용량 (BigInt는 문자열로 반환되므로 Number로 변환)
|
||||
// 메모리 사용량 = total - free (free가 있으면 사용, 없으면 used 사용)
|
||||
// 메모리 퍼센트도 (total - free) / total * 100 으로 계산
|
||||
// 메모리 사용량 = memory_used (DB에서 계산된 값)
|
||||
const validMem = memData.filter((v: number) => v > 0)
|
||||
const validSwap = swapData.filter((v: number) => v >= 0)
|
||||
const memUsedData = data.map((d: any) => {
|
||||
const total = Number(d.memory_total) || 0
|
||||
const free = Number(d.memory_free) || 0
|
||||
const used = Number(d.memory_used) || 0
|
||||
return free > 0 ? (total - free) : used
|
||||
}).filter((v: number) => v > 0)
|
||||
const memUsedData = data.map((d: any) => Number(d.memory_used) || 0).filter((v: number) => v > 0)
|
||||
const avgMemUsedGB = memUsedData.length ? (memUsedData.reduce((a: number, b: number) => a + b, 0) / memUsedData.length / (1024 * 1024 * 1024)).toFixed(1) : '-'
|
||||
const memTotalGB = data[0]?.memory_total ? (Number(data[0].memory_total) / (1024 * 1024 * 1024)).toFixed(1) : '-'
|
||||
const swapUsedData = data.map((d: any) => Number(d.swap_used) || 0).filter((v: number) => v >= 0)
|
||||
|
||||
Reference in New Issue
Block a user