由于 mysql 内存持续增长,远超理论最大内存,使用 jemalloc 进行统计
[mysqld_safe]
malloc-lib=/usr/lib64/libjemalloc.so
一段时间后 jemalloc 的 stats 如下
Allocated: 5886533096, active: 6123192320, metadata: 137662464 (n_thp 0), resident: 10975715328, mapped: 11279020032, retained: 3251097600
然而使用 top 可以看到 mysql 进程为
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6204 mysql 20 0 26.9g 21g 14m S 17.3 17.5 214:25.46 mysqld
为什么两者显示进程的内存大小差距这么大?可能有部分内存申请不走 jemalloc 吗
mysql 版本 5.7.22
jemalloc 版本 5.2.1
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.