gpt4 book ai didi

linux - 如何找出哪个内核自旋锁占用了大部分 CPU?

转载 作者:太空狗 更新时间:2023-10-29 11:49:06 27 4
gpt4 key购买 nike

我正在对运行在 Linux 上并利用硬件加密加速设备的加密软件进行性能调优。

当负载超过某个阈值时,内核 _spn_lock 开始占用大部分 CPU 时间。以下 perf top 屏幕截图显示 ~30% 的 CPU 被 _spin_lock 占用,但如果负载增加且整体性能下降,它会上升超过 50%。

如果不找出是哪个自旋锁导致了这种情况,我就无法调整软件的性能。

我在 stackoverflow 上查看了类似的问题,但找不到关于如何发现自旋锁自旋的答案。有什么办法可以定位自旋锁的位置吗?任何提示或建议将不胜感激。

   PerfTop:      81 irqs/sec  kernel:45.7%  exact:  0.0% [1000Hz cycles],  (all, CPU: 53)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

samples pcnt function DSO
_______ _____ _______________________ __________________________

44.00 27.2% _spin_lock [kernel.kallsyms]
30.00 18.5% sha512_block_data_order /usr/local/bin/cryptod
6.00 3.7% _int_malloc /lib64/libc-2.12.so
5.00 3.1% __GI___libc_malloc /lib64/libc-2.12.so



[root@qat ~]# uname -a
Linux qat 2.6.32-220.el6.tsx.65.x86_64 #68 SMP Fri Jan 26 17:45:32 KST 2018 x86_64 x86_64 x86_64 GNU/Linux

最佳答案

perf-lock应该帮助你。您可以使用它捕获一些每个锁的统计信息。

关于linux - 如何找出哪个内核自旋锁占用了大部分 CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48697926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com