mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-12-09 03:10:26 +08:00
修复磁盘占用统计计算错误
This commit is contained in:
@@ -223,6 +223,7 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
|
|||||||
// 当前TeaWeb所在的fs
|
// 当前TeaWeb所在的fs
|
||||||
var rootFS = ""
|
var rootFS = ""
|
||||||
var rootTotal = uint64(0)
|
var rootTotal = uint64(0)
|
||||||
|
var totalUsed = uint64(0)
|
||||||
if lists.ContainsString([]string{"darwin", "linux", "freebsd"}, runtime.GOOS) {
|
if lists.ContainsString([]string{"darwin", "linux", "freebsd"}, runtime.GOOS) {
|
||||||
for _, p := range partitions {
|
for _, p := range partitions {
|
||||||
if p.Mountpoint == "/" {
|
if p.Mountpoint == "/" {
|
||||||
@@ -230,6 +231,7 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
|
|||||||
usage, _ := disk.Usage(p.Mountpoint)
|
usage, _ := disk.Usage(p.Mountpoint)
|
||||||
if usage != nil {
|
if usage != nil {
|
||||||
rootTotal = usage.Total
|
rootTotal = usage.Total
|
||||||
|
totalUsed = usage.Used
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -237,7 +239,6 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var total = rootTotal
|
var total = rootTotal
|
||||||
var totalUsage = uint64(0)
|
|
||||||
var maxUsage = float64(0)
|
var maxUsage = float64(0)
|
||||||
for _, partition := range partitions {
|
for _, partition := range partitions {
|
||||||
if runtime.GOOS != "windows" && !strings.Contains(partition.Device, "/") && !strings.Contains(partition.Device, "\\") {
|
if runtime.GOOS != "windows" && !strings.Contains(partition.Device, "/") && !strings.Contains(partition.Device, "\\") {
|
||||||
@@ -256,16 +257,16 @@ func (this *NodeStatusExecutor) updateDisk(status *nodeconfigs.NodeStatus) {
|
|||||||
|
|
||||||
if partition.Mountpoint != "/" && (usage.Total != rootTotal || total == 0) {
|
if partition.Mountpoint != "/" && (usage.Total != rootTotal || total == 0) {
|
||||||
total += usage.Total
|
total += usage.Total
|
||||||
}
|
totalUsed += usage.Used
|
||||||
totalUsage += usage.Used
|
if usage.UsedPercent >= maxUsage {
|
||||||
if usage.UsedPercent >= maxUsage {
|
maxUsage = usage.UsedPercent
|
||||||
maxUsage = usage.UsedPercent
|
status.DiskMaxUsagePartition = partition.Mountpoint
|
||||||
status.DiskMaxUsagePartition = partition.Mountpoint
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
status.DiskTotal = total
|
status.DiskTotal = total
|
||||||
if total > 0 {
|
if total > 0 {
|
||||||
status.DiskUsage = float64(totalUsage) / float64(total)
|
status.DiskUsage = float64(totalUsed) / float64(total)
|
||||||
}
|
}
|
||||||
status.DiskMaxUsage = maxUsage / 100
|
status.DiskMaxUsage = maxUsage / 100
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user