Actions
Bug #13689
closedceph-mds not build with libjemalloc
Status:
Won't Fix
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Looking against high RAM usage of mds, I found ceph-mds do not linked to libjemalloc. Other daemons - are.
- lddtree /usr/bin/ceph-mds
ceph-mds => /usr/bin/ceph-mds (interpreter => /lib64/ld-linux-x86-64.so.2)
libpthread.so.0 => /lib64/libpthread.so.0
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libnss3.so => /usr/lib64/libnss3.so
libnssutil3.so => /usr/lib64/libnssutil3.so
libplc4.so => /usr/lib64/libplc4.so
libplds4.so => /usr/lib64/libplds4.so
libnspr4.so => /usr/lib64/libnspr4.so
libdl.so.2 => /lib64/libdl.so.2
libuuid.so.1 => /lib64/libuuid.so.1
libboost_thread.so.1.57.0 => /usr/lib64/libboost_thread.so.1.57.0
librt.so.1 => /lib64/librt.so.1
libboost_system.so.1.57.0 => /usr/lib64/libboost_system.so.1.57.0
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libstdc++.so.6
libm.so.6 => /lib64/libm.so.6
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libgcc_s.so.1
libc.so.6 => /lib64/libc.so.6
- lddtree /usr/bin/ceph-osd
ceph-osd => /usr/bin/ceph-osd (interpreter => /lib64/ld-linux-x86-64.so.2)
libjemalloc.so.1 => /usr/lib64/libjemalloc.so.1
libaio.so.1 => /lib64/libaio.so.1
libleveldb.so.1 => /usr/lib64/libleveldb.so.1
libsnappy.so.1 => /usr/lib64/libsnappy.so.1
libpthread.so.0 => /lib64/libpthread.so.0
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libnss3.so => /usr/lib64/libnss3.so
libnssutil3.so => /usr/lib64/libnssutil3.so
libplc4.so => /usr/lib64/libplc4.so
libplds4.so => /usr/lib64/libplds4.so
libnspr4.so => /usr/lib64/libnspr4.so
libuuid.so.1 => /lib64/libuuid.so.1
libdl.so.2 => /lib64/libdl.so.2
libboost_thread.so.1.57.0 => /usr/lib64/libboost_thread.so.1.57.0
librt.so.1 => /lib64/librt.so.1
libboost_system.so.1.57.0 => /usr/lib64/libboost_system.so.1.57.0
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libstdc++.so.6
libm.so.6 => /lib64/libm.so.6
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/libgcc_s.so.1
libc.so.6 => /lib64/libc.so.6
PS Gentoo: build from sources.
Updated by Nathan Cutler over 8 years ago
- Tracker changed from Tasks to Bug
- Project changed from Stable releases to CephFS
Updated by Zheng Yan over 8 years ago
I found that if we move the -ljemalloc option before the -Wl,--as-needed option, libjemalloc will be linked into ceph-mds.
works
g++ -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -Wstrict-null-sentinel -g -fno-omit-frame-pointer -O2 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=gnu++11 -ljemalloc -Wl,--as-needed -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o ceph-mds ceph_mds.o ./.libs/libmds.a ./.libs/libperfglue.a ./.libs/libosdc.a ./.libs/libglobal.a -lpthread -lcryptopp -lm ./.libs/libcommon.a -ldl -lboost_thread -latomic_ops -lboost_random -lrt -lblkid -lboost_system
not work
g++ -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -fPIE -fstack-protector-strong -Wstrict-null-sentinel -g -fno-omit-frame-pointer -O2 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -std=gnu++11 -Wl,--as-needed -pie -Wl,-z -Wl,relro -Wl,-z -Wl,now -o ceph-mds ceph_mds.o ./.libs/libmds.a -ljemalloc ./.libs/libperfglue.a ./.libs/libosdc.a ./.libs/libglobal.a -lpthread -lcryptopp -lm ./.libs/libcommon.a -ldl -lboost_thread -latomic_ops -lboost_random -lrt -lblkid -lboost_system
Updated by Greg Farnum almost 8 years ago
- Status changed from New to Won't Fix
We're switching to cmake so hopefully this is fixed.
Actions