想請教大家有什麼方式可以查出是哪一個 process 導致 CPU 使用率或記憶體突然飆高?
因為像 htop 或 top 通常只能看到當下的資訊,但當我登入進去時,狀況已經恢復正常,看不到是誰造成的。
目前環境是 Ubuntu 22.04 LTS,曾經遇過某些 process 過度佔用資源,但都只能事後猜測。
請問有沒有推薦的工具或監控手法可以記錄歷史的資源使用情況
希望能找到一種方便部署、低資源耗用、可追蹤歷史異常資訊的方式,感謝大家!
有很多工具都可以使用。例 Grafana、Prometheus....
我個人是簡單需求,是自行寫sh處理。
#!/bin/bash
LOG_FILE="/var/log/process_monitor.log"
echo "Recorded at: $(date)" >> $LOG_FILE
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head >> $LOG_FILE
echo "-----------------------------------------"
然後再排程處理。這樣方便我需要時再去開排程記錄。平常就關掉。