首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何监控自旋锁

如何监控自旋锁
EN

Unix & Linux用户
提问于 2016-05-31 08:39:15
回答 1查看 1.1K关注 0票数 1

我想知道我怎么能监控旋转锁。在我的客户端,我们有cpu软锁故障,如果我理解的话,spinlock可能是原因之一。

不同的团队使用该服务器进行预测建模,使用R、Python和SAS,这意味着我们经常有许多未监管的进程并行运行,可能存在多处理漏洞。

监视自旋锁的数量,或者更好地监视使用它们的进程,可能有助于验证或使它们失效,从而导致频繁的故障(过去3周中有5次)。

有什么办法监视他们吗?如果没有,我们怎么知道是什么导致了这些软性锁?

EN

回答 1

Unix & Linux用户

发布于 2016-05-31 14:02:15

如果自旋锁位于用户空间,则很可能无法监视它们。一些软件将跟踪自旋锁定时间,并提供一种提取它的方法。您可以使用可运行进程的计数通过代理进行监视。如果有多个进程处于可运行状态,则会增加此值。

一个行为良好的程序会在短时间内放弃它的自锁。如果自旋锁没有成功,它将抢占和等待锁。如果您的程序行为不佳,则在频繁自旋锁定时,它将提高CPU利用率.

在这种情况下,记录系统状态随时间的推移是有用的。sar可以在后台定期运行记录数据。这在像您这样的情况下是有用的,因为您可以检查导致失败的趋势。有些工具将提供图形输出,但我发现查看原始数据更有用。

还有一些工具可以将正在进行的使用直接记录到rrd (循环数据库)文件中,并绘制结果。这些对趋势分析很有用。

如果这些是批处理或批处理类程序,您可能希望动态地使用最多CPU的程序。有各种程序可以监视资源利用率和调整优先级,这样资源占优势就不会影响其他用户的性能。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/286616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档