diff --git a/cmd/lotus-miner/sealing.go b/cmd/lotus-miner/sealing.go index 75f02845ce2..a7e0a8de8dd 100644 --- a/cmd/lotus-miner/sealing.go +++ b/cmd/lotus-miner/sealing.go @@ -101,17 +101,33 @@ var sealingWorkersCmd = &cli.Command{ ramBarsRes := int(stat.Info.Resources.MemReserved * barCols / stat.Info.Resources.MemPhysical) ramBarsUsed := int(stat.MemUsedMin * barCols / stat.Info.Resources.MemPhysical) - ramBar := color.YellowString(strings.Repeat("|", ramBarsRes)) + + ramRepeatSpace := int(barCols) - (ramBarsUsed + ramBarsRes) + + colorFunc := color.YellowString + if ramRepeatSpace < 0 { + ramRepeatSpace = 0 + colorFunc = color.RedString + } + + ramBar := colorFunc(strings.Repeat("|", ramBarsRes)) + color.GreenString(strings.Repeat("|", ramBarsUsed)) + - strings.Repeat(" ", int(barCols)-ramBarsUsed-ramBarsRes) + strings.Repeat(" ", ramRepeatSpace) vmem := stat.Info.Resources.MemPhysical + stat.Info.Resources.MemSwap vmemBarsRes := int(stat.Info.Resources.MemReserved * barCols / vmem) vmemBarsUsed := int(stat.MemUsedMax * barCols / vmem) - vmemBar := color.YellowString(strings.Repeat("|", vmemBarsRes)) + + vmemRepeatSpace := int(barCols) - (vmemBarsUsed + vmemBarsRes) + + colorFunc = color.YellowString + if vmemRepeatSpace < 0 { + vmemRepeatSpace = 0 + colorFunc = color.RedString + } + + vmemBar := colorFunc(strings.Repeat("|", vmemBarsRes)) + color.GreenString(strings.Repeat("|", vmemBarsUsed)) + - strings.Repeat(" ", int(barCols)-vmemBarsUsed-vmemBarsRes) + strings.Repeat(" ", vmemRepeatSpace) fmt.Printf("\tRAM: [%s] %d%% %s/%s\n", ramBar, (stat.Info.Resources.MemReserved+stat.MemUsedMin)*100/stat.Info.Resources.MemPhysical,