Hoi,
Ik heb een systeem onder test, en ik gebruik een script dat een ps doet.
De output wordt in het volgende formaat, het is in principe de tijdstempel, gevolgd door de RSS en vSize.
PHP-code:
09:03:57 68404 183656 68312 181944 69860 217360 67536 182564 69072 183172 69032 199276
09:04:27 68752 183292 70000 189020 70472 241000 67536 182564 69072 183172 69292 204792
09:04:57 68708 183292 68816 181880 68588 183608 67868 188080 69788 199328 69520 212672
09:05:27 68708 183292 68204 181880 68540 183608 68176 196092 70012 196936 69860 215868
09:05:57 68708 183292 68204 181880 68540 183608 68344 198456 70664 208388 69116 202276
09:06:27 68708 183292 68204 181880 68540 183608 67488 182500 68964 183020 68228 181000
09:06:57 68708 183292 68204 181880 68540 183608 67488 182500 68964 183020 68228 181000
09:07:28 68708 183292 68204 181880 68540 183608 67488 182500 68964 183020 68228 181000
09:07:58 68708 183292 68204 181880 68540 183608 67488 182500 68964 183020 68228 181000
Mijn vraag is ... hoe doe ik hetzelfde, maar voor de top,
Ik wil heel graag het volgen van de CPU-gebruik van deze 6 processen met dezelfde naam, en spuugde ze naar een bestand, om de jaren '30, in dezelfde vorm als hierboven, dwz timestamp process1CPU process2CPU process3CPU process4CPU process5CPU process6CP
Ik heb geprobeerd de volgende, maar het net hangt op het gedeelte waar het probeert om de uitgang van de resultaten van de top, misschien zijn omdat het komt uit in een kolom? Ik heb het in rij-formaat, zodat ik makkelijk kan importeren naar Excel en te analyseren.
Hier is het script
PHP-code:
#!/bin/bash
outputFile=topOutput_`uname -n`
echo "Output: " $outputFile
for ((;;)); do
echo "for loop";
# X=`top | grep --line-buffered softms | awk '{print $6}'`;
# echo "X: "$X;
echo "currentTime...";
currentTime=`date | awk '{print $4}'`;
echo "currentTime: "$currentTime;
echo "To file: ";
echo $currentTime $X >> $outputFile;
echo "foo..."
top | grep --line-buffered softms | awk '{print $6}'
echo "foo: " $foo
sleep 30s;
done
Wat doe ik verkeerd? Is er een alternatieve manier om dit doel te bereiken?
Dit is wat ik probeer te krijgen als output
PHP-code:
Time p1cpu% p2cpu% p3cpu% p4cpu% p5cpu% p6cpu%
09:00:00 65 65 65 65 65 65
09:00:30 70 70 70 70 70 70
09:01:00 70 70 70 70 70 70
09:01:30 70 70 70 70 70 70
09:02:00 80 80 80 80 80 80
09:02:30 65 65 65 65 65 65
etc...