Mac 上有什么手段可以获取进程的瞬时 CPU 利用率?

2023-08-23 17:36:44 +08:00
 zjsegzhf

说瞬时有点夸张了,其实是想说有什么能够以极快采样周期(比如 1ms )采集进程的 CPU 利用率?

手上有一台 M2 的 Macbook air ,偶尔会出现及其卡顿的情况。

问题出现频率:一周一次左右。 问题现象:鼠标一直转圈,切换应用,打字,鼠标点击都无反应,要隔好久才会有反应。

问题出现时并没有新开什么 app ,猜测是某些 app 或系统运行过程中触发的 bug 。

查看活动监视器,内存压力正常,硬盘空间富余。但是 CPU 会瞬时冲高,用户的系统负载都会冲高到 100%,然后又回落,过几秒后又冲高又回落。但是在 CPU 页签中看不到哪个进程引起的冲高(因为活动监视器中进程 cpu 时间是统计一段时间内的,出问题的进程只是瞬时 100%又降下来,在 CPU 负载图中能看到,但是没法看到 100%时是哪个进程导致)

所以才想说 Mac 上有什么可以获取进程瞬时 CPU 利用率的手段?我想看下出问题时是由什么进程导致的。

1599 次点击
所在节点    Apple
12 条回复
pppcx
2023-08-23 17:41:18 +08:00
istat menus
jorneyr
2023-08-23 17:47:44 +08:00
这个就是监控告警功能,写个脚本隔 x 毫秒执行命令 top 抓取 cpu 使用最多的进程,cpu 超过阈值后把数据保存到文件里。
yagamisam
2023-08-23 18:04:05 +08:00
看描述很像是’简体中文输入方式‘这个进程导致的。如果是的话,卡顿的时候,顶着卡顿把这个进程杀了就好了。
Leonard
2023-08-23 18:06:00 +08:00
输入法的 bug
yzwduck
2023-08-23 19:01:00 +08:00
没装 Xcode: 终端跑 sudo spindump, 建议提前开好 root 权限的 shell, 遇到问题马上执行 spindump.

有装 Xcode: 打开 Instruments.app, Recording Options 里的 Global Options 的 Recording Mode 选 Last xxx seconds.
wingerwwang
2023-08-23 19:10:32 +08:00
非常类似的情况,可以通过杀输入法缓解。
ChoiKarl
2023-08-23 22:05:50 +08:00
@wingerwwang 怎么弄啊,我也经常碰到,只能强制重启电脑。
wingerwwang
2023-08-23 23:48:25 +08:00
@ChoiKarl

引自另一位 v 友:
添加两条定时任务即可解决
0 */2 * * * kill -9 `pgrep SCIM`
0 */2 * * * kill -9 `pgrep Spotlight`
qq316107934
2023-08-24 01:04:00 +08:00
strace?
zjsegzhf
2023-08-24 09:39:58 +08:00
@jorneyr top 应该不行吧

@jorneyr @Leonard @wingerwwang
是 Mac 自带的输入法吗? 多谢我下次试试,之前都是直接杀了 WindowServer 来让自己重新登陆就好了。
ChoiKarl
2023-08-24 12:36:44 +08:00
@wingerwwang #8 咋还有 Spotlight 的事。。。
wingerwwang
2023-08-26 10:17:18 +08:00
@ChoiKarl 我也不知道…反正有效🤪

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967709

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX