Mereka adalah variabel dalam awk
skrip ... Format ini mungkin membuatnya lebih jelas:
for x in $(seq 1 11); do
sleep 5
grep -w cpu /proc/stat
done | \
awk '
{
print (o2 + o4 - $2 - $4) * 100 / (o2 + o4 + o5 - $2 - $4 - $5) "%"
o2=$2
o4=$4
o5=$5
}'
Anda mengambil setiap baris yang memiliki "cpu" di dalamnya dari /proc/stat
:
$ grep -w cpu /proc/stat
cpu 737017 2198 503480 221363877 201487 97326 0 0 0 0
Lakukan ini setiap 5 detik:
for x in $(seq 1 11); do
sleep 5
grep -w cpu /proc/stat
done
Dan menyalurkan output ke awk
.
awk
adalah mengambil bidang 2, 4 dan 5 ( $2
, $4
dan $5
) melakukan perhitungan, dan menyimpannya dalam variabel o2
, o4
dan o5
.
awk '
{
print (o2 + o4 - $2 - $4) * 100 / (o2 + o4 + o5 - $2 - $4 - $5) "%"
o2=$2
o4=$4
o5=$5
}'
Anda dapat menemukan informasi lebih lanjut tentang /proc/stat
dari halaman manual, di sini .
/proc/stat
kernel/system statistics. Varies with architecture. Common
entries include:
cpu 3357 0 4313 1362393
The amount of time, measured in units of USER_HZ
(1/100ths of a second on most architectures, use
sysconf(_SC_CLK_TCK) to obtain the right value), that
the system spent in various states:
[...]
nice (2) Time spent in user mode with low priority
(nice).
[...]
idle (4) Time spent in the idle task. This value
should be USER_HZ times the second entry in the
/proc/uptime pseudo-file.
iowait (since Linux 2.5.41)
(5) Time waiting for I/O to complete.
[...]