這篇文章將為大家詳細(xì)講解有關(guān)怎么用Bash腳本監(jiān)控Linux上的內(nèi)存使用情況,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
十載的句容網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整句容建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“句容網(wǎng)站設(shè)計(jì)”,“句容網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
如果只想在系統(tǒng)達(dá)到給定閾值時(shí)通過(guò)郵件獲取當(dāng)前內(nèi)存利用率百分比,請(qǐng)使用以下腳本。
這是個(gè)非常簡(jiǎn)單直接的單行腳本。在大多數(shù)情況下,我更喜歡使用這種方法。
當(dāng)你的系統(tǒng)達(dá)到內(nèi)存利用率的 80% 時(shí),它將觸發(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
注意:你需要更改電子郵件地址而不是使用我們的電子郵件地址。此外,你可以根據(jù)你的要求更改內(nèi)存利用率閾值。
輸出:你將收到類似下面的電子郵件提醒。
High Memory Alert: 80.40%
我們過(guò)去添加了許多有用的 shell 腳本。如果要查看這些內(nèi)容,請(qǐng)導(dǎo)航至以下鏈接。
* 如何使用 shell 腳本自動(dòng)執(zhí)行日?;顒?dòng)?
如果要在郵件警報(bào)中獲取有關(guān)內(nèi)存利用率的更多信息。使用以下腳本,其中包括基于 top
命令和 ps
命令的***內(nèi)存利用率和進(jìn)程詳細(xì)信息。
這將立即讓你了解系統(tǒng)的運(yùn)行情況。
當(dāng)你的系統(tǒng)達(dá)到內(nèi)存利用率的 “80%” 時(shí),它將觸發(fā)一封電子郵件。
注意:你需要更改電子郵件地址而不是使用我們的電子郵件地址。此外,你可以根據(jù)你的要求更改內(nèi)存利用率閾值。
# 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
***添加一個(gè) cron 任務(wù) 來(lái)自動(dòng)執(zhí)行此操作。它將每 5 分鐘運(yùn)行一次。
# crontab -e*/5 * * * * /bin/bash /opt/scripts/memory-alert.sh
注意:由于腳本計(jì)劃每 5 分鐘運(yùn)行一次,因此你將在最多 5 分鐘后收到電子郵件提醒(但不是 5 分鐘,取決于具體時(shí)間)。
比如說(shuō),如果你的系統(tǒng)達(dá)到 8.25 的給定限制,那么你將在 5 分鐘內(nèi)收到電子郵件警報(bào)。希望現(xiàn)在說(shuō)清楚了。
輸出:你將收到類似下面的電子郵件提醒。
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
關(guān)于“怎么用Bash腳本監(jiān)控Linux上的內(nèi)存使用情況”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
新聞名稱:怎么用Bash腳本監(jiān)控Linux上的內(nèi)存使用情況
URL分享:http://m.rwnh.cn/article38/gdiopp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、App開(kāi)發(fā)、做網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)