1. 现在ceph系统支持perf counter统计mutex花费的时间
OPTION(mutex_perf_counter, OPT_BOOL, false)
ceph daemon /var/run/ceph/ceph-osd.0.asok config set mutex_perf_counter 1
ceph daemon /var/run/ceph/ceph-osd.0.asok config set mutex_perf_counter 0
# ceph daemon /var/run/ceph/ceph-osd.0.asok perf dump | grep mutex
"mutex-FileJournal::completions_lock": {
"mutex-FileJournal::finisher_lock": {
"mutex-FileJournal::write_lock": {
"mutex-FileJournal::writeq_lock": {
"mutex-JOS::ApplyManager::apply_lock": {
"mutex-JOS::ApplyManager::com_lock": {
"mutex-JOS::SubmitManager::lock": {
"mutex-WBThrottle::lock": {
"wait": {
"avgcount": 0,
"sum": 0.000000000
}
},
这个能统计出一段时间内所有mutex lock花费的时间,但是不能显示具体某一个mutex lock的花费时间。

本文介绍了如何使用Ceph系统的perf counter统计mutex锁的耗时,并通过添加tracepoint深入分析特定mutex锁的详细时间。在实现过程中,详细描述了从添加tracepoint文件到修改源代码、Makefile的步骤。尽管在最后遇到了rbd命令执行失败的问题,但Ceph仍然能够正常工作,并能收集到mutex的日志信息,只是由于大量使用,日志过多不适合直接分析。
最低0.47元/天 解锁文章
1054

被折叠的 条评论
为什么被折叠?



