Extremely high CPU 185% after 5.1+ update

Issue: High CPU usage after updating from 4.8 to 5.157 (including 5.0+).
Previous Behavior: 4.8 had no issues.
Regression: 5.0+ caused floating menu items to not trigger on mouse release.
Current Behavior (5.157): Fixed floating menu but introduced extreme CPU usage, affecting different triggers/inputs and other applications.
System: Updated from Sonoma to Sequoia.


  • Once the CPU reaches over 100% it tends to stay there. I don't know what the exact cause for it is. I have to force quit it over 5 times a day.

Affected input device:

  • Floating menus, Trackpad triggers such as rotate to change volume never had issues... now it does not work (I'm guessing only when the high CPU issue arises)... and also keyboard shortcuts freeze up.

Screenshots

  • CPU usage in Activity Monitor: image

  • Since January 30th high CPU usage reports in Console:


Device information:

  • MBP M3 Pro - Sequoia 15.3
  • BTT: 5.157-alpha (2025013109)

Additional information (Diagnostic Report):

  • (Let me know if you would like the additional data under "Power Source")
  • The earliest Diagnostic report I have shows a BTT version of 5.151 (2025013004)
  • Before 5.151 this issue did not arise
  • Latest Report below is BTT 5.157

BetterTouchTool_2025-02-02_Main.cpu_resource.diag:
Date/Time: 2025-02-02 11:10:38.837 -0800
End time: 2025-02-02 11:12:09.305 -0800
OS Version: macOS 15.3 (Build 24D60)
Architecture: arm64e
Report Version: 55
Incident Identifier: 41BD7A64-19D3-4D88-A63B-9CEFC198112A

Data Source: Microstackshots
Shared Cache: D326F1A9-B205-3526-879C-7B2105224601 slid base address 0x195068000, slide 0x15068000

Command: BetterTouchTool
Path: /Applications/BetterTouchTool.app/Contents/MacOS/BetterTouchTool
Identifier: com.hegenberg.BetterTouchTool
Version: 5.157 (2025013109)
Team ID: DAFVSXZ82P
Is First Party: No
Beta Identifier: 2D645037-7E70-54B7-AA69-55D552DE290D
Resource Coalition: "com.hegenberg.BetterTouchTool"(834)
Architecture: arm64
Parent: UNKNOWN [1]
PID: 4574

Event: cpu usage
Action taken: none
CPU: 90 seconds cpu time over 90 seconds (99% cpu average), exceeding limit of 50% cpu over 180 seconds
CPU limit: 90s
Limit duration: 180s
CPU used: 90s
CPU duration: 90s
Duration: 90.47s
Duration Sampled: 87.57s (event starts 2.82s before samples)
Steps: 44

Hardware model: Mac15,6
Active cpus: 12
HW page size: 16384
VM page size: 16384

Time Since Boot: 68657s
Time Awake Since Boot: 22412s
Time Since Wake: 46s

Fan speed: 0 rpm
Total CPU Time: 137.703s
Advisory levels: Battery -> 2, User -> 2, ThermalPressure -> 0, Combined -> 2
Free disk space: 13.97 GB/926.35 GB, low space threshold 3072 MB
Vnodes Available: 34.64% (91169/263168)
Models: none

Preferred User Language: en-US, en
Country Code: US
Keyboards: U.S., Arabic-QWERTY, Unicode Hex Input, x_layout
OS Cryptex File Extents: 5601

Heaviest stack for the target process:
24 start + 2840 (dyld + 25204) [0x195134274]
24 NSApplicationMain + 888 (AppKit + 20584) [0x1990dc068]
24 -[NSApplication run] + 480 (AppKit + 190580) [0x199105874]
24 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688 (AppKit + 10099748) [0x199a78c24]
24 _DPSNextEvent + 660 (AppKit + 243784) [0x199112848]
24 _BlockUntilNextEventMatchingListInModeWithFilter + 76 (HIToolbox + 1119496) [0x1a0b0f508]
24 ReceiveNextEventCommon + 676 (HIToolbox + 1119048) [0x1a0b0f348]
24 RunCurrentEventLoopInMode + 292 (HIToolbox + 1094960) [0x1a0b09530]
23 CFRunLoopRunSpecific + 588 (CoreFoundation + 505652) [0x19559a734]
21 __CFRunLoopRun + 1996 (CoreFoundation + 509372) [0x19559b5bc]
21 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 16 (CoreFoundation + 772560) [0x1955db9d0]
21 _dispatch_main_queue_callback_4CF + 44 (libdispatch.dylib + 76888) [0x19530fc58]
21 _dispatch_main_queue_drain + 984 (libdispatch.dylib + 77888) [0x195310040]
21 _dispatch_client_callout + 20 (libdispatch.dylib + 17844) [0x1953015b4]
21 _dispatch_call_block_and_release + 32 (libdispatch.dylib + 10324) [0x1952ff854]
20 ??? (BetterTouchTool + 8459484) [0x1034754dc]
20 ??? (BetterTouchTool + 7371484) [0x10336badc]
20 ??? (BetterTouchTool + 7221288) [0x103347028]
20 ??? (BetterTouchTool + 2828324) [0x102f16824]
17 ??? (BetterTouchTool + 2840248) [0x102f196b8]
13 ??? (BetterTouchTool + 2851684) [0x102f1c364]
12 ??? (BetterTouchTool + 2901920) [0x102f287a0]
12 ??? (BetterTouchTool + 2902272) [0x102f28900]
12 ??? (BetterTouchTool + 55316) [0x102c71814]
5 ??? (BetterTouchTool + 2952720) [0x102f34e10]
5 ??? (BetterTouchTool + 2860432) [0x102f1e590]
5 NSLog + 56 (Foundation + 299952) [0x19675a3b0]
5 _NSLogv + 164 (Foundation + 1058728) [0x1968137a8]
3 _CFLogvEx3 + 252 (CoreFoundation + 595644) [0x1955b06bc]
2 _CFLogvEx2Predicate + 312 (CoreFoundation + 596532) [0x1955b0a34]
2 ??? (BetterTouchTool + 4426836) [0x10309cc54]
1 ??? (BetterTouchTool + 11151216) [0x103706770]
1 ??? (BetterTouchTool + 11152088) [0x103706ad8]
1 ??? (BetterTouchTool + 11152352) [0x103706be0]
1 DYLD-STUB$$objc_release + 0 (BetterTouchTool + 15146652) [0x103ad5e9c]

Powerstats for: BetterTouchTool [4574]
UUID: 26AC5DDC-B321-3CFB-BF61-E97FD4F03FEF
Path: /Applications/BetterTouchTool.app/Contents/MacOS/BetterTouchTool
Identifier: com.hegenberg.BetterTouchTool
Version: 5.157 (2025013109)
Team ID: DAFVSXZ82P
Is First Party: No
Beta Identifier: 2D645037-7E70-54B7-AA69-55D552DE290D
Resource Coalition: 44 samples "com.hegenberg.BetterTouchTool"(834)
Architecture: arm64
Parent: UNKNOWN [1]
UID: 501
Footprint: 114.27 MB
Start time: 2025-02-02 11:10:41.656 -0800
End time: 2025-02-02 11:12:09.229 -0800
Num samples: 44 (100%)
Num threads: 6
Primary state: 24 samples Non-Frontmost App, Non-Suppressed, User mode, Effective Thread QoS User Interactive, Requested Thread QoS User Interactive, Override Thread QoS Unspecified, p-core
User Activity: 0 samples Idle, 44 samples Active
Power Source: 44 samples on Battery, 0 s

  • (Process Priority Helper Tool has been active since version 3.0+)

Can you check whether anything weird shows up in "recently used"? Maybe some trigger is triggering recursively. Possibly something related to floating menus, can you see after what trigger the CPU usage rises?

There have been some fixes & necessary changes for the hover start and end triggers in floating menus, do you have any menu that uses such? Maybe I missed some special case.

I'm an idiot, I forgot to post the most important thing.

  • Yes it occurs after triggering the floating menu it seems. (Using the Preset you gave as a template a few months ago)
  • CPU issues immediately arise after triggering it.

Would you be able to share your debug info with me (Help => Export Diagnostic Debug Information, send result to andreas@folivora.ai). The logs might show what's going on.
The menu doesn't seem to cause immediate issues here, but I'm probably missing something.

1 Like

Sent. As always, much appreciated Andreas.

Edit: Preset style/config just in case:

{"BTTMenuCategoryBackground":0,"BTTMenuCategoryItemSizing":0,"BTTMenuStealKeyboardFocusOnShow":1,"BTTMenuItemPaddingTop":5,"BTTMenuPositionRelativeTo":7,"BTTMenuCategoryZIndex":0,"BTTMenuCategoryResizeOnHover":1,"BTTMenuFrameHeight":205,"BTTMenuFrameWidth":210,"BTTMenuItemBackgroundType":4,"BTTMenuItemPaddingLeft":10,"BTTMenuCategoryOnlyShowIf":0,"BTTMenuCategoryModifiers":0,"BTTMenuItemShadowEnabled":0,"BTTMenuVerticalSpacing":5,"BTTMenuItemCornerRadius":10,"BTTMenuAnchorRelation":4,"BTTMenuItemBorderColor":"0.000, 0.000, 0.000, 0.000","BTTMenuItemIconPresetPath":"/Users/yakub/Library/Application Support/BetterTouchTool/PresetBundles/4165DE2A-8496-4910-9E81-80BE9873C9B1example_hover_menu/99DFC886-2D53-4792-9C1C-168CB5D2FC79-BTTMenuItemImage.png","BTTMenuItemPaddingRight":10,"BTTMenuVisibility":1,"BTTMenuHorizontalSpacing":5,"BTTMenuCategoryItemBehavior":0,"BTTMenuCategorySpacing":0,"BTTMenuCategoryMenuVisibility":0,"BTTMenuItemsUseModifierModes":false,"BTTMenuCloseAfterAction":1,"BTTMenuItemBorderColorHover":"0.000, 0.000, 0.000, 0.000","BTTMenuItemBorderWidth":2,"BTTMenuItemIconType":7,"BTTMenuItemBackgroundColor":"168.213, 183.731, 225.311, 29.612","BTTMenuCategoryPosition":0,"BTTMenuItemPaddingBottom":5,"BTTMenuHoverWhileMousePressed":1,"BTTMenuWindowResizable":1,"BTTMenuHoverKeepExpanded":0,"BTTMenuCategoryItemSpacing":0,"BTTMenuPositioningType":1,"BTTMenuAppearanceStyle":0,"BTTMenuCategoryItemVisibility":0,"BTTMenuCategoryBorder":0,"BTTMenuCategoryShadow":0,"BTTMenuHoverDelay":0,"BTTMenuShowIfWindowLevelEqualsEnabled":0,"BTTMenuCategorySize":0,"BTTMenuAlwaysUseLightMode":1,"BTTMenuItemBlurredBackground":1,"BTTMenuAnchorMenu":4,"BTTMenuWindowLevel":3,"BTTMenuCloseOnOutsideClick":1,"BTTMenuCategoryItemIcon":0}

for some reason it keeps endlessly calling the hide floating menu action, probably some code path causes a recursive call. Which trigger are you using to show the floating menu? Three finger click?

3 finger click... And less frequently when I'm using mouse I use the Holding down right click to trigger it.

One more thing :sweat_smile:
Could you export the preset and send or attach it here as well? I'm not sure whether I have the same version of that preset

Of course!
Floating Menu-Luancher.bttpreset (3.7 MB)

Floating Menu-Launcher-submenu.bttpreset (1.5 MB)

Thanks a lot found it!
Currently thinking about a solution, should be fixed in ~30min

1 Like

No rush at all, brotherman. Take your time.

By the way, if the submenu shows up slightly misaligned sometimes, try to add a small delay:

I am also experiencing issues. After updating to version 5.154 (and later) I've got problem in Davinci Resolve, I noticed that my timeline scrubbing has become quite laggy. When I revert to 5.153 the problem disappears.

the issue discussed in this thread should been fixed in 5.158 if you are still encountering similar things best briefly describe your setup. This issue was related to hiding floating menus in quite specific setups.

Unfortunately, my issue is still occurring in version 5.158. I will report it with details in a separate thread.

1 Like