如何解决什么是 llvm_pipe 线程?
我正在编写一个使用大量线程的 Rust 应用程序。我注意到 cpu 使用率很高,所以我做了 top
然后点击 H
查看线程:
PID USER PR NI VIRT RES SHR S %cpu %MEM TIME+ COMMAND
247759 root 20 0 3491496 104400 64676 R 32.2 1.0 0:02.98 my_app
247785 root 20 0 3491496 104400 64676 S 22.9 1.0 0:01.89 llvmpipe-0
247786 root 20 0 3491496 104400 64676 S 21.9 1.0 0:01.71 llvmpipe-1
247792 root 20 0 3491496 104400 64676 S 20.9 1.0 0:01.83 llvmpipe-7
247789 root 20 0 3491496 104400 64676 S 20.3 1.0 0:01.60 llvmpipe-4
247790 root 20 0 3491496 104400 64676 S 20.3 1.0 0:01.64 llvmpipe-5
247787 root 20 0 3491496 104400 64676 S 19.9 1.0 0:01.70 llvmpipe-2
247788 root 20 0 3491496 104400 64676 S 19.9 1.0 0:01.61 llvmpipe-3
这些 llvmpipe-n
线程是什么?为什么 my_app
启动它们?他们肯定来自my_app
吗?
解决方法
作为 HHK 链接,llvmpipe
线程来自您的 OpenGL 驱动程序,即 Mesa。
你说你在虚拟机中运行它。 VM 通常不会虚拟化 GPU 硬件,因此 Mesa OpenGL 驱动程序正在执行软件渲染。为了获得更好的性能,Mesa 会产生线程来在 CPU 上进行并行计算。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。