在Linux上編譯TCMalloc

來源:互聯網
上載者:User

  TCMalloc(Thread-Caching Malloc)與標準glibc庫的malloc實現一樣的功能,但是TCMalloc在效率和速度效率都比標準malloc高很多。TCMalloc是google-perftools工具中的一個,這個工具都是開源的,以源碼形式發布。如果覺得自己維護一個記憶體 Clerk麻煩的話,可以考慮將TCMalloc靜態庫串連到你的程式中。使用的時候和glibc中的malloc調用方式一樣一樣的。你需要做的只是把TCMalloc的動態庫或者靜態庫串連進你的程式中,你就可以獲得一個高效,快速,安全的記憶體 Clerk。好了廢話不多說,如果想知道更多關於TCMalloc的資訊,看這裡。下面是在Linux下編譯TCMalloc的方法,以及使用方法:

  (1).可以先到http://code.google.com/p/google-perftools/下載源碼包,在Linux下可以輸入命令:wget http://google-perftools.googlecode.com/files/google-perftools-1.4.tar.gz 進行下載。

  (2).下載完成後,輸入命令:tar zxvf google-perftools-1.4.tar.gz 進行解壓;並輸入命令:cd google-perftools-1.4進入源碼目錄中。

  (3).輸入命令:./configure 可安裝全部google-perftools的組件,包括TCMalloc、heap-checker、heap-profiler和cpu-profiler共4個組件。但是我們這裡只需要TCMalloc所以我們可以輸入命令:./configure --prefix=/usr/local --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker --disable-debugalloc --enable-minimal 只安裝TCMalloc。--prefix=/usr/local是指定安裝目錄的,如果不指定則預設安裝到/usr/local/lib/下面。

  (4).輸入命令:make && make install進行編譯、安裝。如果要使用最小安裝,則只需在第(3)部中指定一個臨時目錄安裝,然後將產生的.so和.a庫檔案複製到/usr/local/lib目錄下,然後執行如下幾條建立符號連結的命令即可:(靜態庫不需要符號連結,複製的時候只複製檔案,不複製符號連結檔案)

  ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so
  ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so.0
  ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so.0.0.0

  (5).在編譯自己程式的時候,在編譯選項的最後加入 /usr/local/lib/libtcmalloc_minimal.a 即可連結靜態庫。如果用動態庫則在編譯選項這裡插入 -L/usr/local/lib -ltcmalloc_minimal 即可。最後編譯你的程式,你就可以使用TCMalloc了,你的代碼一句都不需要修改。動態庫有沒有使用成功可使用這個命令:lsof -n | grep tcmalloc。靜態庫則沒有辦法查看。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.