Skip to content

Commit ba5dfe5

Browse files
committed
[vivado-stat.sh] was fixed issue of one PID watching
1 parent 09f63bb commit ba5dfe5

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

vivado-stat-user.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ while true; do
2626
break
2727
fi
2828
#CPU=`ps -C ${CMD} -o user=,pcpu= | grep $USER | sed 's/\ \{1,\}/\ /g' | cut -d' ' -f2 | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/%/'`
29-
CPU=`top -p $PID -n1 | awk '{if (NR==8) print $10 }' | cut -d. -f1 | sed 's/$/%/'`
29+
#CPU=`top -p ${PID} -n1 | awk '{if (NR==8) print $10 }' | cut -d. -f1 | sed 's/$/%/'`
30+
CPU=`top -p ${PIDS} -n1 | awk '{if (NR>=8) print $10 }' | sed '/^$/d' | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/%/'`
3031
MEM=`ps -C ${CMD} -o user=,size= | grep $USER | sed 's/\ \{1,\}/\ /g' | cut -d' ' -f2 | sed 's/$/\/1024/g' | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/M/'`
3132
echo -e "$CPU\t$MEM"
3233
sleep ${PERIOD}

vivado-stat.adoc

+2-1
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,11 @@ Done! Please use the `vivado-stat-user.sh` script for per-user stat of Vivado us
8989
* [x] version with separate usage by users
9090
* [ ] start and stop watching between vivado startup without exit
9191
* [x] move from `ps` to `top -p $PID -n1 | awk '{if (NR==8) print $10 }'`
92+
* [x] passing list of PIDs to CPU% usage as follow way: `top -p $PID1,$PID2,..`
9293

9394

9495
== Known issues
9596

9697
* `size` or `vsize` use in `ps` command for RAM consumption? (currently use the `size`)
9798
* FIXED: fake CPU% used on the `ps` cmd. For detail read http://unix.stackexchange.com/questions/58539/top-and-ps-not-showing-the-same-cpu-result[Top and ps not showing the same cpu result]
98-
* now only one istance of Vivado tools was used for usage statistic
99+
* FIXED: only one istance of Vivado tools was used for usage statistic

vivado-stat.sh

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
CMD="vivado"
1616
PERIOD="1s"
1717

18-
PID=`ps aux | grep ${CMD} | grep lnx64.o | sed 's/\ \{1,\}/\ /g' | cut -d' ' -f2`
18+
#PID=`ps aux | grep ${CMD} | grep lnx64.o | sed 's/\ \{1,\}/\ /g' | cut -d' ' -f2`
19+
PIDS=`ps aux | grep ${CMD} | grep lnx64.o | sed 's/\ \{1,\}/\ /g' | cut -d' ' -f2 | sed ':a;N;$!ba;s/\n/\,/g'`
1920

2021
while true; do
2122
IS_RUN=`ps -C ${CMD} -o comm= | head -1`
@@ -24,7 +25,8 @@ while true; do
2425
break
2526
fi
2627
#CPU=`ps -C ${CMD} -o pcpu= | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/%/'`
27-
CPU=`top -p $PID -n1 | awk '{if (NR==8) print $10 }' | cut -d. -f1 | sed 's/$/%/'`
28+
#CPU=`top -p ${PID} -n1 | awk '{if (NR==8) print $10 }' | cut -d. -f1 | sed 's/$/%/'`
29+
CPU=`top -p ${PIDS} -n1 | awk '{if (NR>=8) print $10 }' | sed '/^$/d' | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/%/'`
2830
MEM=`ps -C ${CMD} -o size= | sed 's/$/\/1024/g' | sed ':a;N;$!ba;s/\n/\+/g' | bc -l | cut -d. -f1 | sed 's/$/M/'`
2931
echo -e "$CPU\t$MEM"
3032
sleep ${PERIOD}

0 commit comments

Comments
 (0)