linux內存耗盡分析


操作系統級

  1. 查看設備整體運行狀況
  • loadAverage:1分鍾、5分鍾、15分鍾的cpu負載情況,滿載情況下為CPU核數*1
  • %us:用戶空間程序的cpu使用率
  • %ss:系統進程的cpu使用率
  • %id:空閑cpu
  • H/shit+h:顯示線程信息
  1. 內存分析
  • free -g:查看整體內存使用情況,注意觀察如下幾個指標
  • 操作系統總共有多少內存
  • 已經有多少內存被使用
  • buffercached里面有多少內存被使用
  • -/+ buffers/cache:-表示從應用程序角度看系統被用掉了多少內存,+表示從應用程序角度看系統還有多少內存可用
  • 應用程序使用了多少內存/應用程序還有多少內存可以使用
  • 系統監控工具:sysstat
    • 安裝:zypper in sysstat(包括iostatmpstatsarsa
  • IO負載高判斷依據:
    • svctm > 15s:平均每次IO操作的服務時間 %util接近100%:一秒中有多少時間用於IO操作

進程分析

  1. 進程排序 ps -aux | sort -k4,4nr | awk '{sum += $1} END {print "sum=", sum}' sort參數解釋:k后面根的數字表示第幾列,n表示數字,r表示逆序排列
  2. pidstat
  • pidstat -d -p {pid}:對進程io進行采樣
  • pidstat -u -p {pid}:對進程cpu占用率進行采樣
  • pidstat -r -p {pid}:對進程內存占用率進行采樣
  • jstack -l {pid}:查看某個進程的所有線程,-l表示檢查鎖
  • jstatjmap

性能測試

  • chaosblade:阿里混沌工具
  • memtester:內存測試工具
  • cpuburn:cpu測試工具

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM