diff --git a/disk/disk_unix.go b/disk/disk_unix.go index bc53d40..af4901d 100644 --- a/disk/disk_unix.go +++ b/disk/disk_unix.go @@ -16,14 +16,14 @@ func DiskUsage(path string) (*DiskUsageStat, error) { ret := &DiskUsageStat{ Path: path, Total: (uint64(stat.Blocks) * uint64(bsize)), - Free: (uint64(stat.Bfree) * uint64(bsize)), + Free: (uint64(stat.Bavail) * uint64(bsize)), InodesTotal: (uint64(stat.Files)), InodesFree: (uint64(stat.Ffree)), } ret.InodesUsed = (ret.InodesTotal - ret.InodesFree) ret.InodesUsedPercent = (float64(ret.InodesUsed) / float64(ret.InodesTotal)) * 100.0 - ret.Used = (ret.Total - ret.Free) + ret.Used = (uint64(stat.Blocks) - uint64(stat.Bfree)) * uint64(bsize) ret.UsedPercent = (float64(ret.Used) / float64(ret.Total)) * 100.0 return ret, nil diff --git a/mem/mem_darwin.go b/mem/mem_darwin.go index 6f901d2..bd6d2e0 100644 --- a/mem/mem_darwin.go +++ b/mem/mem_darwin.go @@ -53,7 +53,7 @@ func VirtualMemory() (*VirtualMemoryStat, error) { } ret := &VirtualMemoryStat{ - Total: parsed[0] * p, + Total: parsed[0], Free: parsed[1] * p, } diff --git a/process/process_linux.go b/process/process_linux.go index b7bd4e5..f7127ce 100644 --- a/process/process_linux.go +++ b/process/process_linux.go @@ -132,7 +132,8 @@ func (p *Process) NumCtxSwitches() (*NumCtxSwitchesStat, error) { return p.numCtxSwitches, nil } func (p *Process) NumFDs() (int32, error) { - return 0, common.NotImplementedError + numFds, _, err := p.fillFromfd() + return numFds, err } func (p *Process) NumThreads() (int32, error) { return p.numThreads, nil