過去に、Linuxコマンドを使ってこれらのプロセスを特定するために、3つの異なる記事が書かれました。
下記のURLからすぐにアクセスできます:
このチュートリアルには、Linux上でCPUやメモリを大量に消費するプロセスの実行時間を決定するのに役立つ2つのスクリプトが含まれています。
スクリプトは、プロセスID、プロセスの所有者、プロセス名、プロセスのランタイムを表示します。これは、どのジョブが時間切れになっているかを判断するのに役立ちます。これはpsコマンドを使用して実行できます。
psコマンドとは何ですか?
ps はい、システム上でアクティブ/実行中のプロセスに関する情報が表示されます。
ユーザー名、ユーザーID、CPU使用率、メモリ使用率、プロセス開始日時などの詳細情報とともに、現在のプロセスのスナップショットを提供します。
LinuxでCPUを大量に消費するプロセスの実行時間をチェックするBashスクリプト
このスクリプトは、Linux上でCPUを大量に消費するプロセスがどれくらい実行されているかを調べるのに役立ちます。
# 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`username=$(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 "--------------------------------------------------"
実行可能な Linuxファイルのパーミッションを echo "UName PID CMD Process_Running_Time" 設定します。
# chmod +x /opt/scripts/long-running-cpu-proc.sh
このスクリプトを実行すると、以下のような出力が得られます:
# NY /opt/scripts/long-running-cpu-proc.sh----------------------------------------------------UName PID CMD Process_Running_Time----------------------------------------------------daygeek 5214 Webdaygeek 5748 Webdaygeek 8043 inkscape 22:11daygeek 5269 Webdaygeek 1712 Webdaygeek 5335 RDDdaygeek 1639 firefoxdaygeek 7793 nautilus 24:14daygeek 6301 Web 57:40----------------------------------------------------
Linuxでメモリを大量に消費するプロセスの実行時間をチェックするBashスクリプト
このスクリプトは、Linux上で最もメモリを消費するプロセスがどのくらいの期間実行されているかを調べるのに役立ちます。
# NY /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`username=$(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 "--------------------------------------------------"
実行可能なLinuxファイルのパーミッションを echo "UName PID CMD Process_Running_Time" 設定します。
# chmod +x /opt/scripts/long-running-memory-proc.sh
このスクリプトを実行すると、以下のような出力が得られます:
# NY /opt/scripts/long-running-memory-proc.sh----------------------------------------------------UName PID CMD Process_Running_Time----------------------------------------------------daygeek 1639 firefoxdaygeek 2997 Webdaygeek 5269 Webdaygeek 1712 Webdaygeek 8043 inkscape 22:17daygeek 5214 Webdaygeek 1898 Webdaygeek 1129 Xorgdaygeek 6301 Web 57:45----------------------------------------------------
経由:





