我最近了解了jemalloc,它是firefox使用的内存分配器。我尝试通过覆盖 new 和 delete 运算符并调用 malloc 和 free 的 jemalloc 等效项,即 je_malloc 和 je_free 将 jemalloc 集成到我的系统中。我已经编写了一个测试应用程序,可以进行 1 亿次分配。我已经使用 glibc malloc 和jemalloc,虽然使用 jemalloc 运行此类分配所需的时间更短,但 CPU 利用率相当高,而且与 malloc 相比,内存占用空间也更大。看完这篇关于jemalloc分析的文档 似乎 jemalloc 的占用空间可能比 malloc 更大,因为它采用技术来优化速度而不是内存。但是,我没有任何关于 Jemalloc 的 CPU 使用率的指针。我想声明我在一台多处理器机器上工作,下面给出了详细信息。
处理器:11 vendor_id:GenuineIntel cpu 系列:6 型号:44 型号名称:Intel(R) Xeon(R) CPU X5680 @ 3.33GHz 步进:2 cpu MHz:3325.117 缓存大小:12288 KB 物理 id:1 个兄弟姐妹:12 核 id : 10 cpu 核心: 6 apicid: 53 fpu: 是 fpu_exception: 是 cpuid 级别: 11 wp: 是标志: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm bogomips:6649.91 clflush大小:64 cache_alignment物理位:64位地址大小:48位虚拟电源管理:48
我正在使用top -c -b -d 1.10 -p 24670 | awk -v time=$TIME '{print time,",",$9}'跟踪 CPU 使用率。
有人在集成 Jemlloc 时有类似的经历吗?
谢谢!