用什么办法可以查看 Python 多线程情况下,线程的 cpu 时间和等待时间?

2022-08-04 15:12:13 +08:00
 bulay

使用了一个线程池,现在需要为线程池指定大小.

最佳线程数目 = ((线程等待时间+线程 CPU 时间)/线程 CPU 时间 )* CPU 数目

用什么办法可以查到 cpu 时间和等待时间

1331 次点击
所在节点    程序员
6 条回复
fantastM
2022-08-04 16:00:36 +08:00
Linux 的话,可以读取 /proc/stat 文件。https://man7.org/linux/man-pages/man5/proc.5.html
wxf666
2022-08-04 16:15:12 +08:00
现在 Python 一般用多线程干啥呢?

应该干不了 CPU 密集型的活儿吧,那应该是 IO 密集型?

换做协程,会不会舒服点
bulay
2022-08-04 16:25:21 +08:00
@wxf666 是 IO 密集型,通过 ssh 连网络设备.但是只有 ssh 的协程包,没有针对网络设备做封装,所以用不了
wxf666
2022-08-04 17:03:21 +08:00
@bulay Emm…… ssh 动态端口转发?
bulay
2022-08-04 17:28:18 +08:00
@wxf666 应该是结束标识符之类的不一样.使用 asyncssh 获取的结果的不正确的,netmiko 获取的才是正确的.但是 netmiko 是不支持协程的.所以用了多线程
wxf666
2022-08-04 17:39:49 +08:00
@bulay emm ,没有经验,连你的原始需求是啥都猜不出来。。等大神指点了

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

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

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

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

© 2021 V2EX