共計 2876 個字符,預計需要花費 8 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
丸趣 TV 小編給大家分享一下如何檢查高 CPU/ 內存消耗進程,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
什么是 ps 命令
ps 是進程狀態 processes status,它顯示有關系統上活動 / 正在運行的進程的信息。
它提供了當前進程的快照以及詳細信息,例如用戶名、用戶 ID、CPU 使用率、內存使用率、進程開始日期和時間等。
1)檢查高 CPU 消耗進程在 Linux 上運行了多長時間的 Bash 腳本
該腳本將幫助你確定高 CPU 消耗進程在 Linux 上運行了多長時間。
# vi /opt/scripts/long-running-cpu-proc.sh #!/bin/bashps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%cpu | head | tail -n +2 | awk {print $1} /tmp/long-running-processes.txtecho -------------------------------------------------- echo UName PID CMD Process_Running_Time echo -------------------------------------------------- for userid in `cat /tmp/long-running-processes.txt`dousername=$(ps -u -p $userid | tail -1 | awk {print $1} )pruntime=$(ps -p $userid -o etime | tail -1)ocmd=$(ps -p $userid | tail -1 | awk {print $4} )echo $username $userid $ocmd $pruntime done | column -techo --------------------------------------------------
給 long-running-cpu-proc.sh 設置可執行的 Linux 文件權限。
# chmod +x /opt/scripts/long-running-cpu-proc.sh
運行此腳本時,你將獲得類似以下的輸出:
# sh /opt/scripts/long-running-cpu-proc.sh ----------------------------------------------------UName PID CMD Process_Running_Time----------------------------------------------------daygeek 5214 Web 01:18:48daygeek 5748 Web 01:08:20daygeek 8043 inkscape 22:11daygeek 5269 Web 01:18:31daygeek 1712 Web 10:44:50daygeek 5335 RDD 01:17:54daygeek 1639 firefox 10:44:51daygeek 7793 nautilus 24:14daygeek 6301 Web 57:40----------------------------------------------------
2)檢查高內存消耗進程在 Linux 上運行了多長時間的 Bash 腳本
該腳本將幫助你確定最大的內存消耗進程在 Linux 上運行了多長時間。
# sh /opt/scripts/long-running-memory-proc.sh #!/bin/bashps -eo pid,user,ppid,%mem,%cpu,cmd --sort=-%mem | head | tail -n +2 | awk {print $1} /tmp/long-running-processes-1.txtecho -------------------------------------------------- echo UName PID CMD Process_Running_Time echo -------------------------------------------------- for userid in `cat /tmp/long-running-processes-1.txt`dousername=$(ps -u -p $userid | tail -1 | awk {print $1} )pruntime=$(ps -p $userid -o etime | tail -1)ocmd=$(ps -p $userid | tail -1 | awk {print $4} )echo $username $userid $ocmd $pruntime done | column -techo --------------------------------------------------
給 long-running-memory-proc.sh 設置可執行的 Linux 文件權限。
# chmod +x /opt/scripts/long-running-memory-proc.sh
運行此腳本時,你將獲得類似以下的輸出:
# sh /opt/scripts/long-running-memory-proc.sh ----------------------------------------------------UName PID CMD Process_Running_Time----------------------------------------------------daygeek 1639 firefox 10:44:56daygeek 2997 Web 10:39:54daygeek 5269 Web 01:18:37daygeek 1712 Web 10:44:55daygeek 8043 inkscape 22:17daygeek 5214 Web 01:18:54daygeek 1898 Web 10:44:48daygeek 1129 Xorg 10:45:07daygeek 6301 Web 57:45----------------------------------------------------
以上是“如何檢查高 CPU/ 內存消耗進程”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!