|
@@ -125,8 +125,9 @@ func NewLlamaServer(gpus gpu.GpuInfoList, model string, ggml *GGML, adapters, pr
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- // On linux, over-allocating CPU memory will almost always result in an error
|
|
|
|
- if runtime.GOOS == "linux" {
|
|
|
|
|
|
+ // On linux and windows, over-allocating CPU memory will almost always result in an error
|
|
|
|
+ // Darwin has fully dynamic swap so has no direct concept of free swap space
|
|
|
|
+ if runtime.GOOS != "darwin" {
|
|
systemMemoryRequired := estimate.TotalSize - estimate.VRAMSize
|
|
systemMemoryRequired := estimate.TotalSize - estimate.VRAMSize
|
|
available := systemFreeMemory + systemSwapFreeMemory
|
|
available := systemFreeMemory + systemSwapFreeMemory
|
|
if systemMemoryRequired > available {
|
|
if systemMemoryRequired > available {
|