Linux性能分析

sudo yum install -y epel-release
sudo yum update -y
sudo yum groupinstall -y "Development tools"
sudo yum install -y elfutils-libelf-devel cmake3 git bison flex ncurses-devel
sudo yum install -y luajit luajit-devel  # for Lua support
curl -LO https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/llvm-10.0.1.src.tar.xz
curl -LO https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/clang-10.0.1.src.tar.xz
tar -xf clang-10.0.1.src.tar.xz
tar -xf llvm-10.0.1.src.tar.xz

mkdir clang-build
mkdir llvm-build

cd llvm-build
cmake3 -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \
  -DCMAKE_BUILD_TYPE=Release ../llvm-10.0.1.src
make
sudo make install

cd ../clang-build
cmake3 -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \
  -DCMAKE_BUILD_TYPE=Release ../clang-10.0.1.src
make
sudo make install
cd ..
git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
cmake3 ..
make
sudo make install
uptime
dmesg |tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top

pprof

http://127.0.0.1:9090/debug/pprof

  • allocs:内存分配情况的采样信息,所有对象的内存分配
  • blocks:阻塞操作情况的采样信息
  • cmdline:程序启动命令及其参数
  • goroutine:当前所有协程的堆栈信息
  • heap:堆上内存的使用情况的采样信息,活跃对象的内存分配
  • mutex:锁争用情况的采样信息
  • profile:cpu占用情况的采样信息
  • threadcreate:系统线程创建情况的采样信息
  • trace:程序运行的跟踪信息

top命令

  • flat: 本函数占用的内存量。
  • flat%: 本函数内存占使用中内存总量的百分比。
  • sum%: 之前函数flat的累计和。
  • cum:是累计量,假如main函数调用了函数f,函数f占用的内存量,也会记进来。
  • cum%: 是累计量占总量的百分比。
go tool pprof http://localhost:9090/debug/pprof/profile?seconds=60
go tool pprof -http=0.0.0.0:8080 cpu.001.pb.gz
posted @   GreeneGe  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
历史上的今天:
2022-01-21 ubuntu-20.04.3-desktop配置阿里云软件源

https://github.com/Glf9832

点击右上角即可分享
微信分享提示