| Server IP : 112.74.42.100 / Your IP : 216.73.216.142 Web Server : nginx/1.20.2 System : Linux iZwz96lx4pjqiy84w4hni7Z 5.10.134-17.3.al8.x86_64 #1 SMP Thu Oct 31 14:29:57 CST 2024 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/sysak/.sysak_components/tools/ |
Upload File : |
#!/bin/sh
#****************************************************************#
# ScriptName: sys_monitory.sh
# Author: $SHTERM_REAL_USER@alibaba-inc.com
# Create Date: 2021-02-06 10:53
# Modify Author: $SHTERM_REAL_USER@alibaba-inc.com
# Modify Date: 2021-02-06 10:53
# Function:
#***************************************************************#
maxsys=20
interval=5
datafile=/var/log/sysak/sysmonitor.data
lasttime=10
usage() {
echo "sysak sys_monitor: auto perf when sys util over threshold"
echo "options: -h, help information"
echo " -m maxsys, auto perf when sys util over threshold "
echo " -c cpu, cpu to mointor, default the total util to monitor"
echo " -f datafile, file for output"
echo " -i interval, the interval checking the sys util"
echo " -l lasttime, perf record time, default to 10 seconds"
}
monitor() {
while :;
do
sys_util=`mpstat $cpuarg 1 1 | awk '{print $5}' | awk 'END{print $1}'`
if [ `expr $sys_util \> $maxsys` -eq 0 ]; then
perf record -a -g -o $datafile sleep $lasttime;
exit
fi
sleep $interval
done
}
while getopts 'm:f:c:i:lh' OPT; do
case $OPT in
"h")
usage
exit 0
;;
"m")
maxsys=$OPTARG
;;
"f")
datafile=$OPTARG
;;
"c")
cpuarg="-P $OPTARG"
;;
"i")
interval="$OPTARG"
;;
"l")
lasttime="$OPTARG"
;;
*)
usage
exit -1
;;
esac
done
monitor