BugFix
bug记录
拾牙慧者
会点c++、python;
展开
-
mysqld进程 ut_delay 占用率过高
采用性能分析工具perf top -p mysqld进程 在测试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 · 1784 阅读 · 0 评论 -
perf +火焰图使用
以mysqld进程为例: [root@VM-90-225-centos ~]# ps -ef | grep mysqld root 9808 9621 0 19:30 pts/7 00:00:00 grep --color=auto mysqld root 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 · 803 阅读 · 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 · 491 阅读 · 0 评论
分享