2345技术员同盟

Linux 监视体系资源应用率

  • 来源:/ 原创
  • 光阴>2019-05-17
  • 阅读:
  • 本文标签:linux

   虽然说Linux操纵体系要比Windows操纵体系稳固的多。但是这个稳固是相对而言的。也便是说,Linux操纵体系也会有闹脾气的时候。在某些环境下,其体系的资源应用率(包含CPU或许内存),也会到达90%以上甚至更多。为此体系办理员在必要的时候,仍然必要监视体系资源的应用环境。笔者本日就给大家介绍一下,在Linux操纵体系下如何监视这个别系资源,做到心中有数。

  一、如何监视体系资源?

  在Windows操纵体系中,可以或许或许颠末过程任务办理器来查询各个过程所占用的CPU与内存的比率。在Linux操纵体系中没有这种图形化的办理。在命令行情势下,键入top命令,即可以或许或许看到各个过程所占用的体系资源。

  ppp

  作为一个合格的体系办理员,出于体系机能优化或许其余方面的考虑,往往必要节制体系中最消耗CPU或许内存资源的程序。为了到达这个偏向,体系办理本捅要借助体系供给的top命令。这个命令可以或许或许帮助办理员监控体系资源的应用环境,包含内存、CPU、交换文件分区的应用率等等。便是这个命令的履行结果。体系办理员想要晋升操纵体系的机能,第一步便是必要读懂上面这张表格。如果这种图中的内容体系办理员无法看懂,那么他就想晋升体系的机能基本无法入手。

  Top命令的运行结果大致可以或许或许分为两个部分。上半部是使一些统计的信息,包含内存和交换分区的应用环境、CPU的运行环境、过程的总数等等。在这些统计信息中,体系办理员除了要存眷这些重要资源的应用滤外,还必要注意过程运行的状况。可见在Linux体系中过程的状况重要有四种,分离为running、sleeping、stopped和zombie。如果从体系掩护与机能优化考虑,则体系办理员必要存眷那些状况为zombie的过程。若过程处于这个状况,在Linux操纵体系中叫做僵尸过程。什么叫做僵尸过程呢?便是那些父过程还没死、但是子过程却死了的过程。在Linux操纵体系中,过程一样平常分为父过程和子过程。某个过程A可能会调用另外一个过程B。此时这个过程A就叫做父过程,而过程B就叫做子过程。因为一些意外的环境,子过程运行已经停止,但是父过程却还不知道子过程早已停止运行,还在那边傻傻的等待着子过程返回运行结果。因为子过程没有返回结果,则父过程可能不停会在那边等待。从而导致体系机能的下降。如果体系办理员发现有僵尸过程的话,首先要做的便是结束父过程(有时候还必要检查这个父过程打开的其余子过程运行环境),以释放其占用的体系资源。其次如果这种环境发生的比较频繁时,则体系办理员就必要阐发到底是什么原因导致这种环境发生的。找到原因后要采取积极的措施。通常环境下,如果子过程的状况为“僵尸”时,父过程就不会主动结束,从而其占用的体系资源就不会主动释放,从而低落操纵体系的机能。

  二、Top命令的应用技能。

  1、 抉择合适的排序顺序。

  在Windows操纵体系的任务办理器中,办理员可以或许或许根据必要抉择合适的排序顺序,如按CPU排序或许按内存的应用率停止排序。而在top命令的显示结果中,默认环境下是按照CPU的应用率来停止排序的。如果如今体系办理员想按照内存应用率来排序,该如何处理呢?如果要想改变top命令结果的排序顺序,则可以或许或许按m键来按内存停止排序。注意这里的m是小写,而不是大写的。在Linux操纵体系中大部分命令与参数大小写都是敏感的。这跟微软操纵体系中的DOS命令分歧。Dos命令是不区分大小写的。虽然这个排序没有像微软操纵体系中的任务办理器那么便利,只必要点点鼠标就可以或许或许实现排序。但是只要认识相干的命令,在命令行中对其排序没有大家想想的那么艰难。

  2、 监视特定用户应用的资源环境。

  在Windows操纵体系中,如果想要检查特定帐户所打开的过程和所耗用的体系资源,操纵非常简略。只必要打开体系任务办理器,然后按照用户来停止排序。就可以或许或许知道某个用户开启了哪些过程和所占用的比例。而在top命令中,没有按帐户停止排序的功效。即在上面这个显示结果中,只可以或许或许按照内存应用率或许CPU负载来停止排序,而无法按照用户来停止排序。在同一个结果中夹杂着体系特权用户root与通俗用户所打开的过程。这对付体系办理员查找成就原因非常的不便利。有时候体系办理员往往必要只检查特定用户的过程,如只必要检查oracle帐户所打开的过程和所占用的体系资源。而忽略掉体系帐户。因为特权帐户其余用户无权停止登岸操纵,而其运行的往往是一些体系级别的过程,为此一样平常不会出现成就。而通俗用户可以或许或许运行一些应用程序。有时候他咱咱们糊里糊涂可能会打开一些非法程序,占用大批的体系资源,从而低落体系机能。废话少说,如何能力够检查特定帐户所启动的过程呢?其实很简略。现运行 top命令,让体系统计统统帐户的过程。然后在必要检查特定帐户的过程使,只必要按u键(注意小写),然后输入用户名即可。此时体系会主动把其余帐户的过程过说,便利体系办理员检查。按用户过滤后,仍然可以或许或许按m键来对实际的结果停止过滤。如果在一开端就必要检查某个特定用户的过程,那么只必要间接在 top命令后面加入-u可选项然后带上详细的用户名即可。但是,此时如果再想检查全体用户的话,那么只要先推出top命令,然后再利用top命令不带任何选项,来检查统统用户的过程。或许说,再在这个窗口中输入字符u,然后间接按回车键,也可以或许或许显示所用用户的过程信息。

  3、静态统计信息。

  应用top命令来统计过程的运行信息,跟微软操纵体系的任务办理器一样,都是静态调剂的。也便是说,体系会每隔一段光阴去统计这个信息,然后静态的显示在窗口中。不必要用户手工去更新相干的信息。而且从上面的图形中可以或许或许看出,top命令统计的信息要微软任务办理器统计的信息要多的多。所以对体系办理员来说,具有更大的参考价值。笔者曩昔也很喜欢采纳微软操纵体系的任务办理器。而了解了top命令后,就对其钟爱有加了。因为其不只可以或许或许实现任务办理器中的统统功效。而且top命令中有的信息在微软任务办理器中却无法显示。而这些信息往往对咱咱咱们掩护体系、晋升机能具有很大的参考价值。

  4、删除有异常的过程。

  如果这个窗口中,发现某些过程有异常或许用户履行了规定以外的应用程序,如占用了太多的体系资源或许有僵尸过程的存在,则可以或许或许间接在这个窗口中讲其删除。操纵的办法很简略,只必要在这个窗口内输入字符p,然后体系会提醒体系办理员输入要关闭过程的PID。办理员只必要键入这个值,然后按回车键就可以或许或许杀掉不必要的过程。不过在关闭过程的时候,有权限的限制。体系特权帐户root可以或许或许关闭统统用户的过程。而通俗帐户则只可以或许或许删除自己打开的程序,而无法关闭其余用户的过程。如如今体系办理员先以oracle用户登录,发现root帐户下某个过程异常,想要关闭时,体系会提醒无法关闭的错误信息。此时办理员必需先终止这个top过程,然后利用su命令更改登岸的帐户。然后再关闭这个异常的过程。体系办理员可以或许或许同时关闭多个过程。办法很简略,便是同时输入多个必要关闭的过程号。在各个过程号之间必要利用逗号隔开。

  top在体系掩护中是一个很有用的命令。除了可以或许实现如上的功效外,还可以或许设置其静态更新的光阴间隔等等。还必要注意的是,在分歧版本的 Linux体系中其功效稍有差异,而且其显示的布局与内容也有所分歧。为说体系办理员掩护其不怎么认识的版本时,有时候必要检查体系的帮助说明。此时只必要在top命令后面加上?号就可以或许获得相干的帮助。这个联机帮助文档根top命令一样,都是体系办理员的好帮手。还可惜的是,如今这些在线帮助文档都是英文的。所以这对体系办理员的英文说明请求比较高。

Linux /content/system/Linux/

本文来自蚂蚁视觉创意网www.myjzbx.com),转载本文请注明来源.
本文链接:/content/system/Linux/20150725/10693.html
热门排行
无觅相干文章插件,疾速晋升流量
友情链接:中国科技新闻网  520男人网  广州早教网  蓝夸克发型网  冠熙新闻网  香港都市日报网  嵊州宣传网  内蒙医药网  德州新闻门户网  节能环保新闻网