add cached kic system info
parent
03e9cb7909
commit
41a1ba52e6
|
|
@ -70,6 +70,7 @@ var (
|
|||
insecureRegistry []string
|
||||
apiServerNames []string
|
||||
apiServerIPs []net.IP
|
||||
kicSysInfo *oci.SysInfo
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
@ -752,12 +753,11 @@ func memoryLimits(drvName string) (int, int, error) {
|
|||
containerLimit := 0
|
||||
|
||||
if driver.IsKIC(drvName) {
|
||||
s, err := oci.DaemonInfo(drvName)
|
||||
s, err := cachedKicSystemInfo(drvName)
|
||||
if err != nil {
|
||||
return -1, -1, err
|
||||
}
|
||||
containerLimit = int(s.TotalMemory / 1024 / 1024)
|
||||
myabeAdviceDockerResources(containerLimit, sysLimit, s.CPUs, drvName)
|
||||
}
|
||||
|
||||
return sysLimit, containerLimit, nil
|
||||
|
|
@ -885,8 +885,8 @@ func validateFlags(cmd *cobra.Command, drvName string) {
|
|||
}
|
||||
}
|
||||
|
||||
validateMemorySize()
|
||||
if cmd.Flags().Changed(memory) {
|
||||
validateMemorySize()
|
||||
if !driver.HasResourceLimits(drvName) {
|
||||
out.WarningT("The '{{.name}}' driver does not respect the --memory flag", out.V{"name": drvName})
|
||||
}
|
||||
|
|
@ -1132,3 +1132,14 @@ func getKubernetesVersion(old *config.ClusterConfig) string {
|
|||
|
||||
return version.VersionPrefix + nvs.String()
|
||||
}
|
||||
|
||||
// cachedKicSystemInfo will return docker/podman info. it will call docker/podam info only once per minikube start to avoid perforamce side effects
|
||||
func cachedKicSystemInfo(ociBin string) (oci.SysInfo, error) {
|
||||
var err error
|
||||
if kicSysInfo == nil {
|
||||
si, err := oci.DaemonInfo(ociBin)
|
||||
kicSysInfo = &si
|
||||
return *kicSysInfo, err
|
||||
}
|
||||
return *kicSysInfo, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue