Serious Performance Problems using Expose in Catalina

catalinacoolingcpuexposeperformance

Summary

I am having a problem where using Expose to drag a window from one Space to another causes an enormous slowdown that looks almost comical – like the machine turns into a ouija board and load spikes to easily over 200(!) during the time it is going through "fits"

Here is a video of the an incidence of this problem.

Conditions

  1. Fresh Catalina install
  2. MacBook 12,1 with dual core 3.1 GHz i7 CPU, 16 GB RAM and 1 TB SSD
  3. Currently in the process of "building from scratch" and installing my
    prescribed software and tools

Walkthrough of the Problem

  1. I invoke the Screens in the heading for each "Desktop" using Expose
    and attempt to move a window from one Screen to another

  2. The behavior of moving a window as I drag has action where the lag of dragging movements enter a state of ghostly slow-motion. where the movement follows a sort of "possessed" pattern.

  3. As my queue UI interactions play out, it looks like it has a mind of its own. (All further UI interaction appears to be ignored, but in actuality it is getting queued and will continue to run at a fraction of real-time speed.)
  4. I need to stop and wait for all of those input actions to complete. This can take several minutes, sometimes over 15 if I try to do things like click on an icon in the dock, move a window within a specific Space, or other do what a frustrated user might do while his machine seems unresponsive.

Side Effects

Massive Load Spike

The immediate reason for this would appear because the system load which already was running between 3-4 (computer has 4 effective CPUs, so just under nominal efficiency when it is effectively idle from human input, it will shoot up to a very high number (well over 100 or 200 while going through these antics) and it will take several minutes for the load "settle down" after the slow-mo effects stop, and that's just for it to get from 200 down to about 25 where it will plateau for easily another another 10 minutes.

Queuing of System Processes

As I am still in the process of building my computer from scratch based on a build template document that I made to manually install my software tools setup on a fresh machine, I find this enormously disconcerting.

Build Details

  1. Use updated to be Catalina compliant with things like DeviceKit
  2. Some open source tools require explicit security authorization to even install, but the seem like innocuous exceptions which don't require additional kernel drivers and I hope they will be compliant by January.
  3. I don't use "junk ware" that could easily border on Malware (such as "virus protection).
  4. I do use brew cask install or any software that I can.
  5. For anything else, I use App Store.

Initial Conclusions

I don't have any idea if these apps have any correlation to this behavior or not. When this does happen, I will often system processes come up and take more than 50% of the CPU, but I attribute this to the fact that they are queuing because of the absurdly high load and more a symptom than a cause of my problems. I have even given up Chrome for Safari in an attempt to better make use of shared resources and minimize deviating from the Apple nest. I have already turned on "Reduce Motion" and "Reduce Transparency" for Accessibility -> Display but it had no impact.

Possible Heat Problem?

One theory I had was that my fans are dirty and not cooling my CPU well. I did have performance problems when this machine was running Mojave with 30-90 second lock-ups, but since I had upgraded it through at least 3 OS versions, I attributed it to KEXT cruft or other junk software I used when I was less careful. The fans do spin up just fine as the CPUs heat up, but the CPU core temp wavers between 70°C and 80°C even when load is under 4. Therefore, I am wondering if all of this is simply CPU clipping from heat but I don't know where the temp will induce this fail-safe. If I simply cannot rule out blocked airflow I will crack this baby open and give it the canned air blast, but seeing as I replaced the fans and battery just 14 months ago that would be surprising as I don't work in a lint factory.

What I am Hoping to Achieve by Posting This

In any event, while I don't expect anyone to identify why Expose is behaving this way (though I would be grateful for some troubleshooting tips as I am only a few days into using Catalina.) What I was hoping for was if anyone was aware of how I might turn off any of the gratuitous animation features introduced by Catalina that might be exacerbating this problem.

Update 11/11/19 17:20

After running in Safe Mode and loading nearly every app I couldn't replicate the problem, even though things like scrolling were definitely affected. There didn't seem to be any temp problems and spikes to over 90° quickly subsided so unless this is a slow buildup heat issue, I don't think that is it.

One thing I failed to mention was that when this problem occurred, there was 3.7 GB in the 5 GB swap space. Starting up the machine normally and running the apps like I did in Safe Mode also didn't recreate those problems, but swap is still unused. I should have noted this, but in the past, I have correlated the sluggishness of the Expose animation with how much is in swap.

My new theory is that there is some memory leaking going on that uses up virtual memory and the slowness and load is a result of relentless paging. I think I will only be able to substantiate this after letting my machine have an uptime of more than a day or two with lots of apps open so I can see. Then I can identify which apps have the highest page rates.

Update 11/12/19 01:54

After opening it up and not seeing much dust at all I lifted the cooling plate to check the thermal paste which was dried and barely present. I added some fresh paste after cleaning both surfaces but I am not sure if I used too much or the surfaces weren't both clean enough but I am finding temps seeming to spike over 100°C occasionally and it overall running hotter, though the hot peaks are only instantaneous.

I ran GeekBench both before and after, both in Safe and regular mode and performance results were effectively the same. Results are actually slightly higher than the benchmarks established for my model. It seems awfully hot but it is not affecting performance any. Having read articles stating that the i7 can safely operate at 100°C (though some authorities say it is too hot for any duration).

I installed the Intel Power Gadget and it shows my overage clocking is about 2.45 GHz but that it does peak out at the stated 3.1 GHz so I don't think it is being clipped. Still, the performance mystery abounds, but one thing is for sure- it takes days if not weeks for all of the Catalina housekeeping on media and pictures to complete!

Best Answer

It sounds very likely that you have an hardware error such as fans not working, thermal paste not properly applied, vents blocked or similar.

A load average of 3-4 when the machine is idle is definitely not normal. Your machine is a dual-core machine - HyperThreading doesn’t really make it sensible to count that as 4 cores (it’s not nearly as good as separate cores). A load avg. of 3-4 means the computer is highly loaded.

The high load average could come from thermal throttling (either via kernel_task forcing the CPU to sleep, or simply frequency throttling). It could also come from other sources such as a malfunctioning disk - although then you would most likely be experiencing other problems as well.

I will recommend booting in Internet Recovery mode to check if you still have high load average and slow performance there. If you do, then it’s not a software problem.