从进程名称来看,它会占用如此多的 CPU,这似乎很荒谬。
我目前正在通过网络传输一个大文件。这是为什么呢?
答案1
如果您正在进行大文件传输,那么您可能会使某些部分 i/o 子系统饱和。
当某些东西被列为使用 CPU 时,这可能是由于 i/o 等待而不是实际处理 - CPU 必须等待 i/o 操作完成后才能继续。
您可以通过查看 i/o 等待级别来确认这一点:
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 2 0 383592 56924 2345356 0 0 93 137 4 11 0 1 74 20
最后一张图显示,有 20% 的 CPU 消耗在等待 i/o 上。
mDNSresolver 可能只是试图写入磁盘或请求内存(需要页面交换)并且 CPU 必须等待一段时间才能完成。