tags: Linux, SRE

SRE 讀書會 Round 4 #06 - 線上讀書會共筆

活動資訊


現場共筆

17 | 案例篇:如何利用系統緩存優化程序的運行效率?

導讀:FreddyFan

  • Buffer vs Cache

  • 採用工具:(講者採用 CentOS 7 為例)

    • cachestat

    • cachetop

    • 以上都是從 /proc 取出資料整理而得

    • pcstat

  • 除 IO 存取外, 網路延遲也是造成速度慢的主因之一

    • 程式 cache 操作
      • nginx cache
      • lua cache
    • 第三方軟體輔助
      • Redis
      • Memcached
    • 雲端方案 CDN
  • 範例: nginx + openresty

CentOS 如何安裝 bcc-tools 第 22 章有介紹
https://github.com/iovisor/bcc/blob/master/INSTALL.md


18 | 案例篇:內存洩漏了,我該如何定位和處理?

導讀:義格

  • 記憶體有限, 當記憶體耗光, 系統會強制執行 OOM 回收記憶體

  • 造成洩漏的原因

    • 程式執行完畢未歸還記憶體
    • bug
  • 記憶體區分 heap 和 stack

  • 工具

    • systat: vmstat
    • bcc
      • CentOS 需升級 kernel 至 4.x 以上才能使用

19 | 案例篇:為什麼系統的Swap變高了(上)

導讀:Jerry Cheng

  • SWAP 原理
    • 把不常訪問的內存放到硬碟 (換出)
  • SWAP 目的
    • 回收內存
    • 內存不足時, 應用程式不想被 OOM
    • 系統休眠
  • 內存回收依據
    • 有新需求, 但現有內存不夠, 直接回收
    • kswapd0
  • NUMA vs SWAP
    • SWAP 升高, 但內存還很多?
    • 在 NUMA 下, 多個處理器被劃分到不同的 Node 上, 且每個 Node 都有各自的內存空間
  • swappiness

20 | 案例篇:為什麼系統的Swap變高了?(下)

導讀:John (強哥)

  • RAM 貴, Disk 便宜
  • 工具
    • apt install sysstat
  • SWAP 分類
    • 分區
    • 檔案
  • demo
    • 利用 demo 產生一個檔案
    • chmod 600 file
    • mkswap file
    • swapon file

參考資料

Select a repo