中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用Bash腳本監控Linux的內存使用情況

發布時間:2020-09-13 14:36:53 來源:腳本之家 閱讀:243 作者:Magesh Maruthamuthu 欄目:服務器

前言

目前市場上有許多開源監控工具可用于監控 Linux 系統的性能。當系統達到指定的閾值限制時,它可以發送電子郵件警報。它可以監視 CPU 利用率、內存利用率、交換利用率、磁盤空間利用率等所有內容。

如果你只有很少的系統并且想要監視它們,那么編寫一個小的 shell 腳本可以使你的任務變得非常簡單。

在本教程中,我們添加了兩個 shell 腳本來監視 Linux 系統上的內存利用率。當系統達到給定閾值時,它將給特定電子郵件地址發郵件。

方法-1:用 Linux Bash 腳本監視內存利用率并發送電子郵件

如果只想在系統達到給定閾值時通過郵件獲取當前內存利用率百分比,請使用以下腳本。

這是個非常簡單直接的單行腳本。在大多數情況下,我更喜歡使用這種方法。

當你的系統達到內存利用率的 80% 時,它將觸發一封電子郵件。

*/5 * * * * /usr/bin/free | awk '/Mem/{printf("RAM Usage: %.2f%\n"), $3/$2*100}' | awk '{print $3}' | awk '{ if($1 > 80) print $0;}' | mail -s "High Memory Alert" 2daygeek@gmail.com

注意:你需要更改電子郵件地址而不是使用我們的電子郵件地址。此外,你可以根據你的要求更改內存利用率閾值。

輸出:你將收到類似下面的電子郵件提醒。

High Memory Alert: 80.40%

我們過去添加了許多有用的 shell 腳本。如果要查看這些內容,請導航至以下鏈接。

* 如何使用 shell 腳本自動執行日常活動?

方法-2:用 Linux Bash 腳本監視內存利用率并發送電子郵件

如果要在郵件警報中獲取有關內存利用率的更多信息。使用以下腳本,其中包括基于 top 命令和 ps 命令的最高內存利用率和進程詳細信息。

這將立即讓你了解系統的運行情況。

當你的系統達到內存利用率的 “80%” 時,它將觸發一封電子郵件。

注意:你需要更改電子郵件地址而不是使用我們的電子郵件地址。此外,你可以根據你的要求更改內存利用率閾值。

# vi /opt/scripts/memory-alert.sh

#!/bin/sh
ramusage=$(free | awk '/Mem/{printf("RAM Usage: %.2f\n"), $3/$2*100}'| awk '{print $3}')

if [ "$ramusage" > 20 ]; then

 SUBJECT="ATTENTION: Memory Utilization is High on $(hostname) at $(date)"
 MESSAGE="/tmp/Mail.out"
 TO="2daygeek@gmail.com"
 echo "Memory Current Usage is: $ramusage%" >> $MESSAGE
 echo "" >> $MESSAGE
 echo "------------------------------------------------------------------" >> $MESSAGE
 echo "Top Memory Consuming Process Using top command" >> $MESSAGE
 echo "------------------------------------------------------------------" >> $MESSAGE
 echo "$(top -b -o +%MEM | head -n 20)" >> $MESSAGE
 echo "" >> $MESSAGE
 echo "------------------------------------------------------------------" >> $MESSAGE
 echo "Top Memory Consuming Process Using ps command" >> $MESSAGE
 echo "------------------------------------------------------------------" >> $MESSAGE
 echo "$(ps -eo pid,ppid,%mem,%Memory,cmd --sort=-%mem | head)" >> $MESSAGE
 mail -s "$SUBJECT" "$TO" < $MESSAGE
 rm /tmp/Mail.out
fi

最后添加一個 cron 任務 來自動執行此操作。它將每 5 分鐘運行一次。

# crontab -e
*/5 * * * * /bin/bash /opt/scripts/memory-alert.sh

注意:由于腳本計劃每 5 分鐘運行一次,因此你將在最多 5 分鐘后收到電子郵件提醒(但不是 5 分鐘,取決于具體時間)。

比如說,如果你的系統達到 8.25 的給定限制,那么你將在 5 分鐘內收到電子郵件警報。希望現在說清楚了。

輸出:你將收到類似下面的電子郵件提醒。

Memory Current Usage is: 80.71%

+------------------------------------------------------------------+
Top Memory Consuming Process Using top command
+------------------------------------------------------------------+
top - 12:00:58 up 5 days, 9:03, 1 user, load average: 1.82, 2.60, 2.83
Tasks: 314 total,  1 running, 313 sleeping,  0 stopped,  0 zombie
%Cpu0 : 8.3 us, 12.5 sy, 0.0 ni, 75.0 id, 0.0 wa, 0.0 hi, 4.2 si, 0.0 st
%Cpu1 : 13.6 us, 4.5 sy, 0.0 ni, 81.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 21.7 us, 21.7 sy, 0.0 ni, 56.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 13.6 us, 9.1 sy, 0.0 ni, 77.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 17.4 us, 8.7 sy, 0.0 ni, 73.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 20.8 us, 4.2 sy, 0.0 ni, 70.8 id, 0.0 wa, 0.0 hi, 4.2 si, 0.0 st
%Cpu6 : 9.1 us, 0.0 sy, 0.0 ni, 90.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 17.4 us, 4.3 sy, 0.0 ni, 78.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16248588 total, 5015964 free, 6453404 used, 4779220 buff/cache
KiB Swap: 17873388 total, 16928620 free,  944768 used. 6423008 avail Mem

 PID USER   PR NI  VIRT  RES  SHR S %CPU %MEM   TIME+ COMMAND
17163 daygeek  20   2033204 487736 282888 S 10.0  3.0  8:26.07 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /u+
 1121 daygeek  20   4191388 419180 100552 S  5.0  2.6 126:02.84 /usr/bin/gnome-shell
 1902 daygeek  20   1701644 327216 82536 S 20.0  2.0 153:27.92 /opt/google/chrome/chrome
 2969 daygeek  20   1051116 324656 92388 S 15.0  2.0 149:38.09 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=1339861+
 1068 daygeek  20   1104856 309552 278072 S  5.0  1.9 143:47.42 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3
27246 daygeek  20   907344 265600 108276 S 30.0  1.6 10:42.80 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=8587368+

+------------------------------------------------------------------+
Top Memory Consuming Process Using ps command
+------------------------------------------------------------------+
 PID PPID %MEM %CPU CMD
 8223   1 6.4 6.8 /usr/lib/firefox/firefox --new-window
13948 1121 6.3 1.2 /usr/bin/../lib/notepadqq/notepadqq-bin
 8671 8223 4.4 7.5 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 6999 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab
17163 8223 3.0 0.6 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab
 1121 1078 2.5 1.6 /usr/bin/gnome-shell
17937 8223 2.5 0.8 /usr/lib/firefox/firefox -contentproc -childID 16 -isForBrowser -prefsLen 9410 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab
 8499 8223 2.2 0.6 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 6635 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab
 8306 8223 2.2 0.8 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab
 9198 8223 2.1 0.6 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8604 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab

via: https://www.2daygeek.com/linux-bash-script-to-monitor-memory-utilization-usage-and-send-email/

作者: Magesh Maruthamuthu 選題: lujun9972 譯者: wxy 校對: wxy

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

滦南县| 封丘县| 沈阳市| 元谋县| 五原县| 肃南| 海门市| 平南县| 华容县| 枣阳市| 富锦市| 屏边| 随州市| 白沙| 老河口市| 温州市| 永昌县| 炎陵县| 白朗县| 克山县| 如皋市| 天台县| 姜堰市| 宁化县| 湖州市| 万全县| 阿尔山市| 全椒县| 朔州市| 武安市| 北京市| 永平县| 慈利县| 晋中市| 富平县| 婺源县| 扶余县| 赫章县| 孝义市| 荥经县| 开鲁县|