AIXサーバーでは、単一プロセスのCPUとメモリー使用量をモニターする必要があります。プログラムは1日3回行われます。特定の間隔(たとえば、10分ごと)で統計をキャプチャする方法を見つける必要があります。
答え1
全体的なシステム統計を収集することをお勧めしますnmon
そしてそれらを解析nmon-analyzer
またはnmon2rrd
- 1つのプロセスでも。関連するものがあれば便利です。svmon
メモリ使用量の監視にも使用できます。
以下は、AIXプロセスとシステムのモニターに関する良い記事です。
- AIX 7メモリーパフォーマンスの最適化:パート2- メモリ使用量の監視(developerWorks)
- AIXでのメモリ使用量の分析(UNIX.COM);
- AIX実用ガイド:メモリー(AIX システム管理者);
- AIXパフォーマンス・ツール(developerWorksパワーコミュニティ);
答え2
私はaixがgnu / linuxと同様に動作すると思います。 /etc/cron.d/ にファイルを作成します。 「モニター」と呼びます。grep processname
その部分をプロセス名に変更してください。
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
# * * * * * user command to be executed
*/10 * * * * root ps aux | grep processname >>/var/log/mylog.log
/var/log/mylog.log に次の行を追加します。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rootがない場合は、ps auxの前にユーザー名rootを省略してcrontab -eユーザーで始めることができ、出力は/var/log/にリダイレクトされてはいけませんが、$ HOME /を使用する必要があります。
答え3
私は完全なスクリプトではなく、単にアイデアを提供するだけです。要件に合わせて変更する必要があります。
CPU使用量とメモリ使用量を監視するために使用するコマンドはですps
。私は旗を信じて-C
支える-o
AIX仕える人。ただし、man ps
コンピュータでその構文を見つけることができます。
ps -C program_name -o %cpu,%mem
それでは、サーバーで10分ごとに6回実行するために、次のスクリプトを入れてみましょう。私はこれを1時間ほど10分ごとに監視する必要があると仮定します。
i=6
filename=$(echo memory_monitoring_`date +%F_%T`)
touch $filename
while [ $i -ge 1 ]
do
sleep 600 #sleep for 10 minutes.
ps -C program_name -o %cpu,%mem >> "$filename"
i=$((i-1))
done
そのため、デフォルトでは上記のスクリプトを使用してメモリを監視する必要があるたびに新しいファイルを作成します。その後、1時間スクリプトを実行すると、i
設定が6になっていることがわかります。sleep 600
10分ごとにメモリを監視するために使用されます。
最適化が必要な場合は、mail
監査目的で使用するために生成されたファイルを自分に電子メールで送信するコマンドを追加できます。
設定が非常に簡単でcron
便利な多くのオンラインチュートリアルを見つけることができます。