// +build windows package staros import "b612.me/win32api" // Memory 系统内存信息 func Memory() (MemStatus, error) { var mem MemStatus ram := new(win32api.MEMORYSTATUSEX) _, err := win32api.GlobalMemoryStatusEx(ram) if err != nil { return mem, err } mem.All = uint64(ram.UllTotalPhys) mem.Free = uint64(ram.UllAvailPhys) mem.Available = uint64(ram.UllAvailPhys) mem.Used = uint64(mem.All - mem.Free) mem.SwapAll = uint64(ram.UllTotalPageFile) mem.SwapFree = uint64(ram.UllAvailPageFile) mem.SwapUsed = mem.SwapAll - mem.SwapFree mem.VirtualAll = uint64(mem.VirtualAll) mem.VirtualAvail = uint64(mem.VirtualAvail) mem.VirtualUsed = mem.VirtualAll - mem.VirtualUsed return mem, nil }