zoukankan      html  css  js  c++  java
  • Linux安装jemalloc笔记

    前言

    最近研究一个工具库需要用 jemalloc 做内存分配器,但在 ubuntu 下安装过程中遇到很多问题,故记下安装过程的笔记,避免以后遇到在这上面浪费时间。

    安装过程

    环境:VMware Ubuntu 18.04.3 LTS

    cd ~/桌面
    wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2
    tar -jxvf jemalloc-5.0.1.tar.bz2
    cd jemalloc-5.0.1
    sudo apt-get install autogen autoconf
    
    ./autogen.sh
    make -j2
    sudo make install
    sudo ldconfig
    cd ../
    rm -rf jemalloc-5.0.1 jemalloc-5.0.1.tar.bz2

    注意安装 jemalloc 不要放在共享目录中. 例如可以放在桌面上. 因为安装过程中需要建立

     ln -sf libjemalloc.so.2 lib/libjemalloc.so

    软链在共享目录的分区情况下会出问题(因为我的Ubuntu 是在 VMWare 中, 共享目录无法软链). 

    Linux下找不到so文件的解决办法

    但在启动应用程序报找不到libjemalloc.so.2的提示,如下图所示:

    even@ubuntu:~/workspace/co/build$ ./log.exe 
    ./log.exe: error while loading shared libraries: libjemalloc.so.2: cannot open shared object file: No such file or directory

    首先在系统搜索是否有这个文件:

    even@ubuntu:~/workspace/co/build$ sudo find / -name libjemalloc.so.2
    [sudo] password for even: 
    /usr/local/lib/libjemalloc.so.2
    find: ‘/run/user/1000/gvfs’: Permission denied

    既然有这个文件,我们就把他加入到/etc/ld.so.conf中,打开这个文件发现里面内容如下:

    将.so文件路径的目录添加到/etc/ld.so.conf

    even@ubuntu:~/workspace/co/build$ cat /etc/ld.so.conf
    include /etc/ld.so.conf.d/*.conf

    看看/etc/ld.so.conf.d目录下的文件:

    even@ubuntu:~/workspace/co/build$ ls /etc/ld.so.conf.d/
    fakeroot-x86_64-linux-gnu.conf  x86_64-linux-gnu.conf
    libc.conf                       zz_i386-biarch-compat.conf
    vmware-tools-libraries.conf

    于是在该目录下创建一个other.conf文件。内容如下:

    /usr/local/lib/

    保存退出,重新加载环境配置:

    sudo ldconfig
  • 相关阅读:
    十分钟抢票千余张,黄牛的抢票软件是何原理
    常见乱码解决
    如何给程序中的变量起个好名字
    jsp自定义标签
    request.getHeader("Referer")理解【转载】
    mybatis学习笔记1--HelloMybatis
    Spring学习笔记14---bean的使用
    Spring学习笔记13--Autowire(自动装配)
    Spring 学习笔记12--AOP讲解
    Spring学习笔记11--Spring 自动装配 Bean
  • 原文地址:https://www.cnblogs.com/evenleee/p/11957076.html
Copyright © 2011-2022 走看看