회원 로그인
|
CPU 사용율 script
CPU 사용율 script
CPU 부하가 일어났을 때 프로세스 상태를 메일로 발송하는 script
출처> http://absorbed.tistory.com/entry/CPU-%EC%82%AC%EC%9A%A9%EB%9F%89-%EC%89%98-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
CPU 부하가 일어났을 때 프로세스 상태를 메일로 발송하는 script
#cpu_usage.sh #!/bin/bash s_time=$(date +%Y-%m-%d' '%H:%M:%S) PREV_TOTAL=0 PREV_USER=0 #CPU사용율 CPU_USAGE=80 #백그라운드 오프셋 타임 SET_TIME=300 #전송 메일 ADMIN_MAIL=test@dvframes.com echo -e "$s_time CPU사용률 백그라운드" | mail -s "[dvframes] CPU사용률 백그라운드 실행" $ADMIN_MAIL while true; do #CPU 전체 사용량을 cat으로 추출 CPU=(`cat /proc/stat | grep '^cpu '`) #Get the total CPU statistics. unset CPU[0] #Discard the 'cup' prefix. USER=${CPU[1]} #Calculate the total CPU time. TOTAL=0 for VALUE in "${CPU[@]}"; do let "TOTAL=$TOTAL+$VALUE" done #Calculate the CPU usage since we last checked. let "DIFF_USER=$USER-$PREV_USER" let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL" let "DIFF_USAGE=$DIFF_USER*100/$DIFF_TOTAL" #echo -en "CPU: $DIFF_USAGE% \n" #Remember the total and idle CPU times for the next check. PREV_TOTAL="$TOTAL" PREV_USER="$USER" if [ "$DIFF_USAGE" -ge $CPU_USAGE ]; then #Process=`/bin/ps -eo pmem,pcpu,rss,vsize,args | /bin/sort -k 2 -r | /usr/bin/head -n 20` #CPU부하가 일어났을 때, 어떤 프로세스 때문에 부하가 일어났는지 프로세스 상태를 메일로 발송 Process=`/bin/ps -eo ppid,user,bsdstart,bsdtime,%mem,%cpu,args --sort=-%cpu | /usr/bin/head -n 20` echo -e "$(hostname) as on $s_time \n $Process\n" | mail -s "[dvframes] $DIFF_USAGE% CPU 사용 중" $ADMIN_MAIL fi #Wait before checking again.(5분마다 해당 스크립트가 작동하도록 300초 설정) sleep $SET_TIME done #백그라운드 실행 #sh cpu_usage.sh &
출처> http://absorbed.tistory.com/entry/CPU-%EC%82%AC%EC%9A%A9%EB%9F%89-%EC%89%98-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
- cpu_usage.sh (1.7KB) (1)
댓글 0개
| 엮인글 0개
113개(4/6페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
53 | [리눅스] 네트워크 설정 | 푸딩뱃살 | 4832 | 2014.12.06 01:37 |
52 | [리눅스] ssh 특정 ip만 허용하기 | 푸딩뱃살 | 4245 | 2014.12.06 00:44 |
51 | [리눅스] 메모리 사용율 script | 푸딩뱃살 | 3071 | 2014.12.02 15:15 |
50 | [리눅스] 명령어 리스트 | 푸딩뱃살 | 3335 | 2014.12.02 14:57 |
>> | [리눅스] CPU 사용율 script | 푸딩뱃살 | 5390 | 2014.12.02 13:03 |
48 | [리눅스] 시스템 종료 shutdown, 시스템 재시작 reboot | 푸딩뱃살 | 6313 | 2014.12.01 14:37 |
47 | [리눅스] 부팅 시 자동 실행 | 푸딩뱃살 | 1612 | 2014.12.01 14:09 |
46 | [리눅스] 데몬 용도 정리 | 푸딩뱃살 | 4278 | 2014.11.25 11:13 |
45 | [리눅스] configure: error: no acceptable C compiler found in $PATH | 푸딩뱃살 | 2687 | 2014.11.19 02:40 |
44 | [리눅스] 서비스 설정 ntsysv | 푸딩뱃살 | 2983 | 2014.10.02 12:10 |
43 | [리눅스] 접근 제어 hosts.allow / hosts.deny | 푸딩뱃살 | 3123 | 2014.10.01 12:41 |
42 | [리눅스] 부팅 시간 확인 last | 푸딩뱃살 | 3283 | 2014.09.22 16:34 |
41 | [리눅스] 원격제어 - TigerVNC, vncserver | 푸딩뱃살 | 3219 | 2014.09.22 12:02 |
40 | [리눅스] sendmail, dovecot, roundcube webmail 사용 시 에러 | 푸딩뱃살 | 3275 | 2014.09.17 16:15 |
39 | [윈도우] 윈도우7 해상도 변경으로 안보이는 옵션창 | 푸딩뱃살 | 2663 | 2014.08.27 00:33 |
38 | [리눅스] 심볼릭 링크 ln | 푸딩뱃살 | 2641 | 2014.07.16 10:32 |
37 | [리눅스] e-mail 서버 구축 - sendmail | 푸딩뱃살 | 1225 | 2014.06.29 22:54 |
36 | [리눅스] 그룹 관리 (addgroup, usermod, groups, groupmod, gpasswd, group | 푸딩뱃살 | 8733 | 2014.06.29 01:52 |
35 | [리눅스] yum으로 Desktp(GNOME, KDE) 설치 | 푸딩뱃살 | 5371 | 2014.06.25 23:40 |
34 | [리눅스] 부팅 시 console로 시작되도록 설정 | 푸딩뱃살 | 2884 | 2014.06.25 23:25 |