feat: 添加memory-mode-available,使用available内存

This commit is contained in:
Akizon77
2025-06-18 14:30:12 +08:00
parent 8cec263324
commit 7c79020153
3 changed files with 22 additions and 13 deletions

View File

@@ -1,12 +1,13 @@
package flags
var (
DisableAutoUpdate bool
DisableWebSsh bool
Token string
Endpoint string
Interval float64
IgnoreUnsafeCert bool
MaxRetries int
ReconnectInterval int
DisableAutoUpdate bool
DisableWebSsh bool
MemoryModeAvailable bool
Token string
Endpoint string
Interval float64
IgnoreUnsafeCert bool
MaxRetries int
ReconnectInterval int
)

View File

@@ -58,8 +58,9 @@ func init() {
RootCmd.MarkPersistentFlagRequired("token")
RootCmd.PersistentFlags().StringVarP(&flags.Endpoint, "endpoint", "e", "", "API endpoint")
RootCmd.MarkPersistentFlagRequired("endpoint")
RootCmd.PersistentFlags().BoolVarP(&flags.DisableAutoUpdate, "disable-auto-update", "d", false, "Disable automatic updates")
RootCmd.PersistentFlags().BoolVarP(&flags.DisableWebSsh, "disable-web-ssh", "w", false, "Disable web SSH")
RootCmd.PersistentFlags().BoolVar(&flags.DisableAutoUpdate, "disable-auto-update", false, "Disable automatic updates")
RootCmd.PersistentFlags().BoolVar(&flags.DisableWebSsh, "disable-web-ssh", false, "Disable remote control(web ssh and rce)")
RootCmd.PersistentFlags().BoolVar(&flags.MemoryModeAvailable, "memory-mode-available", false, "Report memory as available instead of used.")
RootCmd.PersistentFlags().Float64VarP(&flags.Interval, "interval", "i", 1.0, "Interval in seconds")
RootCmd.PersistentFlags().BoolVarP(&flags.IgnoreUnsafeCert, "ignore-unsafe-cert", "u", false, "Ignore unsafe certificate errors")
RootCmd.PersistentFlags().IntVarP(&flags.MaxRetries, "max-retries", "r", 3, "Maximum number of retries")

View File

@@ -1,6 +1,7 @@
package monitoring
import (
"github.com/komari-monitor/komari-agent/cmd/flags"
"github.com/shirou/gopsutil/mem"
)
@@ -15,10 +16,16 @@ func Ram() RamInfo {
if err != nil {
raminfo.Total = 0
raminfo.Used = 0
} else {
raminfo.Total = v.Total
raminfo.Used = v.Used
return raminfo
}
if flags.MemoryModeAvailable {
raminfo.Total = v.Total
raminfo.Used = v.Total - v.Available
return raminfo
}
raminfo.Total = v.Total
raminfo.Used = v.Used
return raminfo
}
func Swap() RamInfo {