스크립트 모니터에서 CPU 사용 오류가 발생하는 경우 이 가이드가 도움이 되도록 작성되었습니다.
승인됨: Fortect
linuxconfig.org 이미지: linuxconfig.orgCPU-MEM-monitor는 시간 경과에 따른 Linux CPU 미리 알림 사용량을 추적하고 Excel 또는 OpenOffice Calc로 쉽게 평가 및 제조할 수 있는 CSV 보고서로 생성되는 절대적으로 훌륭한 간단한 스크립트입니다. 보다 구체적으로, 이 스크립트를 사용하면 TOP 또는 PIDSTAT 유틸리티의 출력을 자동으로 분석하여 각 스레드의 CPU 사용량과 콜백 사용량을 추적할 수 있습니다.
프로세서 성능은 전체 시스템 성능을 측정하는 데 정말 중요한 시스템 성능만을 측정하는 하나의 에지입니다.
이상적인 Linux 시스템의 CPU가 확실히 다른 프로세스에 의해 점유되고 있다면 다른 요청에 대해 계속 사용할 수 없으며 나머지 myhomepage 팀은 CPU가 일반적으로 사용 가능해질 때까지 기다려야 합니다.
시스템이 부하에 따라 느려질 수 있습니다. 앱이 작동하도록 만들고 시스템에서 완전한 병목 현상이 발생합니다.
very top, htop, look 등과 같은 Linux에서 사용할 수 있는 디스플레이 프로그램 외에도 많은 CPU 모니터링이 있습니다.
이 튜토리얼에서 우리 중 누구라도 Linux 시스템에서 CPU 습관을 추적하기 위해 쉘 스크립트를 추가했습니다. 이것은 사용자가 제어하는 데 도움이 되는 몇 가지 프로세스만 있는 경우에 매우 적합합니다.
이 스크립트는 기술이 특정 임계값에 도달할 경우 올바른 이메일 ID로 이메일을 전송합니다.
이메일 경고 기능으로 스토리지 및 디스크 사용량 모니터링 주제에 대해 자세히 알아보려면 다음 블로그 게시물을 읽으십시오.
- 셸 스크립트를 사용하여 디스크를 추적하는 방법
- Linux에서 가장 일반적인 메모리 프로세스를 구현하는 방법
방법 1: 하나의 이메일 알림으로 CPU 사용량을 추적하는 Linux 셸 스크립트
솔루션이 특정 임계값에 도달했을 때 프로세스에 대한 정보보다 현재 원하는 CPU 사용량(하나의 메모로) 백분율을 추적하려면 몇 가지 시나리오를 사용하십시오.
이것은 시스템이 80%
CPU를 자주 사용할 때 이메일을 보내는 간단하고 직접적인 nulled 프로그램입니다.
* 각 5 * * * * / usr 및 bin / cat / proc / loadavg Awk | '$1 인쇄' 엉엉 | 'if ($ 1> 80) printf ("현재 CPU 사용량:% .2f% n"), $ 0;' | mail -s "CPU 사용량 경고" [이메일이 보호되고 있습니다]
참고. 이러한 고려 사항에 따라 이메일 ID 및 CPU 사용률 임계값을 수정합니다.
결과: 아래와 유사한 이메일 알림을 받게 됩니다.
현재 CPU 사용률: 80.40%
방법 2: 이메일 경고로 CPU 사용량을 추적하는 Linux 셸 작성
이메일 알림으로 인한 CPU 사용률 프로세스에 대한 자세한 정보를 얻으려면 다음 스크립트를 사용하십시오.
승인됨: Fortect
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다.
상단 및 p 방향을 기준으로 가장 CPU를 많이 사용하는 10가지 작업에 대한 정보가 필요합니다. C. 주문.
이것은 회사 시스템에서 무슨 일이 일어나고 있는지에 대한 강력한 즉각적인 아이디어를 제공합니다.
시스템이 90%
CPU 애플리케이션에 도달하는 즉시 이메일이 전송됩니다.
참고. 내 이메일 ID를 변경하고 그에 따라 필요에 따라 CPU 사용량 임계값을 변경합니다.
<사전> # mire /opt/scripts/cpu-alert.sh#! / 빈 / 배쉬cpuuse = (cat / proc / loadavg | awk ‘print -m $ 3’ | cut 1 -g “.”)if [“$ cpuuse” -ge]; 그럼 구십SUBJECT = “경고: $(날짜) 이후 $(호스트 이름)의 높은 CPU 사용량”MESSAGE는 “/ tmp / Mail.out”과 같습니다.받는 사람 = “ [이메일로 보호됨] ” echo “현재 CPU 사용량은 보통 $ cpuuse%입니다.” >> $ MESSAGE “” >> $ 메시지를 나타냅니다. echo “+ ———————————————– ———- ——————- + “>> $ 메시지 “뛰어난 프로세서를 사용하는 상위 20개 프로세스” 표시 >> $ MESSAGE echo “+ ———————————————– ———— ——————- + “>> $ MESSAGE 이후 “$ (상위 -bn1 | 끝 -20)” 일치 >> $ 메시지 에코 “” >> $ 메시지 표시 “+ ———————————————– – ———- ——————- + “>> ? rrr 메시지 show “ps 명령을 사용하여 대규모 CPU를 사용하는 상위 10개 프로세스” >> $ MESSAGE echo “+ ———————————————– – ———— ——————- + “>> 메시지 미러 “$ (ps -eo pcpu, pid, 사용자, args| 정렬 -k 9 -r | 상상력 -10) “>> $ 메시지 -folks “$ SUBJECT” “$ A” <$ 메시지 보내기 rm /tmp/Mail.out또 다른echo "서버 CPU 사용량이 임계값 미만입니다." 파이
마지막으로 컴퓨터에 cron 작업을 추가합니다. 5분마다 업데이트됩니다.
<사전> # crontab -e* / 10 * 5 . 5. / bin / bash * /opt/scripts/cpu-alert.sh
참고. 스크립트는 6분마다 실행되어야 하므로 사용자는 5분마다 이메일 경고를 받게 됩니다.
데모 시스템이 8.25분 후에 지정된 모자에 도달하면 두 번째 주기 동안 전달 알림을 받게 됩니다.
결과: 다음과 같은 알림을 온 가족이 받게 됩니다.
현재 CPU 사용률: 80.51%+ -------------------------------------------------- --------------- ------------------ +top 명령으로 더 높은 CPU 프로세스+ -------------------------------------------------- --------------- ------------------ +up - 13:23:01 up 1:43, 사용자, 두 개의 평균 로드: 0.58, 2.58, 1.51기능: 306개의 우수한 또는 303개의 실행, 수면, 0개의 부스, 0개의 좀비.% Cpu0: 6.2μs, 6.2 syn, 0.0 ni, 87.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st% Cpu1: 18.8 us, 0.0 sy, 0.0 ni, 81.2 id, 0.0 wa, 0.0 hello, 0.0 si, 0.0 st% Cpu2: 50.0μs, 37.5 sync, 0.0ni, 12.5 id, 0.0wa, 0.0hi, 0.0si, 0.0st% Cpu3 - 5.9μs, 5.9 syn, 0.0 n 또한 88.2 id, 0.0 wa, 0.0 hi, 0.0 cuando, 0.St% Cpu4 0: 0.0 us, 5.9 sy, 0.0 국가 보험, 94.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st% Cpu5: 29.4μs, 23.5 가정, 0.0 ni, 47.1 id, 0.0 캘리포니아, 0.0 이봐 잘생긴, 0.0 si, 0.0 si% Cpu6: 0.0 du, 5.9 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hiya 및 welcome, 0.0 si, 0.0 st% Cpu7(공백) 5.9 us, 0.0 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hi, 0.0 가정 0.0 stKiB Mem: 최대 16248588, 무료 223436, 지출 5816924, 버프/캐시 10208228KiB 스왑: 총 17873388 17871340 가격, 2048 중고. 7440884 디스플레이 PID USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND 8867 daygeek fifteen 2743884 440420 360952 R 100.0 2.7 1: 07.25 / usr - lib / virtualbox / VirtualBoxVM --comment CentOS7-noemc-startvm 002f47b8-2af2-48f5-be1 9119 Daygeek 22 36 136 784 R 46.7 0.0 0: 00.07 / usr 또는 bin / CROND -n 1057 daygeek 15 889808 487692 461692 S 13.3 3.0 4: 21.12 vs usr / lib / Xorg vt2 -displayfd -auth 및 아마도 더 / run / user vs 1000 / gdm / Xauthority -nolisten - none +3098 daygeek 5 1929012 351412 120532 S 13.3 2.2 16: 42.51 - usr/lib/firefox/oper -contentproc -childID6 -isForBrowser -prefsLen 9236 -prefMap85 -190ID6 -isForBrowser -prefsLen 9236 -prefMap85 -180ID1844 하나의 특정 루트 20 188820 10144 7708 S 6.7 0.1 0: 06.92 / sbin / init 818 gdm 20 199836 25120 15876 S 6.7 0.2 0: 01.85 / usr 또는 lib / Xorg vt1 -displayfd 3 -auth / do / user / 120 / gdm / Xauthority -nolisten tcp -background 1170 daygeek 9-11 2676516 16516 12520 S 6.7 0.1 1: 28.30 / usr / bin - pulseaudio --daemonize = no 8271 루트 20 I 6. - 0: 00.21 [kworker / u16: 4-i915] 9117 Daygeek 18 13528 4036 3144 R 6.7 0.0 0: 00.01 상단 -md1+ -------------------------------------------------- --------------- - - 지금 이 간단한 다운로드로 컴퓨터 성능을 높이십시오. 년