MacOS – 30GB out of 32GB being used for wired memory

macosmemoryvirtual-memory

I have 32GB of memory and am downloading stuff over FTP using FileZilla. My memory usage is 31GB with 30GB of that being allocated for wired memory. Is this normal when downloading stuff over FTP?

enter image description here

UPDATE: after a bit more usage it looks like FileZilla was just a red herring. Kernel task is the one causing the ballooning Wired Mem usage. To be precise, here are the top three offenders and the wired memory usage.

1732608 com.nvidia.web.NVDAGP100HalWeb
6787072 com.nvidia.web.NVDAResmanWeb
8089600 com.apple.driver.AirPort.BrcmNIC

this was obtained by running

kextstat | awk 'NR==1{ printf "%10s %s\n", $5, $6; } NR!=1{ printf "%10d %s\n", $5, $6; }' | sort -n

which i found here: Why does leaked memory appear malloced to kernel_task, and why can't OS X therefore garbage collect it

here are latest screenshots from activity monitor.
enter image description here
enter image description here

why would the wifi driver be using up 8GB of wired memory? why would nvidia webdriver use up 7GB of wired memory?

Best Answer

Most everything looks normal since the system reports it is able to fulfill all active memory requests (which is what green signifies), but we're not seeing the whole picture to understand the wired summary since your screen image doesn’t show all processes or wired allocations.

  1. The job of virtual memory is to keep everything loaded in RAM and only have just enough to satisfy a burst of requests. It will free up space only when needed, so large wired alone is no worry.
  2. You have no growth of swap space to speak of - so there's no runaway memory leak.
  3. The pressure graph is green so the system knows it can toss all sorts of cached memory and objects if a program needs more RAM and no requests are being slowed or denied.
  4. Wired isn't typically that high in my workloads, but more data is needed to know if that's causing any issues.

However, there are specific tools and a process to pin down exactly what process(es) have allocated wired memory as well as to watch real time the virtual memory statistics using vm_stat to validate my hunch / opinion (I don’t have enough data to be certain) that things are fine here.

In addition to my answer linked above - these threads are relevant for how wired memory used to work Lion and expecially 10.6 and older OS X. On the latest macOS, I’m not convinced excess wired is a problem anymore, but I’d love to help investigate if anyone can reproduce this case here with 90% or more of total memory being reported as Wired.