最近、jemalloc について知りました。これは、firefox で使用されるメモリ アロケータです。new および delete 演算子をオーバーライドし、malloc および free に相当する jemalloc 、つまり je_malloc および je_free を呼び出すことにより、jemalloc をシステムに統合しようとしました。1 億回の割り当てを行うテスト アプリケーションを作成しました。 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: はい flags: 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 ビット
top -c -b -d 1.10 -p 24670 |を使用しています。awk -v time=$TIME '{print time,",",$9}'を実行して、CPU 使用率を追跡します。
Jemllocの統合中に誰かが同様の経験をしましたか?
ありがとう!