最近忽然发现磁盘存在大量写入,打开任务管理器一看,发现一个叫做“lsd”的进程持续占用 20% – 40% CPU,很奇怪。
经过一番查询,得知这个进程是 macOS 和 iOS 上的系统进程,全名叫做“Launch Service Daemon”,负责所有 App 文件类型关联和启动。但它的数据库有时候会损坏,这就导致它频繁读取和验证某些数据。
一旦它的数据库损坏,你就会遇到 lsd 占用 100% CPU,或者大量内存,甚至是巨大的磁盘写入……
总之,我们可以让它重新注册所有必要的文件,重建数据库即可: find /System/Library/Frameworks -type f -name "lsregister" -exec {} -kill -seed -r \;
或者,使用这个命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user 这个和上一句理论上执行相同任务,只是前者搜索 lsregister 而后者直接给出了路径。
参考文献:
https://discussions.apple.com/thread/8365107?answerId=33313731022#33313731022
https://discussions.apple.com/thread/250050422?answerId=250085966022#250085966022
本文由 落格博客 原创撰写:落格博客 » /usr/libexec/lsd 占用 100% CPU 的解决办法
转载请保留出处和原文链接:https://www.logcg.com/archives/3382.html
Yes! The first command, run as root worked. lsd is no longer using 100% cpu and my Mac is not horribly slow.
sudo find /System/Library/Frameworks -type f -name “lsregister” -exec {} -kill -seed -r \;
那这个数据库的重建过程大概要多久?我是因为有些文件的预览不正常用的这个命令,现在预览正常了,但是一直在后台占用cpu,已经一天了,写入量46G,
这两个命令是不一样的,我试了一下上面的命令,现在不占用cpu了。看来后面多加的参数反而会出问题,也可能是macOS版本的问题吧,我看网上最早给出下面那个命令的时候好像是09年,,,
竟然不同?我去看看。
这命令是很老的了,我好像当是也是两个都用过吧……忘却了,总之搞定了就好。
又出问题了,现在用那个参数少的命令解决了lsd占用cpu的问题,但是qlmarkdown的预览还是不行;参数多的命令可以解决预览问题(这个issue https://github.com/toland/qlmarkdown/issues/39),但是lsd一直占cpu,我醉了😭
那种插件,我之前用了个大全的,后来也不能用了……现在索性就不用了😂
破案了,是qlmarkdown和坚果云的finder插件冲突了,,,卸载坚果云之后一切正常。(Stupid Nutstore,,,)