최근에 jemalloc에 대해 알게되었는데, firefox에서 사용하는 메모리 할당 자입니다. 나는 jemalloc을 내 시스템에 통합하려고 시도했다. 새로운 연산자를 삭제하고 memoc과 je_malloc 및 je_free라는 무료 jemalloc을 호출했다. 나는 1 억 개의 할당을 수행하는 테스트 애플리케이션을 작성했다. glibc malloc과 jemalloc을 사용하는 동안 jemalloc을 사용하여 실행하는 것은 CPU 사용률이 꽤 높은 그러한 할당에 더 적은 시간이 걸리며 malloc에 비해 메모리 풋 프린트도 더 큽니다. jemalloc analysis 에서이 문서를 읽은 후 jemalloc은 메모리보다 속도를 최적화하는 기술을 사용하므로 malloc보다 큰 발자국이있을 수 있습니다. 그러나 Jemalloc을 사용하여 CPU 사용량에 대한 정보를 얻지 못했습니다. 나는 아래에 주어진 세부 사항을 다루는 다중 프로세서 머신에 대해 작업하고 있다고 말하고 싶다.glibc malloc과 비교했을 때 jemalloc의 CPU와 메모리 사용량
프로세서 : 11 VENDOR_ID : GenuineIntel CPU 가족 6 모델 : 44 모델명 : 인텔 (R) 제온 (R) CPU의 X5680의 @ 3.33GHz을 스텝 2 의 CPU 메가 헤르츠 : 3325.117 캐쉬 크기 : 12,288킬로바이트 물리적 ID : 1 형제 12 코어 ID : 10 개 CPU 코어 6 apicid 53 FPU : 예 fpu_exception : 예 CPUID 레벨 : 11 WP : 예 플래그 : FPU VME 드의 PSE TSC의 MSR의 PAE를 MCE의 CX8의 APIC SEP MTRR PGE MCA CMOV 확실 PSE36의 CLFLUSH의 DTS의 ACPI MMX fxsr SSE SSE2의 SS HT TM 콜 NX pdpe1gb rdtscp LM CONSTANT_TSC IDA NONSTOP_TSC 아라 PNI는 EST TM2 SSSE3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm 을 ds_cpl VMX의 SMX 모니터링 밉스 : 6649.91 CLFLUSH 크기 : 64 cache_alignment 64 개 주소 크기 : 40 비트, 실제 48 비트 가상 전원 관리 : [8]
I가 사용하고 가기 -c -b -d 1.10 -p 24,670 | awk -v time = $ TIME '{print time, ",", $ 9}'은 CPU 사용량을 추적합니다.
Jemlloc을 통합하는 동안 비슷한 경험을 한 사람이 있습니까?
감사합니다.
의견을 보내 주셔서 감사합니다. 누군가 다른 멀티 프로세서 시스템에서 비슷한 관찰을했는지 알아 내려고했습니다. 정확한 성능은 하드웨어에 완전히 의존한다는 것에 전적으로 동의하지만 CPU 사용 패턴이 동일해야하는지 궁금합니다. 예를 들어 jemalloc 멀티 프로세서 환경에서. – deb