- Agent roles and coordination features - Chat API integration testing - New configuration and workspace management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
660 B
Go
30 lines
660 B
Go
// +build linux
|
|
|
|
package memory
|
|
|
|
import "syscall"
|
|
|
|
func sysTotalMemory() uint64 {
|
|
in := &syscall.Sysinfo_t{}
|
|
err := syscall.Sysinfo(in)
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
// If this is a 32-bit system, then these fields are
|
|
// uint32 instead of uint64.
|
|
// So we always convert to uint64 to match signature.
|
|
return uint64(in.Totalram) * uint64(in.Unit)
|
|
}
|
|
|
|
func sysFreeMemory() uint64 {
|
|
in := &syscall.Sysinfo_t{}
|
|
err := syscall.Sysinfo(in)
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
// If this is a 32-bit system, then these fields are
|
|
// uint32 instead of uint64.
|
|
// So we always convert to uint64 to match signature.
|
|
return uint64(in.Freeram) * uint64(in.Unit)
|
|
}
|