script 紀錄資源 - Linux

Table of Contents

※ 引述《paulyanzi (消失)》之銘言:
: 請問要怎麼利用 script 去記錄某支程式每一秒吃的資源呢?
: 例如去記錄吃的 CPU, MEM, (不知道還有什麼可以記錄來比較?)
: 謝謝

這是以前用 perl 寫的紀錄CPU使用率的腳本, 資訊是從 /proc 取得的


#!/usr/bin/env perl
# utilities for CPU Usage, written by coldnew

use strict;
use warnings;

my $IDLE_PREV = 0;
my $TOTAL_PREV = 0;

while (1) {
open(STAT, "</proc/stat");
my @CPU = split(/\s+/, <STAT>);
close(STAT);

shift(@CPU); # remove first element
my $IDLE = $CPU[3]; # get idle CPU time

# Calculate total CPU time
my $TOTAL = 0;
foreach my $i (@CPU) {
$TOTAL += $i;
}

$IDLE -= $IDLE_PREV;
$TOTAL -= $TOTAL_PREV;

my $CPU_USAGE = 100 * ($TOTAL-$IDLE) / $TOTAL ;

printf "CPU:%4.2f%% \n", $CPU_USAGE;

$IDLE_PREV = $IDLE;
$TOTAL_PREV = $TOTAL;

sleep 2;
}

--

All Comments