加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 我应该监控哪些进程间锁定调用?

发布时间:2020-12-30 21:42:15 所属栏目:Linux 来源:网络整理
导读:我正在使用strace / ltrace监视进程,希望找到并拦截一个检查并可能激活某种全局共享锁的调用. 虽然我以前曾经在Linux上处理过几种形式的进程间锁定,但我还是要查找要查找的内容. 目前我唯一的嫌疑人是futex(),它在执行过程中很早就出现了. Update0 关于我追

我正在使用strace / ltrace监视进程,希望找到并拦截一个检查并可能激活某种全局共享锁的调用.

虽然我以前曾经在Linux上处理过几种形式的进程间锁定,但我还是要查找要查找的内容.

目前我唯一的嫌疑人是futex(),它在执行过程中很早就出现了.

Update0

关于我追求的是什么有一些混乱.我正在监视现有进程以调用持久进程间内存或等效内存.我想知道要查找的系统和库调用.我无意自称这些,所以自然会出现futex(),我相信很多库都会根据这个来实现锁定调用等.

UPDATE1

我想要一个函数名列表或文档链接,我应该在ltrace和strace级别监视(并指定哪个).关于如何跟踪和定位全局锁定的任何其他好建议都会很棒.

解决方法

如果您可以在valgrind中启动受监视的进程,那么有两个项目:

http://code.google.com/p/data-race-test/wiki/ThreadSanitizer

和赫尔格林德

http://valgrind.org/docs/manual/hg-manual.html

Helgrind is aware of all the pthread
abstractions and tracks their effects
as accurately as it can. On x86 and
amd64 platforms,it understands and
partially handles implicit locking
arising from the use of the LOCK
instruction prefix.

因此,这些工具甚至可以检测原子内存访问.他们将检查pthread的使用情况

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!