회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


CPU 사용율 script

푸딩뱃살 | 2014.12.02 13:03 | 조회 5389
CPU 사용율 script

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
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