u/snarkyalyx

macOS 27 Beta 2 has a dasd memory leak caused by BiomeAgent. Here's how to work around it (for now)

I recently woke up and received an out of memory popup, despite none of the apps using any significant RAM. Checked my activity monitor, dasd using 24GB. Nice. After some checking, BiomeAgent (something responsible for Apple Intelligence and Siri/contextual stuff) was repeatedly registering an Apple Intelligence task called com.apple.intelligenceplatform.IntelligencePlatformCore.ViewLive. Because BiomeAgent was registering that ViewLive task over and over, it made dasd accumulate insane RAM usage. Might not happen on all devices. I have an M2 Pro 16GB.

dasd is the Duet Activity Scheduler Daemon, a background system process on macOS that decides when deferred background tasks should actually run.

I already reported this via Feedback, since it's most definitely a beta bug. But if anyone here comes across this issue, here's how to work around this. I mean, it's not clean, this might break Siri or Apple Intelligence features!! (so remember to un-do this workaround once this is fixed), but it works:

Temporary fix

pkill -STOP -x BiomeAgent
sudo pkill -9 -x dasd

dasd should restart by itself and stay small. Mine went from multiple GB back down to around 10 MB.

Undo by restarting.

Persistent fix

mkdir -p ~/bin ~/Library/LaunchAgents ~/Library/Logs

cat > ~/bin/unload-biomeagent-for-dasd.sh <<'EOF'
#!/bin/zsh

sleep 180

uid=$(/usr/bin/id -u)
/bin/launchctl bootout "gui/$uid/com.apple.BiomeAgent" 2>/dev/null || true

exit 0
EOF

chmod +x ~/bin/unload-biomeagent-for-dasd.sh

cat > ~/Library/LaunchAgents/com.$USER.unload-biomeagent-for-dasd.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.$USER.unload-biomeagent-for-dasd</string>

  <key>ProgramArguments</key>
  <array>
    <string>$HOME/bin/unload-biomeagent-for-dasd.sh</string>
  </array>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardOutPath</key>
  <string>$HOME/Library/Logs/unload-biomeagent-for-dasd.log</string>

  <key>StandardErrorPath</key>
  <string>$HOME/Library/Logs/unload-biomeagent-for-dasd.err</string>
</dict>
</plist>
EOF

launchctl bootout "gui/$(id -u)" ~/Library/LaunchAgents/com.$USER.unload-biomeagent-for-dasd.plist 2>/dev/null || true
launchctl bootstrap "gui/$(id -u)" ~/Library/LaunchAgents/com.$USER.unload-biomeagent-for-dasd.plist

To verify:

launchctl print "gui/$(id -u)/com.apple.BiomeAgent"
ps -o pid,rss,etime,%mem,%cpu,comm -p "$(pgrep -x dasd | head -1)"

If the workaround is active, launchctl print may say it cannot find com.apple.BiomeAgent, which is expected. dasd memory/CPU should stop climbing.

To undo the persistent workaround:

launchctl bootout "gui/$(id -u)" ~/Library/LaunchAgents/com.$USER.unload-biomeagent-for-dasd.plist 2>/dev/null || true
rm ~/Library/LaunchAgents/com.$USER.unload-biomeagent-for-dasd.plist
rm ~/bin/unload-biomeagent-for-dasd.sh

launchctl bootstrap "gui/$(id -u)" /System/Library/LaunchAgents/com.apple.BiomeAgent.plist 2>/dev/null || true
launchctl kickstart -k "gui/$(id -u)/com.apple.BiomeAgent"

Hope this helps someone that is also experiencing this here! :)

EDIT: I changed the script because the initial one I made for persistent was causing a freeze on boot lol

reddit.com
u/snarkyalyx — 3 days ago

I hope this type of semi-political satire is allowed here, I took this image myself over a property where I was permitted to take an image. The intent was just to take an image of the solar panel, but I loved the view. Yet people still complain :/

u/snarkyalyx — 2 months ago