![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
BugFix
bug记录
拾牙慧者
会点c++、python;
展开
-
mysqld进程 ut_delay 占用率过高
采用性能分析工具perf top -pmysqld进程在测试mysql数据库时,用perf top如果看到热点函数是ut_delay或者_raw_spin_lock的话,说明锁争用比较严重。ut_delay这是innodb的一个自旋琐。也就是说,在这里由于锁等待,innodb不停地在作cpu空转.由于cpu速度远高于io速度,线程之间需要等待。在压力环境下,多个cpu就会互相等待资源。使用自旋琐的本意是尽量减少调用mutesx锁的时间来提升性能。若自旋等待超过仍未获取资源,则使用mutex。ut原创 2022-03-14 20:35:56 · 1706 阅读 · 0 评论 -
perf +火焰图使用
以mysqld进程为例:[root@VM-90-225-centos ~]# ps -ef | grep mysqldroot 9808 9621 0 19:30 pts/7 00:00:00 grep --color=auto mysqldroot 16104 1 0 17:30 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data原创 2022-02-24 19:48:47 · 668 阅读 · 0 评论 -
bugfix:MySQL内存使用率无限增长以及kill手法
问题:昨天mysql 宕机了一次,重启,然后继续运行业务代码的时候发现问题,mysql内存占用率上升较快,于是搜了搜,遇到一个:http://blog.itpub.net/29510932/viewspace-2129312/根据思路,查看了下,确实业务代码存在没有释放db or cursor的问题。补上之后再看看有没有问题吧。第二个问题:kill进程之后,之前使用的是-9操作,导致业务进程无法感知被kill,一些mysql连接池的资源就无法释放。这里采用kill -2 pid,相当于对进程进行了c原创 2022-02-24 19:13:09 · 471 阅读 · 0 评论