开发者社区> 问答> 正文

如何监控mysqld服务的内存使用情况,并在其超过系统内存70%时通过gdb调用

如何监控mysqld服务的内存使用情况,并在其超过系统内存70%时通过gdb调用jemalloc的malloc_stats_print函数?

展开
收起
不吃核桃 2024-08-13 21:57:37 22 0
1 条回答
写回答
取消 提交回答
  • 你可以使用以下脚本来监控mysqld服务的内存使用情况。当mysqld进程使用的内存超过系统内存的70%时,脚本会通过gdb调用jemalloc的malloc_stats_print函数来分析可能的内存泄漏。

    bash
        largest=70 
        while :; do 
        mem=$(ps -p `pidof mysqld` -o %mem | tail -1) 
        imem=$(printf %.0f $mem) 
        if [ $imem -gt $largest ]; then 
        echo 'p malloc_stats_print(0,0,0)' | gdb --quiet -nx -p `pidof mysqld` 
        fi 
        sleep 10 
        done
    
    2024-08-14 08:02:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
低代码开发师(初级)实战教程 立即下载