使用 tcmalloc 堆分析器运行 Ceph

loic

从源代码运行 Ceph 集群时,可以使用 tcmalloc 堆分析器 通过以下方式为所有守护进程启动:

CEPH_HEAP_PROFILER_INIT=true \ CEPH_NUM_MON=1 CEPH_NUM_OSD=3 \ ./vstart.sh -n -X -l mon osd

可以使用以下命令显示 osd.0 统计信息:

$ ceph tell osd.0 heap stats *** 开发者模式:设置 PATH、PYTHONPATH 和 LD_LIBRARY_PATH *** osd.0tcmalloc 堆统计信息:------------------------------------------------ MALLOC: 6084984 ( 5.8 MiB) 应用程序使用的字节数 MALLOC: + 180224 ( 0.2 MiB) 页面堆空闲列表中的字节数 MALLOC: + 1430776 ( 1.4 MiB) 中央缓存空闲列表中的字节数 MALLOC: + 7402112 ( 7.1 MiB) 传输缓存空闲列表中的字节数 MALLOC: + 5873424 ( 5.6 MiB) 线程缓存空闲列表中的字节数 MALLOC: + 1290392 ( 1.2 MiB) malloc 元数据中的字节数 MALLOC: ------------ MALLOC: = 22261912 ( 21.2 MiB) 实际使用的内存(物理 + 交换空间) MALLOC: + 0 ( 0.0 MiB) 释放到操作系统的字节数(即未映射) MALLOC: ------------ MALLOC: = 22261912 ( 21.2 MiB) 使用的虚拟地址空间 MALLOC: MALLOC: 1212 个跨度在使用中 MALLOC: 65 个线程堆在使用中 MALLOC: 8192 Tcmalloc 页面大小

有关更多信息,请参阅 Ceph 内存分析 文档。