Playing with Linux command history

1、HISTTIMEFORMAT record the time stamp of the command.

Be default the history command output only shows the command number and command line. Enabling the time stamp would help on auditing purpose.

# export HISTTIMEFORMAT=’%F %T ‘

It can be put into /etc/profile by administartor to enable globally.

# history

4 2017-02-20 21:50:11 exit
5 2017-02-20 21:50:11 id
6 2017-02-20 21:50:11 vi /etc/passwd
7 2017-02-20 21:50:11 exit
8 2017-02-20 21:50:11 sudo su –
9 2017-02-20 21:50:11 exit

2、search history with ctrl + r

(reverse-i-search)`cat’: cat authorized_key

with left or right arrow key, you can edit the search command result.

3、run previous command with different approach.

a, use up or down arrow key to roll back or forward previous commands.
b, use !! to run last command.
c, use !-1, !-2 or !-3… to run previous comand.
d, use ctrl + p to display last command

4、use !<number> to run previous command in the history

在下面的例子中,如果你想再次执行第四条命令,执行!4即可

#history

….

297 2017-02-20 22:03:39 id
298 2017-02-20 22:04:54 history
[me@linux01 ~]$ !297
id
uid=500(me) gid=500(me) groups=500(me),0(root)

5、执行以特定字开头的历史命令

输入!和你要重新执行的命令的前几个字母。在下面的例子中,输入!ps,回车,执行历史命令中以“ps”开头的“psaux | grep yp”

#!ps
psaux | grep yp
root 16947 0.0 0.0 36516 1264 ? Sl 13:10 0:00 ypbind
root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

6、用HISTSIZE控制历史命令的总数

把下面的两行添加到.bash_profile然后重新登录bash(译者注:用source .bash_profile即可)查看有什么变化,在这个例子中,bash命令历史记录中只能储存450条命令。

#vi ~/.bash_profile
HISTSIZE=450
HISTFLESIZE=450

7、使用HISTFILE改变历史文件名

默认情况下,命令历史被储存在.bash_history文件中,把下面的一行添加到.bash_profile文件中,重新登录shell,则.commandline_warrior文件将取代.bash_history文件用来储存历史命令。你可以使用这个命令来追踪不同终端中执行的命令,届时只需要将不同终端中所执行的命令保存在不同的历史文件中即可。

#vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

8、使用HISTCONTROL来消除命令历史中的连续重复条目

在下面的例子中pwd被输入了三次,当你使用history的时候,你会看到这三条命令连续出现。设置HISTCONTROL为ignoredups,来消除重复命令:

#pwd
# pwd
# pwd
# history | tail -4
44 pwd
45 pwd
46 pwd
47 history | tail -4
[注: 上面pwd被执行了三次之后,历史中有三条pwd命令]
# export HISTCONTROL=ignoredups
# pwd
# pwd
# pwd
# history | tail -3
56 export HISTCONTROL=ignoredups
57 pwd 58 history | tail -4
[注:即使上面pwd被执行了三次,历史中也只有一条pwd命令]

9、使用HISTCONTROL在整个历史中去除重复命令

上面的ignoredups去除连续重复的命令,要消除整个命令历史中的重复命令,把HISTCONTROL设置成erasedups

#export HISTCONTROL=erasedups
# pwd
# service httpd stop
#history | tail -3
38 pwd
39 service httpd stop
40 history | tail -3
# ls -ltr
# service httpd stop
# history | tail -6
35 export HISTCONTROL=erasedups
36 pwd
37 history | tail -3
38 ls –ltr
39 service httpd stop
40 history | tail -6
[注: 之前在pwd后面的servicehttpd stop命令被除去了]

10、使用HISTCONTROL强制history忽略某条特定命令

在执行一条命令时,你可以将HISTCONTROL设置为ignorespace并在该命令前加上一个空格来指示history忽略这条命令。可以预见的是,很多初级系统管理员将为他们能从history中成功隐藏某条命令而振奋。

了解ignorespace的工作方式是很好。不过,实践中最好不要从history中去掩盖任何命令。

#export HISTCONTROL=ignorespace
# ls –ltr
# pwd
# service httpd stop
[注: 在service的前面加上一个空格,以便在命令历史中忽略它]
# history | tail -3
67 ls –ltr
68 pwd
69 history | tail -3

11、use option c to clean up the history command

#history –c

12、替换命令历史中的内容

当你搜索历史命令时,你可能希望执行一个与刚刚查找到的历史命令具有相同的参数的命令。 在本例中,vi之后的”!!:$” 可以将前一个命令的参数做为当前命令的参数。

#ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg

在下面的例子中,紧跟在vi后的参数“!^”把上一个命令的第一个参数传递给当前命令。

#cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi !^
vi anaconda-ks.cfg

13、替换特定命令的特定参数

在下例中,!cp:2 在命令历史中查找以cp开头的命令,并将其第二个参数做为当前命令(ls -l)的参数。

#cp ~/longname.txt /really/a/very/long/path/long-filename.txt
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt

在下面的例子中“!cp:$”寻找先前以cp为开头的命令,并把该条指令的最后一个参数(在这个例子中依旧是第二个参数)替换到“ls –l”中。

#ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt

14、用HISTSIZE禁用history

如果你想禁用history,又不让bashshell记录你的命令,像下面那样把HISTSIZE设为0即可。

#export HISTSIZE=0
# history
# [注: 执行history后没有显示任何信息]

15、用HISTIGNORE让history在存储时忽略某些指令

有时你不想在记录里看到诸如“pwd”,“ls”之类的基本指令,可以用HISTIGNORE忽略这些指令。

注意在HISTIGNORE中添加“ls”,只忽略“ls”不忽略“ls –l”。一定要准确的写出要忽略的的指令。

#export HISTIGNORE=“pwd:ls:ls –ltr: ”
#pwd
# ls
# ls –ltr
# service httpd stop
# history | tail -3
79 export HISTIGNORE=“pwd:ls:ls -ltr: ”
80 service httpd stop
81 history
[注: history命令不显示pwd和ls]

Hello world!

== Abstract ==

The following article show a simple method to use Glance binary log for resource bootleneck identification. The '''extract''' command is used to export the glance binary data to ASCII text, that can be use for tabular or plot reports.

__TOC__

== Stop Running OVPA agents ==# /sbin/init.d/ovpa stop

Shutting down Perf Agent collection software
Shutting down scopeux, pid(s) 5418
Waiting on 5418 (10 more tries)
The Perf Agent collector, scopeux has been shut down successfully.
The ARM daemons ttd, midaemon and Glance programs glance and xglance will be terminated (if running).

Shutting down the alarm generator perfalarm, pid(s) 5456
The perfalarm process has terminated

Shutting down coda daemon
Shutting down coda, pid(s) 5450
# /opt/perf/bin/perfstat
**********************************************************
*** perfstat for delta on Tue Nov 24 13:23:26 CST 2009
*** HP-UX delta B.11.31 U 9000/800 510254130 unlimited-user license
**********************************************************

list of performance tool processes:
———————————-

Perf Agent status:
WARNING: scopeux is not active (Perf Agent data collector)
WARNING: midaemon is not active (Measurement Interface daemon)
WARNING: ttd is not active (ARM registration daemon)

Perf Agent Server status:

Running ovcd (OV control component) pid 1849
Running ovbbccb (BBC5 communication broker) pid 1860
WARNING: coda is not active (perf component)
WARNING: perfalarm is not active (alarm generator)

******** (end of perfstat output: note above warning) ********

== Backup System Binary Logs ==# tar -cvf – /var/opt/perf/datafiles/log* | /usr/contrib/bin/gzip > /tmp/glancelogs.tgz
a /var/opt/perf/datafiles/logappl 129 blocks
a /var/opt/perf/datafiles/logdev 884 blocks
a /var/opt/perf/datafiles/logglob 183 blocks
a /var/opt/perf/datafiles/logindx 11 blocks
a /var/opt/perf/datafiles/logpcmd0 1 blocks
a /var/opt/perf/datafiles/logproc 15 blocks
a /var/opt/perf/datafiles/logtran 489 blocks

== Extract Source System Binary Logs ==# /usr/contrib/bin/gzcat /var/tmp/glancelogs.tgz | tar -xvf –
x /var/opt/perf/datafiles/logappl, 17041748 bytes, 33285 tape blocks
x /var/opt/perf/datafiles/logdev, 19638408 bytes, 38357 tape blocks
x /var/opt/perf/datafiles/logglob, 28038808 bytes, 54764 tape blocks
x /var/opt/perf/datafiles/logindx, 46576 bytes, 91 tape blocks
x /var/opt/perf/datafiles/logpcmd0, 15 bytes, 1 tape blocks
x /var/opt/perf/datafiles/logproc, 30438534 bytes, 59451 tape blocks
x /var/opt/perf/datafiles/logtran, 10205840 bytes, 19934 tape blocks

Perform any required reports. See next sections for additional information.

== Clean Binary Logs and Restart OVPA agents ==# rm /var/opt/perf/datafiles/log*

# ls -l /var/opt/perf/datafiles/*
-rw-rw-rw- 1 root sys 31 Nov 23 19:14 /var/opt/perf/datafiles/RUN
-rw-r–r– 1 root root 105 Jul 23 03:18 /var/opt/perf/datafiles/agdb
-rw-r–r– 1 root root 0 Jul 23 03:18 /var/opt/perf/datafiles/agdb.lk
-rw-rw-rw- 1 root root 168 Nov 23 19:15 /var/opt/perf/datafiles/classinfo.db
-rw-r–r– 1 root sys 969354 Nov 23 17:22 /var/opt/perf/datafiles/mikslp.db
# /sbin/init.d/ovpa start

The Perf Agent scope collector is being started.
The ARM registration daemon
/opt/perf/bin/ttd has been started.

The Performance collection daemon
/opt/perf/bin/scopeux has been started.

The coda daemon /opt/OV/lbin/perf/coda has been started.
It will be fully operational in a few minutes.

The Perf Agent alarm generator is being started.
The alarm generator /opt/perf/bin/perfalarm
has been started.
# /opt/perf/bin/perfstat
**********************************************************
*** perfstat for delta on Tue Nov 24 13:28:36 CST 2009
*** HP-UX delta B.11.31 U 9000/800 510254130 unlimited-user license
**********************************************************

list of performance tool processes:
———————————-

Perf Agent status:
Running scopeux (Perf Agent data collector) pid 13766
Running midaemon (Measurement Interface daemon) pid 13778
Running ttd (ARM registration daemon) pid 13760

Perf Agent Server status:

Running ovcd (OV control component) pid 1849
Running ovbbccb (BBC5 communication broker) pid 1860
Running coda (perf component) pid(s) 13798
Running perfalarm (alarm generator) pid(s) 13804

************* (end of perfstat -p output) ****************
# ls -l /var/opt/perf/datafiles/log*
-rw-r–r– 1 root sys 4512 Nov 24 13:28 /var/opt/perf/datafiles/logappl
-rw-r–r– 1 root sys 3836 Nov 24 13:28 /var/opt/perf/datafiles/logdev
-rw-r–r– 1 root sys 3672 Nov 24 13:28 /var/opt/perf/datafiles/logglob
-rw-r–r– 1 root sys 5296 Nov 24 13:28 /var/opt/perf/datafiles/logindx
-rw-r–r– 1 root sys 11 Nov 24 13:28 /var/opt/perf/datafiles/logpcmd0
-rw-r–r– 1 root sys 3672 Nov 24 13:28 /var/opt/perf/datafiles/logproc
-rw-r–r– 1 root sys 4172 Nov 24 13:28 /var/opt/perf/datafiles/logtran

== Global CPU and Memory Utilization ==cat > global_cpumem.rept << EOF REPORT "OVPA Export !DATE !TIME Logfile: !LOGFILE !COLLECTOR !SYSTEM_ID" FORMAT ASCII HEADINGS ON SEPARATOR="|" SUMMARY=60 MISSING=0 DATA TYPE GLOBAL DATE TIME GBL_ACTIVE_CPU GBL_CPU_TOTAL_UTIL GBL_DISK_PHYS_IO_RATE GBL_DISK_PHYS_IO GBL_MEM_FREE GBL_MEM_UTIL GBL_MEM_USER_UTIL GBL_SWAP_SPACE_UTIL GBL_MEM_PAGEOUT_BYTE GBL_MEM_PAGEOUT_BYTE_RATE EOF /opt/perf/bin/extract -g -xp -r global_cpumem.rept \
-f global_cpumem.out,purge \
-b “11/09/2009 08:00:00” -e “11/09/2009 09:00:00”
# cat global_cpumem.out
OVPA Export 11/17/09 16:37 Logfile: /var/opt/perf/datafiles/logglob SCOPE/UX C.04.70.000(0) delta
| |Active| | Phys | Phys | Free |Memory| User | | Pg Out | Pg Out |
Date | Time | CPUs |CPU % | IO Rt | IOs | Mem | % |Mem % |Swap %| KB | KB Rt |
11/09/2009|08:00:00| 7| 56.44| 2519.8| 754932| 15199| 53.49| 40.20| 53.00| 34843| 116.3|
11/09/2009|08:05:00| 7| 42.31| 1968.5| 590746| 14441| 54.85| 41.55| 55.00| 26138| 87.1|
11/09/2009|08:10:00| 7| 50.72| 1491.7| 447062| 13674| 56.43| 43.11| 57.00| 179| 0.6|
11/09/2009|08:15:00| 7| 44.58| 1188.5| 356431| 13022| 57.76| 44.44| 59.00| 479| 1.6|
11/09/2009|08:20:00| 7| 39.02| 880.1| 263941| 12079| 59.30| 45.96| 61.00| 0| 0.0|
11/09/2009|08:25:00| 7| 52.99| 850.4| 255545| 11146| 60.87| 47.53| 63.00| 8353| 27.8|
11/09/2009|08:30:00| 7| 54.77| 898.3| 269759| 10176| 62.65| 49.28| 65.00| 6366| 21.2|
11/09/2009|08:35:00| 7| 42.04| 860.0| 257742| 9186| 64.49| 51.10| 68.00| 0| 0.0|
11/09/2009|08:40:00| 7| 64.83| 1436.1| 430686| 8392| 65.92| 52.52| 70.00| 299| 1.0|
11/09/2009|08:45:00| 7| 56.19| 557.5| 167361| 7772| 67.56| 54.15| 72.00| 60| 0.2|
11/09/2009|08:50:00| 7| 60.21| 569.8| 170996| 6542| 69.52| 56.09| 74.00| 0| 0.0|
11/09/2009|08:55:00| 7| 54.11| 760.1| 228106| 6131| 70.94| 57.46| 76.00| 0| 0.0|

On larger reports, for example when reviewing whole days or weeks, identification of resource bottleneck is better assisted using graphics charts. Data can be ploted to charts imported it to spreadsheets software ot using the GNUplot plugin to plot the required data. For example, to plot the CPU %, Memory % and User Memory % together, the following script can be usedcat > global_cpumem.plot << EOF
set size 1, 0.5
set yrange [0:120]
set xlabel “Samples”
plot ‘-‘ using 1:2 title ‘CPU %’ with lines, \\
‘-‘ using 1:3 title ‘Memory %’ with lines, \\
‘-‘ using 1:4 title ‘User Memory %’ with lines EOF

tail -n $(expr $(wc -l global_cpumem.out | cut -d” ” -f 1) – 3 ) global_cpumem.out | \
awk -F’|’ ‘BEGIN {LINE=1; printf “#Sample\tCPU\tMemory\tUser Memory\n”; } {
printf “%-6d\t%4.2f\t%4.2f\t%4.2f\n”, LINE, $4, $8, $9
LINE++
}’ >> global_cpumem.plot

cat >> global_cpumem.plot << EOF
EOF

cat global_cpumem.plot

The script will provided the required code for the GNUplot to chart the resources.


set size 1, 0.5
set yrange [0:100]
set xlabel “Samples”
plot ‘-‘ using 1:2 title ‘CPU %’ with lines, \
‘-‘ using 1:3 title ‘Memory %’ with lines, \
‘-‘ using 1:4 title ‘User Memory %’ with lines #Sample CPU Memory User Memory
1 50.72 56.43 43.11
2 44.58 57.76 44.44
3 39.02 59.30 45.96
4 52.99 60.87 47.53
5 54.77 62.65 49.28
6 42.04 64.49 51.10
7 64.83 65.92 52.52
8 56.19 67.56 54.15
9 60.21 69.52 56.09
10 54.11 70.94 57.46

== Global Page Out ==export TOP=$(tail -n $(expr $(wc -l global_cpumem.out | cut -d” ” -f 1) – 3 ) global_cpumem.out |
sort -nrk 11,11 | head -n 1 | awk -F”|” ‘{print $11}’)

TOP=$(echo $(( ${TOP} * 110 / 100 )) )

cat > pageout.plot << EOF
set size 1, 0.5
set yrange [0:$TOP]
set xlabel “Samples”
plot ‘-‘ using 1:2 title ‘Pg Out KB’ with lines EOF

tail -n $(expr $(wc -l global_cpumem.out | cut -d” ” -f 1) – 3 ) global_cpumem.out | \
awk -F’|’ ‘BEGIN {LINE=1; printf “#Sample\tPg Out KB\n”; } {
printf “%-6d\t%10d\n”, LINE, $11
LINE++
}’ >> pageout.plot

cat >> pageout.plot << EOF
EOF

The script will provided the required code for the GNUplot to chart the Page Out.


set size 1, 0.5
set yrange [0:38327]
set xlabel “Samples”
plot ‘-‘ using 1:2 title ‘Pg Out KB’ with lines #Sample Pg Out KB
1 34843
2 26138
3 179
4 479
5 0
6 8353
7 6366
8 0
9 299
10 60
11 0
12 0

== Per Process CPU and Memory Utilization ==cat > cpumem.rept << EOF REPORT "OVPA Export !DATE !TIME Logfile: !LOGFILE !COLLECTOR !SYSTEM_ID" FORMAT ASCII HEADINGS ON SEPARATOR="|" SUMMARY=60 MISSING=0 DATA TYPE PROCESS DATE TIME PROC_PROC_ID PROC_PROC_NAME PROC_USER_NAME PROC_CPU_TOTAL_UTIL PROC_MEM_RES PROC_MEM_VIRT EOF /opt/perf/bin/extract -p -xp -r /var/tmp/cpumem.rept \
-f cpumem.out,purge \
-b “11/09/2009 08:00:00” -e “11/09/2009 09:00:00”
# head -n 24 cpumem.out
OVPA Export 11/17/09 17:13 Logfile: /var/opt/perf/datafiles/logglob SCOPE/UX C.04.70.000(0) delta
| | | Process | User | | Res |Virtual |
Date | Time | PID | Name | Name | CPU % | Mem | Memory |
11/09/2009|08:00:00| 78|vxfsd |root | 2.05| 38912| 44032|
11/09/2009|08:00:00| 4975|oracleV24P |oracle | 71.14| 41984| 53248|
11/09/2009|08:00:00| 25409|ora_j000_UNIC |oracle | 0.03| 13572| 15880|
11/09/2009|08:00:00| 25153|oraclePAM |oracle | 1.04| 11784| 25576|
11/09/2009|08:00:00| 25393|oraclePAM |oracle | 3.00| 304| 1344|
11/09/2009|08:00:00| 24972|compress |oracle | 15.21| 784| 808|
11/09/2009|08:00:00| 25188|compress |oracle | 54.92| 848| 872|
11/09/2009|08:00:00| 25365|ora_m000_PAM |oracle | 2.08| 14740| 28192|
11/09/2009|08:00:00| 17482|oracleSCHD |oracle | 12.15| 27240| 50176|
11/09/2009|08:00:00| 3138|ora_dbw0_UNIC |oracle | 0.00| 15752| 54272|
11/09/2009|08:00:00| 3266|ora_lgwr_SCHD |oracle | 0.00| 24060| 489472|
11/09/2009|08:00:00| 3621|ora_lgwr_PLIN |oracle | 0.00| 16436| 34816|
11/09/2009|08:00:00| 24581|oracleV24P |oracle | 57.21| 26812| 30536|
11/09/2009|08:00:00| 19689|ftpd |root | 2.12| 1828| 2584|
11/09/2009|08:01:00| 78|vxfsd |root | 3.08| 38912| 44032|
11/09/2009|08:01:00| 4975|oracleV24P |oracle | 56.80| 44032| 52224|
11/09/2009|08:01:00| 25486|oracleSCHD |oracle | 13.37| 25980| 34816|
11/09/2009|08:01:00| 25409|ora_j000_UNIC |oracle | 9.33| 16636| 20824|
11/09/2009|08:01:00| 3140|ora_lgwr_UNIC |oracle | 0.00| 16000| 72704|
11/09/2009|08:01:00| 25447|cimprovagt |root | 0.00| 1248| 2056|
11/09/2009|08:01:00| 3250|ora_dbw2_SCHD |oracle | 0.00| 25476| 55296|

== Per Process CPU and I/O Utilization ==cat > cpuio.rept << EOF REPORT "OVPA Export !DATE !TIME Logfile: !LOGFILE !COLLECTOR !SYSTEM_ID" FORMAT ASCII HEADINGS ON SEPARATOR="|" SUMMARY=60 MISSING=0 DATA TYPE PROCESS DATE TIME PROC_PROC_ID PROC_PROC_NAME PROC_USER_NAME PROC_CPU_TOTAL_UTIL PROC_DISK_PHYS_IO_RATE PROC_IO_BYTE_RATE PROC_DISK_FS_IO PROC_DISK_VM_IO PROC_DISK_SYSTEM_IO EOF /opt/perf/bin/extract -p -xp -r /var/tmp/cpuio.rept \
-f cpuio.out,purge \
-b “11/09/2009 08:00:00” -e “11/09/2009 09:00:00”
# head -n 24 cpuio.out
| | | Process | | Phys | IO Byte |File System| VM | System |
Date | Time | PID | Name | CPU % |IO Rt | Rate | IOs | IOs | IOs |
03/16/2010|11:00:00| 129|vxfsd | 0.04| 20.4| 147.0| 1138| 0| 110|
03/16/2010|11:00:00| 29798|dw.sapCP1_D33 | 10.06| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 8082|dw.sapCP1_D33 | 17.10| 0.1| 0.2| 6| 0| 0|
03/16/2010|11:00:00| 25418|dw.sapCP1_D33 | 25.17| 0.0| 0.1| 0| 0| 0|
03/16/2010|11:00:00| 26554|dw.sapCP1_D33 | 20.09| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 11052|dw.sapCP1_D33 | 18.14| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29794|dw.sapCP1_D33 | 16.14| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 8902|jlaunch | 0.01| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 28575|dw.sapCP1_D33 | 13.14| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 22427|icman | 38.48| 0.6| 16.0| 0| 0| 36|
03/16/2010|11:00:00| 8903|jlaunch | 0.01| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29516|dw.sapCP1_D33 | 44.42| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29801|dw.sapCP1_D33 | 19.09| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29793|dw.sapCP1_D33 | 14.20| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29804|dw.sapCP1_D33 | 11.06| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 8189|dw.sapCP1_D33 | 36.30| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29796|dw.sapCP1_D33 | 20.12| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:00:00| 29792|dw.sapCP1_D33 | 19.10| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:01:00| 129|vxfsd | 0.03| 10.4| 93.0| 583| 0| 35|
03/16/2010|11:01:00| 8082|dw.sapCP1_D33 | 10.04| 0.0| 0.0| 0| 0| 0|
03/16/2010|11:01:00| 25418|dw.sapCP1_D33 | 20.11| 0.0| 0.0| 0| 0| 0|

== Reference ==
* [[How to collect glance binary log files]]
* [[How to create performance statistics charts]]

== Authors ==
* [[Alejandro Marin Badilla]]

[[Category:HP-UX]]
[[Category:Performance]]