调整gperftools中Heap Profiler输出字符串缓冲区大小到1<<22,并升级gperftools.
* heap profiler工具中定义的Heap文件输出缓冲区过小(1<<20),当使用内存较多时无法正确输出Heap文件。通过Patch的方式调整。 * 升级gperftools到最新稳定版本2.8。
This commit is contained in:
7
vendor/CMakeLists.txt
vendored
7
vendor/CMakeLists.txt
vendored
@@ -101,7 +101,7 @@ ExternalProject_Add(ratelimiter PREFIX ratelimiter
|
|||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND make
|
BUILD_COMMAND make
|
||||||
BUILD_IN_SOURCE 1)
|
BUILD_IN_SOURCE 1)
|
||||||
|
|
||||||
ExternalProject_Get_Property(ratelimiter INSTALL_DIR)
|
ExternalProject_Get_Property(ratelimiter INSTALL_DIR)
|
||||||
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||||||
|
|
||||||
@@ -334,8 +334,9 @@ target_link_libraries(brotlienc-static INTERFACE brotlicommon-static)
|
|||||||
### gperftools
|
### gperftools
|
||||||
ExternalProject_Add(gperftools
|
ExternalProject_Add(gperftools
|
||||||
PREFIX gperftools
|
PREFIX gperftools
|
||||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/gperftools-2.7.tar.gz
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/gperftools-2.8.tar.gz
|
||||||
URL_MD5 c6a852a817e9160c79bdb2d3101b4601
|
URL_MD5 ea61ad1e886f53e4069873ce52cae7df
|
||||||
|
PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/gperftools-fix_too_small_heap_profile_buffer_size.patch
|
||||||
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --disable-shared
|
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --disable-shared
|
||||||
BUILD_IN_SOURCE 1)
|
BUILD_IN_SOURCE 1)
|
||||||
|
|
||||||
|
|||||||
BIN
vendor/gperftools-2.7.tar.gz
vendored
BIN
vendor/gperftools-2.7.tar.gz
vendored
Binary file not shown.
BIN
vendor/gperftools-2.8.tar.gz
vendored
Normal file
BIN
vendor/gperftools-2.8.tar.gz
vendored
Normal file
Binary file not shown.
13
vendor/patch/gperftools-fix_too_small_heap_profile_buffer_size.patch
vendored
Normal file
13
vendor/patch/gperftools-fix_too_small_heap_profile_buffer_size.patch
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/src/heap-profiler.cc b/src/heap-profiler.cc
|
||||||
|
index 33a25ac..4d750bb 100644
|
||||||
|
--- a/src/heap-profiler.cc
|
||||||
|
+++ b/src/heap-profiler.cc
|
||||||
|
@@ -151,7 +151,7 @@ static void ProfilerFree(void* p) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// We use buffers of this size in DoGetHeapProfile.
|
||||||
|
-static const int kProfileBufferSize = 1 << 20;
|
||||||
|
+static const int kProfileBufferSize = 1 << 22;
|
||||||
|
|
||||||
|
// This is a last-ditch buffer we use in DumpProfileLocked in case we
|
||||||
|
// can't allocate more memory from ProfilerMalloc. We expect this
|
||||||
Reference in New Issue
Block a user