Linux服务器我们每天都在打交道,尤其是Linux工程师。为了保证服务器的安全和性能,我们经常需要对服务器的一些状态进行监控,以保证工作能够顺利进行。本文介绍的命令不仅适用于服务器监控,也适用于我们日常的开发。1、watchwatch命令是我们经常使用的。它的基本功能是按照指定的频率重复执行某条命令。使用这个命令,我们可以重复调用一些命令来达到监控服务器的作用。默认情况下,watch命令的执行周期是2秒,但是我们可以使用-n选项来指定运行频率。比如我们要每5秒执行一次date命令,可以这样执行:$watch-n5dateaserver肯定有很多人在用,尤其是本部门的朋友。至于这些朋友有没有浑水摸鱼,我们可以通过一些命令来监控。我们可以每隔10秒执行一次who命令,看看谁在使用服务器。$watch-n10whoEvery10.0s:whobutterfly:TueJan2316:02:032019shs:02??019-01-2309:45(:0)dorypts/02019-01-2315:50(192.168.0.5)alvinpts/12019-01-2316:01(192.168.0.15)sharkpts/32019-01-2311:11(192.168.0.27)如果我们发现系统运行很慢,我们可以调用用于检查系统平均负载的uptime命令。$watchuptimeEvery2.0s:uptimebutterfly:TueJan2316:25:48201916:25:48up22days,4:38,3users,loadaverage:1.15,0.89,1.02一些关键进程一定不能挂,否则,业务发展可能会受到影响,所以我们可以反复统计服务器中所有进程的数量。$watch-n5'ps-ef|wc-l'每5.0秒:ps-ef|wc-lbutterfly:TueJan2316:11:542019245如果想动态了解服务器的内存使用情况,可以反复执行free命令。$watch-n5free-mEvery5.0s:free-mbutterfly:TueJan2316:34:092019totalusedfreesharedbuff/cacheavailableMem:595977632761219064878Swap:204702047当然不止这些,我们也可以重复调用很多命令来监控服务器的一些关键参数。2.top使用top命令,我们可以知道系统的很多关键参数,而且是动态更新的。默认情况下,top监控系统的整体状态。如果我们只想知道某个人的用法,可以使用-u选项来指定这个人。$top-ualvintop-16:14:33up2days,4:27,3users,loadaverage:0.00,0.01,0.02Tasks:199total,1running,198sleeping,0stopped,0zombie%Cpu(s):0.0us,0.2sy,0.0ni,99.8id,0.0wa,0.0hi,0.0si,0.0stMiBMem:5959.4total,3277.3free,776.4used,1905.8buff/cacheMiBSwap:2040.0total,02.4878.4availMemPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND23026alvin2004634078206504S0.00.10:00.05systemd23033alvin200149660314072S0.00.102sd0pam02sd0pa0.006339651004092S0.00.10:00.00sshd23128alvin2001683656364284S0.00.10:00.03zsh在这个结果中,不仅可以看到用户alvin运行的所有进程数,还可以看到系统资源(CPU),memory)被每个进程消耗,同时仍然能够看到整个系统的关键参数。3.ac如果想知道每个用户登录服务器所花费的时间,可以使用ac命令。此命令要求您安装acct包(Debian)或psacct包(RHEL、Centos)。如果我们想知道所有用户登录服务器所用时间的总和,可以不带任何参数直接运行ac命令。$actotal1261.72如果我们想知道每个用户使用的时间,可以加上-p选项。$ac-pshark5.24alvin5.52shs1251.00total1261.76我们还可以加上-d选项,查看用户每天使用服务器的具体时间总和。$交流-d|tail-10Jan11total0.05Jan12total1.36Jan13total16.39Jan15total55.33Jan16total38.02Jan17total28.51Jan19total48.66Jan20total1.37Jan22total3.498Total我们可以使用summary有很多命令可以监控系统的运行状态。本文主要介绍三个:watch命令可以让你重复执行某个命令来监控一些参数的变化,top命令可以查看一个用户运行的进程数和消耗的资源,ac命令可以查看每个用户使用的服务器时间。您最常使用哪个命令?欢迎留言讨论!最后,最近有很多朋友找我要一份Linux学习路线图,所以我结合自己的经验,利用业余时间熬夜一个月,整理了一本电子书。无论你是面试还是自我提升,相信都会对你有所帮助!免费送给大家,只求大家给我点个赞!电子书|LinuxDevelopmentLearningRoadmap也希望有小伙伴可以加入我的行列,把这本电子书做得更加完美!获得?希望老铁们来个三连击,让更多人看到这篇文章。推荐阅读:干货|程序员和高级架构师免费发送工件的必备资源|支持搜索的资源网站
