监控命令linux 监控命令使用与汇编语言( 六 )


二、Top命令的使用技巧 。
1、 选择合适的排序顺序 。
在Windows操作系统的任务管理器中 , 管理员可以根据需要选择合适的排序顺序,如按CPU排序或者按内存的使用率进行排序 。而在命令的显示结果中 , 默认情况下是按照CPU的使用率来进行排序的 。如果现在系统管理员想按照内存使用率来排序,该如何处理呢?如果要想改变命令结果的排序顺序 , 则可以按m键来按内存进行排序 。注意这里的m是小写,而不是大写的 。在Linux操作系统中大部分命令与参数大小写都是敏感的 。这跟微软操作系统中的DOS命令不同 。Dos命令是不区分大小写的 。虽然这个排序没有像微软操作系统中的任务管理器那么方便,只需要点点鼠标就可以完成排序 。但是只要熟悉相关的命令,在命令行中对其排序没有大家想想的那么困难 。
2、 监视特定用户使用的资源情况 。
在Windows操作系统中,如果想要查看特定帐户所打开的进程以及所耗用的系统资源,操作非常简单 。只需要打开系统任务管理器,然后按照用户来进行排序 。就可以知道某个用户开启了哪些进程以及所占用的比例 。而在命令中,没有按帐户进行排序的功能 。即在上面这个显示结果中,只可以按照内存使用率或者CPU负载来进行排序,而无法按照用户来进行排序 。在同一个结果中夹杂着系统特权用户root与普通用户所打开的进程 。这对于系统管理员查找问题原因非常的不方便 。有时候系统管理员往往需要只查看特定用户的进程,如只需要查看oracle帐户所打开的进程以及所占用的系统资源 。而忽略掉系统帐户 。因为特权帐户其他用户无权进行登陆操作,而其运行的往往是一些系统级别的进程,为此一般不会出现问题 。而普通用户可以运行一些应用程序 。有时候他们糊里糊涂可能会打开一些非法程序,占用大量的系统资源 , 从而降低系统性能 。废话少说,如何才能够查看特定帐户所启动的进程呢?其实很简单 。现运行 命令,让系统统计所有帐户的进程 。然后在需要查看特定帐户的进程使,只需要按u键(注意小写),然后输入用户名即可 。此时系统会自动把其他帐户的进程过滤掉,方便系统管理员查看 。按用户过滤后,仍然可以按m键来对现实的结果进行过滤 。如果在一开始就需要查看某个特定用户的进程,那么只需要直接在 命令后面加入-u可选项然后带上具体的用户名即可 。但是,此时如果再想查看全部用户的话,那么只有先推出命令,然后再利用命令不带任何选项 , 来查看所有用户的进程 。或者说,再在这个窗口中输入字符u,然后直接按回车键,也可以显示所用用户的进程信息 。
3、动态统计信息 。
使用命令来统计进程的运行信息 , 跟微软操作系统的任务管理器一样 , 都是动态调整的 。也就是说,系统会每隔一段时间去统计这个信息,然后动态的显示在窗口中 。不需要用户手工去更新相关的信息 。而且从上面的图形中可以看出,命令统计的信息要比微软任务管理器统计的信息要多的多 。所以对系统管理员来说 , 具有更大的参考价值 。笔者以前也很喜欢采用微软操作系统的任务管理器 。而了解了命令后,就对其钟爱有加了 。因为其不仅可以完成任务管理器中的所有功能 。而且命令中有的信息在微软任务管理器中却无法显示 。而这些信息往往对我们维护系统、提升性能具有很大的参考价值 。
4、删除有异常的进程 。
【监控命令linux 监控命令使用与汇编语言】如果这个窗口中,发现某些进程有异常或者用户执行了规定以外的应用程序,如占用了太多的系统资源或者有僵尸进程的存在,则可以直接在这个窗口中讲其删除 。操作的方法很简单,只需要在这个窗口内输入字符p,然后系统会提示系统管理员输入要关闭进程的PID 。管理员只需要键入这个值 , 然后按回车键就可以杀掉不需要的进程 。不过在关闭进程的时候,有权限的限制 。系统特权帐户root可以关闭所有用户的进程 。而普通帐户则只能够删除自己打开的程序,而无法关闭其他用户的进程 。如现在系统管理员先以oracle用户登录,发现root帐户下某个进程异常,想要关闭时,系统会提示无法关闭的错误信息 。此时管理员必须先终止这个进程 , 然后利用su命令更改登陆的帐户 。然后再关闭这个异常的进程 。系统管理员可以同时关闭多个进程 。方法很简单,就是同时输入多个需要关闭的进程号 。在各个进程号之间需要利用逗号隔开 。

推荐阅读