日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SRS性能、内存优化工具用法

發布時間:2024/2/28 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SRS性能、内存优化工具用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SRS提供了一系列工具來定位性能瓶頸和內存泄漏,這些在./configure && make后的summary中是有給出來用法的,不過不是很方便,所以特地把用法寫到這個文章中。

文中所有的工具,對于其他的linux程序也是有用的。

備注:所有工具用起來都會導致SRS性能低下,所以除非是排查問題,否則不要開啟這些選項。

GPERF

GPERF是google tcmalloc提供的cpu和內存工具,參考GPERF。

GMD

GMD是GPERF提供的內存Defense工具,檢測內存越界和野指針。一般在越界寫入時,可能不會立刻導致破壞,而是在切換到其他線程使用被破壞的對象時才會發現破壞了,所以這種內存問題很難排查;GMD能在越界和野指針使用時直接core dump,定位在那個出問題的地方。參考GMD。

Usage:

# Build SRS with GMD. ./configure --with-gperf --with-gmd && make# Start SRS with GMD. env TCMALLOC_PAGE_FENCE=1 ./objs/srs -c conf/console.conf
  • 1
  • 2
  • 3
  • 4
  • 5

GMC

GMC是內存泄漏檢測工具,參考GMC。

Usage:

# Build SRS with GMC ./configure --with-gperf --with-gmc && make# Start SRS with GMC env PPROF_PATH=./objs/pprof HEAPCHECK=normal ./objs/srs -c conf/console.conf 2>gmc.log # Or CTRL+C to stop gmc killall -2 srs# To analysis memory leak cat gmc.log
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

GMP

GMP是內存性能分析工具,譬如檢測是否有頻繁的申請和釋放堆內存導致的性能問題。參考GMP。

Usage:

# Build SRS with GMP ./configure --with-gperf --with-gmp && make# Start SRS with GMP ./objs/srs -c conf/console.conf# Or CTRL+C to stop gmp killall -2 srs # To analysis memory profile ./objs/pprof --text objs/srs gperf.srs.gmp*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

GCP

GCP是CPU性能分析工具,就是一般講的性能瓶頸,看哪個函數調用占用過多的CPU。參考GCP。

Usage:

# Build SRS with GCP ./configure --with-gperf --with-gcp && make# Start SRS with GCP ./objs/srs -c conf/console.conf# Or CTRL+C to stop GCP killall -2 srs# To analysis cpu profile ./objs/pprof --text objs/srs gperf.srs.gcp*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

GPROF

GPROF是個GNU的CPU性能分析工具。參考SRS GPROF,以及GNU GPROF。

Usage:

# Build SRS with GPROF ./configure --with-gprof && make# Start SRS with GPROF ./objs/srs -c conf/console.conf# Or CTRL+C to stop GPROF killall -2 srs# To analysis result. gprof -b ./objs/srs gmon.out
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

VALGRIND

VALGRIND是大名鼎鼎的C分析工具,SRS因為使用了ST所以最初不支持VALGRIND的分析,所以需要給ST打PATCH才能用,目前還沒有合并到SRS。

給ST打PATCH支持VALGRIND,參考state-threads,詳細的信息可以參考ST#2。

總結

以上是生活随笔為你收集整理的SRS性能、内存优化工具用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。