怎么用Bash腳本監(jiān)控Linux上的內存使用情況

這篇文章將為大家詳細講解有關怎么用Bash腳本監(jiān)控Linux上的內存使用情況,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

十載的句容網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整句容建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“句容網站設計”,“句容網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

方法-1:用 Linux Bash 腳本監(jiān)視內存利用率并發(fā)送電子郵件

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

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

當你的系統(tǒng)達到內存利用率的 80% 時,它將觸發(fā)一封電子郵件。

*/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 腳本自動執(zhí)行日常活動?

方法-2:用 Linux Bash 腳本監(jiān)視內存利用率并發(fā)送電子郵件

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

這將立即讓你了解系統(tǒng)的運行情況。

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

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

# vi /opt/scripts/memory-alert.sh #!/bin/shramusage=$(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.outfi

***添加一個 cron 任務 來自動執(zhí)行此操作。它將每 5 分鐘運行一次。

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

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

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

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

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.83Tasks: 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 stKiB Mem : 16248588 total,  5015964 free,  6453404 used,  4779220 buff/cacheKiB Swap: 17873388 total, 16928620 free,   944768 used.  6423008 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND17163 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 327246 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-window13948  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 tab17163  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-shell17937  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

關于“怎么用Bash腳本監(jiān)控Linux上的內存使用情況”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

新聞名稱:怎么用Bash腳本監(jiān)控Linux上的內存使用情況
URL分享:http://muchs.cn/article38/gdiopp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供手機網站建設、關鍵詞優(yōu)化面包屑導航、App開發(fā)、做網站、網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管