当前位置: 首页 > 科技观察

使用Bash脚本监控Linux上的内存使用_0

时间:2023-03-22 15:26:37 科技观察

市场上有许多开源监控工具可以监控Linux系统的性能。当系统达到指定的阈值限制时,它可以发送电子邮件警报。它可以监控CPU利用率、内存利用率、交换区利用率、磁盘空间利用率等所有内容。如果您的系统很少并且想要监视它们,那么编写一个小的shell脚本可以使您的任务变得非常简单。在本教程中,我们添加了两个shell脚本来监视Linux系统上的内存利用率。当系统达到给定的阈值时,它会向特定的电子邮件地址发送一封电子邮件。方法1:使用LinuxBash脚本监控内存利用率并发送电子邮件如果您只想在系统达到给定阈值时通过电子邮件获取当前内存利用率百分比,请使用以下脚本。这是一个非常简单明了的单线。在大多数情况下,我更喜欢使用这种方法。当您的系统内存使用率达到80%时,它将触发一封电子邮件。*/5****/usr/bin/free|awk'/Mem/{printf("RAM使用情况:%.2f%\n"),$3/$2*100}'|awk'{print$3}'|awk'{if($1>80)打印$0;}'|mail-s"HighMemoryAlert"2daygeek@gmail.com注意:您需要更改您的电子邮件地址,而不是使用我们的。此外,您可以根据需要更改内存利用率阈值。输出:您将收到一封类似于下面的电子邮件警报。高内存警报:80.40%我们过去添加了许多有用的shell脚本。如果您想查看这些内容,请导航至以下链接。*如何使用shell脚本自动化日常活动?Method-2:MonitorMemoryUtilizationwithLinuxBashScriptandSendEmail如果您想在邮件警报中获得有关内存利用率的更多信息。使用以下脚本,其中包括基于top命令和ps命令的最新内存利用率和进程详细信息。这将立即让您了解系统的运行情况。当您的系统内存使用率达到“80%”时,它将触发一封电子邮件。注意:您需要更改您的电子邮件地址,而不是使用我们的。此外,您可以根据需要更改内存利用率阈值。#vi/opt/scripts/memory-alert.sh#!/bin/shramusage=$(free|awk'/Mem/{printf("RAMUsage:%.2f\n"),$3/$2*100}'|awk'{print$3}')if["$ramusage">20];然后SUBJECT="注意:$(主机名)在$(date)上的内存利用率很高"MESSAGE="/tmp/Mail.out"TO="2daygeek@gmail.com"echo"内存当前使用情况是:$ramusage%">>$MESSAGEecho"">>$MESSAGEecho"------------------------------------------------------------------">>$MESSAGEecho"TopMemoryConsumingProcessUsingtopcommand">>$MESSAGEecho”------------------------------------------------------------------">>$MESSAGEecho"$(top-b-o+%MEM|head-n20)">>$MESSAGEecho"">>$MESSAGEecho"--------------------------------------------------------------">>$MESSAGEecho"返回顶部使用ps命令的内存消耗过程">>$MESSAGEecho"------------------------------------------------------------------">>$MESSAGEecho"$(ps-eopid,ppid,%mem,%Memory,cmd--sort=-%mem|head)">>$MESSAGEmail-s"$SUBJECT""$TO"<$MESSAGErm/tmp/Mail.outfi***添加一个cron作业来自动完成它将每5分钟运行一次。#crontab-e*/5****/bin/bash/opt/scripts/memory-alert.sh注意:由于脚本计划每5分钟运行一次,您将收到一封电子邮件警报几分钟后(但不是5分钟,取决于确切时间)。比如说,如果您的系统达到给定的8.25限制,那么您将在5分钟内收到一封电子邮件警报。希望现在清楚了。输出:您将收到类似于下面的电子邮件警报。内存当前使用率是:80.71%+--------------------------------------------------------------+TopMemoryConsumingProcessUsingtopcommand+------------------------------------------------------------------+顶部-5天12:00:58,9:03,1个用户,平均负载:1.82、2.60、2.83任务:总计314个,运行1个,睡眠313个,停止0个,僵尸0%Cpu0:8.3us,12.5sy,0.0ni,75.0id,0.0wa,0.0hi,4.2si,0.0st%Cpu1:13.6us,4.5sy,0.0ni,81.8id,0.0wa,0.0hi,0.0si,0.0st%Cpu2:21.7us,21.7sy,0.0ni,56.5id,0.0wa,0.0hi,0.0si,0.0st%Cpu3:13.6us,9.1sy,0.0ni,77.3id,0.0wa,0.0hi,0.0si,0.0st%Cpu4:17.4us,8.7sy,0.0ni,73.9id,0.0wa,0.0hi,0.0si,0.0st%Cpu5:20.8us,4.2sy,0.0ni,70.8id,0.0wa,0.0hi,4.2si,0.0st%Cpu6:9.1us,0.0sy,0.0ni,90.9id,0.0wa,0.0hi,0.0si,0.0st%Cpu7:17.4us,4.3sy,0.0ni,78.3id,0.0wa,0.0hi,0.0si,0.0stKiB内存:总计16248588,免费5015964,使用6453404,4779220buff/cacheKiB交换:总计17873388,免费16928620,使用944768。6423008availMemPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND17163daygeek202033204487736282888S10.03.08:26.07/usr/lib/firefox/firefox-contentproc-childID15-isForBrowser-prefsMapSlen18-en9490ParentBuildid20190521202118-Greomni/U+1121DayGeek204191388419180100552S5.02.6126:02.84/usr/bin/bin/gnome-shell1902Daygeek1902Daygeek2017016443272168272568216S20.012.06153chrommome27.06153chrommomechrommomechrommomechrommome27.03chrommomechrommomechrommomechrommomechrommomechrommome27.06153chrommomechrome32465692388S15.02.0149:38.09/opt/google/chrome/chrome--type=renderer--field-trial-handle=10346122902703263820,11905758137655502112,131072--service-pipe-token=1339861+1068daygeek201104856309552278072S5.01.9143:47.42/usr/lib/Xorgvt2-displayfd3-auth/run/user/1000/gdm/Xauthority-nolistentcp-backgroundnone-n??oreset-keeptty-verbose327246daygeek20907344265600108276S30.01.610:42.80/opt/google/chrome/chrome--type=renderer--field-trial-handle=10346122902703263820,11905758137655502112,131072--service-pipe-token=8587368++--------------------------------------------------------------+使用ps命令的内存消耗最高的进程+-------------------------------------------------------------+PIDPPID%MEM%CPUCMD822316.46.8/usr/lib/firefox/firefox--new-window1394811216.31.2/usr/bin/../lib/notepadqq/notepadqq-bin867182234.47.5/usr/lib/firefox/firefox-contentproc-childID5-isForBrowser-prefsLen6999-prefMapSize184979-parentBuildID20190521202118-greomni/usr/lib/firefox/omni.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223truetab1716382233.00.6/usr/lib/firefox/firefox-contentproc-childID15-isForBrowser-prefsLen9408-prefMapSize184979-parentBuildID20190521202118-greomni/usr/lib/firefox/omni.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223真选项卡112110782.51.6/usr/bin/gnome-shell1793782232.50.8/usr/lib/firefox/firefox-contentproc-childID16-isForBrowser-prefsLen9410-prefMapSize184979-parentBuildID20190521202118-greomni/fire/usromn??i.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223truetab849982232.20.6/usr/lib/firefox/firefox-contentproc-childID4-isForBrowser-prefsLen6635-prefMapSize184979-parentBuildID20190521202118-greomni/usr/lib/firefox/omni.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223真标签830682232.20.8/usr/lib/firefox/firefox-contentproc-childID1-isForBrowser-prefsLen1-prefMapSize184979-parentBuildID20190521202118-greomni/usr/lib/firefox/omni.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223truetab919882232.10.6/usr/lib/firefox/firefox-contentproc-childID7-isForBrowser-prefsLen8604-prefMapSize184979-parentBuildID20190521202118-greomni/usr/lib/firefox/omni.ja-appomni/usr/lib/firefox/browser/omni.ja-appdir/usr/lib/firefox/browser8223true标签

最新推荐
猜你喜欢