拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

dasd是什么?macOS后台进程CPU占用高原因与排查指南

dasd是什么?macOS后台进程CPU占用高原因与排查指南 打开活动监视器按CPU那一栏点一下排序结果我愣住了一个叫dasd的进程排在最前面CPU占用忽高忽低底下父进程写的是launchd路径/usr/libexec/dasd。估计你跟我当初一样第一反应是“这是什么鬼东西是不是中毒了”然后搜索框一输出来的全是“mac地址怎么查”“MAC是什么”这类八竿子打不着的结果越搜越懵。先别急着按 CommandQ 关掉活动监视器也别上网找什么“一键清除dasd”的脚本。这个dasd根本不是病毒也不是什么第三方流氓软件它是 macOS 系统自带的一个核心后台守护进程全名叫Duet Activity Scheduler Daemon中文可以理解为“协作活动调度守护进程”。简单说它就是 Mac 的后台任务调度中枢专门决定“哪些活儿该什么时候干”。我猜你现在标题里的那个“392”十有八九是活动监视器里对应的进程PID或者是从某个网页问答串里复制的编号。不管哪一种都不影响我们判断只要路径和签名没问题这个进程就应该老老实实待在系统里不该被当成垃圾清理掉。这篇文章我会把dasd的前世今生拆开讲清楚再说说怎么用三条命令确认它是不是苹果官方组件、什么情况下它会被“激活”导致占用飙升以及真出问题时该按什么顺序排查和处理。不管你是刚转 Mac 的新手还是用了很多年但很少关注后台进程的老用户这篇都能帮你省下不少瞎折腾的时间。1. dasd到底是个什么东西1.1 名字拆开讲Daemon、Duet与Activity Schedulerdasd是“Duet Activity Scheduler Daemon”的缩写。这个名字拆开来看就很容易理解Daemon守护进程Unix/Linux/macOS 里的后台进程概念。它没有界面不跟你交互常驻内存默默干脏活累活。Windows 里的“服务”和它本质上是一回事。Activity Scheduler活动调度器负责把系统里所有后台活动“排队”决定哪个先跑、哪个后跑、哪个等到半夜再跑。Duet协作“Duet”在苹果系统里指的是一套底层的智能调度引擎。它利用设备的状态数据电量、网络、充电状态、使用习惯等做“判断”到底什么时机执行后台任务最合适。所以把三者拼起来dasd就是“苹果的 Duet 智能调度引擎在 macOS 上的常驻后台进程”。它不是一个干活儿的工具而是一个管活儿的工具。实际下载、备份、索引这些事都由各自对应的进程去执行dasd只负责在合适的时候把“干活通知”发给它们。进程本体存放在固定路径可执行文件/usr/libexec/dasd启动配置/System/Library/LaunchDaemons/com.apple.dasd.plist它属于 LaunchDaemon所以每次开机都会由根进程launchdPID为1的那个老祖宗自动拉起一直活着直到关机。只要你的 Mac 开机进程列表里就必定有它。这也是为什么你查资料时会发现“为什么它在我的Mac上运行”这个问题——因为它是系统设计的一部分永远都会在跑不是临时冒出来的。1.2 它在后台负责的“家务活”有哪些dasd管理的任务类型基本都是“不需要你盯着的后台劳动”。常见的有这么几类Time Machine 自动备份连接电源和无线网络后系统会在后台整点或定期进行增量备份具体时间由dasd调度。软件自动更新App Store 的后台下载、macOS 系统更新的预下载、应用商店中的更新检查都由它安排时机。Spotlight 索引重建当你新增大量文件、接入新硬盘、或者系统升级后重建索引时背景里的mds、mdworker进程会被调度启动。iCloud 数据同步iCloud Drive、照片图库、桌面与文稿同步等这类耗流量的任务通常会被推迟到“网络空闲且锁屏”时执行。照片分析比如导入照片后系统做人脸识别、地点聚类、场景分类这些计算密集型任务同样交给调度器来分配时间片。系统维护与清理日志整理、缓存清理、临时文件回收等周期性的清洁任务。可以这么理解dasd就是你家打扫卫生的智能机器人它会自动选择“你出门之后”“客厅没人走动的时候”才开始扫。要是它刚拿到新任务就立刻冲出去干活不仅吵你还费电、费网络流量毫无性价比。2. 第一步先确认你看到的dasd是苹果官方的吗2.1 三条命令验证进程真身虽然dasd是系统组件但现在恶意软件也曾伪装成系统进程名来骗人所以“像官方”不等于“一定是官方”。动手之前先做三步验证成本极低图个安心。第 1 步确认完整路径打开终端访达→应用程序→实用工具→终端输入ps -ef | grep dasd正常会看到类似这样的一行root 392 1 0 08:00 ?? 0:00.10 /usr/libexec/dasd重点看两处路径是不是/usr/libexec/dasd父进程PID是不是 1也就是 launchd。如果路径变成/tmp/dasd、~/Library/dasd、/var/dasd或者父进程不是 1基本就不用纠结了大概率是伪装品需要进一步查。第 2 步检查代码签名macOS 对系统组件都有严格的签名校验我习惯直接看签名信息codesign -dvv /usr/libexec/dasd 21输出里如果能看到Identifiercom.apple.dasd以及AuthorityApple Mac OS Application Signing或类似苹果根证书签名就说明这文件是正规系统产物。如果提示code object is not signed at all那就要警惕了。第 3 步看它的打开文件链接lsof -p $(pgrep -x dasd) | head -20这一步可以快速扫一眼它打开了哪些文件。正常的dasd主要是读写系统级数据库和日志目录如果出现一大串奇怪的临时目录、下载目录或可疑路径同样要留个心眼。大多数情况下前两条命令就足够定性了。2.2 正常与异常表现的判断标准确认了身份没问题之后再看它的“健康表现”。我总结了一套直观的参考标准判断维度正常表现异常表现CPU占用平时几乎为零偶尔跑到10%~20%持续时间不长持续50%以上甚至长期占满一个核内存占用几十MB到两三百MB之间浮动持续占用1GB以上且只涨不跌运行时长启动时间等于你开机时间连续运行频繁重启几分钟崩一次又拉起来联网情况偶尔访问 Apple 相关服务器频繁访问陌生域名或异常国内IP父子进程父进程是 launchdPID1父进程是某个第三方App另外顺便澄清一个很常见的误会你在搜索引擎里查“dasd”时经常会出现“mac地址怎么查”这类结果这是因为搜索平台把“dasd”和“mac”拆开理解自动联想到了“Mac地址”。dasd这个进程跟 MAC 地址、网卡、Wi-Fi 硬件完全没有任何关系它的名字里虽然也有“da”但不是“Data”也不是“Device”单纯是调度器缩写。以后看到类似联想结果可以直接无视。3. 为什么你的Mac上会有这个进程在跑3.1 后台任务从提交到执行的完整链路要搞懂dasd为什么运行最好先了解它和普通 App 之间的关系。macOS 的开发者有很多方式申请“后台运行权限”最常见的是这两种BGTaskScheduler苹果提供的专门后台任务调度接口App 可以在系统空闲时刷新数据、预拉取内容。NSURLSession后台会话用于下载大文件、上传本地照片等任务即使 App 被挂起系统也能替它把传输做完。当一个 App 用这些接口提交了“我想在后台更新一下数据”的请求时系统不会傻到立刻去执行而是把请求登记到 Duet 引擎里由dasd统一评估。评估维度包括是否连接电源是否处于 Wi-Fi 环境用户当前是否活跃是否有键鼠操作屏幕是否锁定设备是否处于低电量模式用户历史上习惯什么时候让这些任务跑。只有综合条件满足dasd才会在某个时间窗口里向对应进程发出“可以开始了”的通知。这个“先评估、后排队、再触发”的模式避免了多个 App 同时在用户面前抢 CPU、抢网速的混乱场面。我举个通俗的例子你在公司里同时接到 20 个快递电话肯定不能全扔下手头的活去取。你会挑午休时间集中跑一趟。dasd就是 Mac 里的“行政前台”所有后台任务找它报到它统一排表再按优先级和时机叫号。3.2 生活中哪些场景最容易把 dasd“激活”日常使用里有几个场景会让dasd变得异常活跃活动监视器里的 CPU 曲线看起来像心电图刚开机或刚唤醒睡眠期间积攒了一堆“延后任务”唤醒瞬间会集中处理dasd会短暂升高。连接电源锁定屏幕MacBook 插上电且屏幕关了系统会趁机跑 Time Machine 备份、App Store 更新、照片分析等大任务。系统刚升级完升级后 Spotlight 要重建索引邮件要重新索引各种数据库要迁移dasd会频繁安排后台劳动。硬盘空间不足磁盘剩余量低于 10% 后系统会反复尝试清理缓存、整理状态dasd的任务队列会变得拥挤甚至出现“一直忙但一直没活干”的现象。第三方 App 疯狂请求后台刷新部分工具类 App 写得比较“贪心”每隔几分钟就请求一次后台刷新或注册了大量重复的后台任务都会让dasd不停做调度判断。这些场景下dasd占用升高不一定说明系统病了更像是调度员在赶工。给它一点时间或者重启一次通常就能恢复正常。4. 当dasd占用过高时怎么一步步排查与处理4.1 三步诊断法如果dasd的 CPU 占用让你明显感觉到电脑变热、风扇狂转别直接上手杀进程按照这三步来第一步确认占用是不是“持续性的”活动监视器里看到的 CPU 百分比是实时值。很多情况下dasd只是某几秒在调度排班下次刷新就掉下去了。我一般会等 3~5 分钟每隔半分钟刷新一次看它的数值是否稳定居高不下。如果连续多次都在 50% 以上才算真的异常。第二步翻系统日志看调度器在忙什么终端执行log show --last 30m --predicate process dasd --style syslog这会拉出最近 30 分钟里dasd的所有日志。重点看有没有反复报错、循环调度、任务无法完成之类的信息。进一步还可以查具体的子系统sudo log show --last 1h --predicate subsystem com.apple.duetactivityscheduler --style syslog 2/dev/null | grep -i error\|fault | head看到大量error时说明dasd想执行某个任务但执行链路上出了问题任务卡住了它会反复重试然后 CPU 就上去了。第三步查关联 App 和网络连接在活动监视器里选中dasd切到“打开的文件和端口”标签看一下有没有指向非系统目录的奇怪路径或者频繁连接的非 Apple 域名。正常状态下它主要是跟com.apple.duetactivityscheduler域打交道不会乱连陌生的服务器。4.2 六层处理方案从轻到重确认dasd确实异常占用了按下面这个顺序处理从轻到重每一步操作之间留出观察时间第 1 层冷静等待 20 分钟很多所谓“dasd 占用 100%”的情况实际上是系统在做大型维护比如 Spotlight 重建索引或者大文件备份跑完自然就安静了。先泡杯咖啡等 20 分钟再观察能解决一大半问题而且零成本。第 2 层重启 Mac重启不只是清空内存也会让 launchd 重新加载所有 LaunchDaemon。卡在dasd调度队列里的脏任务会被清掉占用自然回落。这里有个核心禁忌不要手动 kill -9 dasd。因为 launchd 会把它当作崩溃立即重启反而可能引发新一轮调度冲突让情况更糟。要用正规重启而不是“杀掉再自动拉起”。第 3 层收敛系统自动更新设置如果磁盘空间紧张或网络质量差系统自动更新会反复重试把dasd忙得团团转。可以去“系统设置 → 通用 → 软件更新 → 自动更新”关掉不必要的自动安装和更新预下载。这一步不是禁用系统更新只是减少后台的反复重试。第 4 层排查第三方 App这是我认为最值得仔细做的一步。逐个回忆和检查最近安装的 App特别是那些菜单栏常驻、有“定时刷新”功能的工具类软件比如下载器、同步盘、浏览器扩展、RSS 阅读器、菜单栏网速监测工具等。进它们的设置里关掉“后台自动更新”“启动时检查更新”或者直接退出逐个测试看dasd占用是否回落。我遇到过最典型的案例就是某个下载工具设置成每 5 分钟检查一次服务器结果dasd几乎被它使唤成了一个“永动机”。第 5 层重置电源管理与系统状态在 Intel 芯片的 Mac 上可以重置 SMC系统管理控制器和 NVRAM非易失性随机存取存储器解决电源管理相关的异常调度问题。Apple Silicon 机型没有手动重置 SMC 的必要重启系统就会清空相关状态所以新款机器跳过这一步即可。第 6 层升级系统如果以上所有方法都试过dasd依然异常那大概率是当前 macOS 版本本身的后台调度 bug。苹果会在后续系统更新中修复这类问题。建议检查“系统设置→通用→软件更新”把系统升级到当前正式版的最新稳定版本。老版本 macOS如 Catalina、Big Sur 这类已停止维护的版本出现此类调度问题的概率明显更高。5. 常见问题速查与同类背景进程识别5.1 dasd高频问题速查表整理一份可以直接收藏的表格以后再遇到关于dasd的疑问照着查就行问题可能原因处理建议dasd 占用 CPU 100%系统维护任务集中执行 / 第三方App反复提交后台任务 / 磁盘空间严重不足等20分钟观察仍异常则重启再按6层方案排查dasd 内存占用持续增长任务队列堆积部分后台任务一直没能执行重启Mac清理磁盘空间检查自动更新设置dasd 频繁联网自动更新、iCloud同步等后台活动偶尔访问Apple域名正常频繁访问陌生域名需查签名和路径可以杀掉 dasd 吗不能这是系统核心守护进程不要 kill用重启或重置NVRAM/SMC正规操作为什么每次开机都有 dasd它是 LaunchDaemon系统启动即加载属于正常设计不需要处理搜索结果总出现“mac地址”搜索引擎把“dasd”和“mac”错误联想直接忽略无关结果与MAC地址无关dasd 路径显示在用户目录下存在伪装进程立即用 codesign 验证签名查父进程必要时全盘扫描长时间高占用且无法恢复可能是系统 bug 或第三方驱动冲突升级macOS排查最近安装的驱动和App5.2 认识其他常见的“d”字辈系统进程如果你因为dasd养成了翻活动监视器的习惯大概率还会注意到其他一堆以字母“d”结尾的进程。它们其实跟dasd同属系统原生后台服务都不是病毒。我整理一个快速识别表进程名功能常见活跃时机dasd后台任务调度中枢系统唤醒、连接电源、后台任务排队时birdiCloud Drive 文件同步iCloud 文件变动、打开 iCloud 文稿时clouddCloudKit 云数据同步使用微软/第三方等依赖 CloudKit 的 App 时nsurlsessiond网络会话后台管理有 App 正在做后台上传/下载时rappd远程 Apple 事件处理远程控制、屏幕共享时mds/mdworkerSpotlight 索引与搜索新增大量文件、系统升级后重建索引时backupdTime Machine 备份到达备份时间点且满足备份条件时photoanalysisd照片库分析与人脸识别导入大量照片后看到这些进程时只要路径都在/usr/libexec或/System/Library下签名正常就说明是系统自带的“物管团队”。它们跟dasd一样都是为 macOS 整体协调运行而存在的不是资源占用异常的罪魁祸首。真正值得警惕的是那些路径在用户目录或临时目录、签名异常、又顶着系统进程名的“孪生兄弟”。学会用ps和codesign验证比安装任何清理工具都靠谱。我记得自己有一次折腾了很久就是因为某个第三方下载器把后台刷新频率写得太激进导致dasd整个下午都在做重复调度。我试了重置NVRAM、关自动更新都不奏效最后进下载器的设置里关掉“频繁检查更新”还没退出应用活动监视器里的占用曲线就瞬间平缓了。这给我最大的启发就是dasd只是个传令兵真正的幕后玩家往往是我们装的那些第三方软件。看到它占用高先从 App 层找原因这比动不动重装系统高效得多。排查这一类系统进程时养成“先看路径和签名、再观察占用曲线、最后找关联 App”的顺序Mac 用起来会踏实很多。
返回列表