linux系统管理--top命令

这些日子,运维公司三台服务器,一个小伙伴貌似对top命令不太感冒,我告诉他去百度(不懂谷歌百度的程序员不是好厨师),然后突然发现也许我自己该整理一下相关的东西了

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

在linux下,执行top命令

linux系统管理--top命令

top命令是可以输入交互命令的,按“H”或者“?”就可以看到交互命令的帮助。

在top命令的交互模式当中可以执行以下的命令来显示相应的信息

  • P :以cpu的使用率排序,默认就是以cpu使用率排序
  • M:以内存的使用率排序
  • N:以pid排序
  • q:退出top

对于top命令来讲,最主要的作用就是上边那五行,通过这五行,能够很好的分析系统的健康状态。

linux系统管理--top命令

上图是top命令的执行结果,其中 linux系统管理--top命令表示top命令的执行时间,注意,top命令默认的是每三秒钟执行一次,下面依次说说几个比较重要的系统指标。

  • linux系统管理--top命令  表示当前系统运行多长时间,很多人都在linux一些论坛炫耀,我的系统运行多久多久了(由于这台机器为我的测试机所以很久我也没有重启过了),这种做法,我是不建议采取的,因为我们运维服务器的最终目的是为了保证系统正常稳定的运行,而不是飚你的运行时间有多久。对于服务器来讲,重启服务器间隔时间越长,服务器出现问题的可能性就会越大,系统中缓存,临时文件啥的啊,导致系统越来越卡,千万不要去追求系统运行时间,要追求系统的无故障率。比较好的做法是定期的重启服务器,如果是高压力高负载的服务器,建议一周重启一次。如果是低压力服务器,建议每个月重启一下。有计划的重启服务器,也是服务器运维的基本的一个原则。
  • linux系统管理--top命令 表示当前系统,在一分钟之前,五分钟之前和十五分钟之前的平均负载。这个值得衡量标准,经验之谈,一般以服务器cpu核数来看,如果服务器cpu核数为2,这个值不能大于2;如果cpu核数为4,这个值不能大于4。注意,如果服务器为4核,但是这个值正好为4,通过查看cpu使用率,内存占用率均为百分之六七十,那么我们认为那个值是合理值(需要从系统的真实使用情况来分析)。
  • linux系统管理--top命令

    记录了系统总共运行的进程数total  其中,   running:在运行的进程     sleeping:休眠进程    stopped :停止的进程    zombie:僵尸进程

  • linux系统管理--top命令

  us:用户进程占用cpu百分比   sy:系统进程占用cpu百分比    ni:被修改过优先级进程占用的百分比   id:系统空闲百分比(重要指标),一般认为不能低于百分之20

  对于wa,hi,si,st不常使用,如果碰到请自行百度.

  • linux系统管理--top命令

    这些指标是针对的内存和swap(交换分区)来说的,在这里buffer是缓冲,它的作用是加速了数据的写入,cache是缓存,它的作用为加速了数据的读写,

对于下部分结果信息,显示的是每个系统进程的运行状态,类似于ps命令,默认系统已cpu占有率为基准,谁的cpu占有率高谁就排到顶部,依次排列。

linux系统管理--top命令

解释一下几个关于top参数:

top  -b -n -1  >top.log   将top命令结果集 输出到top.log 中

总结,top命令,最主要的就是上五行指标参数,我们在运维服务器的时候应该集中关注的有load average,cpu的空闲率,内存的空闲率。

上一篇:设计模式之组合模式——Java语言描述


下一篇:spring2.5与hibernate3升级后的bug