各画面のCPU使用率の一覧表示

各画面のCPU使用率の一覧表示

起動したすべての画面とscreenCPU使用率を一覧表示するには? (screen -ls画面リストを提供しますが、CPU使用率は提供しません)

画面のCPU使用率は、画面で開始されたプロセスのCPU使用率の合計です。

答え1

完全な答えではありませんが、後で更新できます。

次の1行のコードが名前付きファイルに配置されると、cpu_usage_for_pid.shPIDをパラメータとして受け入れ、そのPIDとすべての子PIDのCPU使用率の合計を印刷します。

#!/bin/bash

awk '{sum += $2} END{print sum}' <(ps -o pid,pcpu p "$(pstree -p "$1" | awk -F '[^0-9][^0-9]*' -v thepid="$1" 'NR = 1 {printf "%d", thepid} { for (i=1; i<=NF; i++) { if ($i != "") { printf ",%d", $i }}}')")

現在、私の仮想マシンの全体的なプロセス使用量は0%であるため、テストするのは困難です。ただし、これを実行することもできます./cpu_usage_for_pid.sh 1241

これはプロトタイプであり、生産用ではありません。

~からUnixプログラミングの芸術、マイクレスクを再び引用します。

...彼は必要な作業を大まかにするためにシェルスクリプトとawkコードの組み合わせを一緒に投げ、クライアントに数日間従業員を送るように言い、クライアントに来てプロトタイプで遊んでいるかどうかを伝えました。彼らはそれが好きだった。もしそうなら、彼は「今から数ヶ月後にはこの程度の費用で産業的力を持つことができるだろう」と話した。

:)

関連情報