linux怎样使用top命令查看系统状态

:http://jingyan.baidu.com/article/4d58d5412917cb9dd4e9c0ed.html

http://www.01happy.com/linux-top-display-tasks/

Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。

linux怎样使用top命令查看系统状态

工具/原料

  • Linux
  • top

方法/步骤

  1. 使用SSHClient客户端连接到远程Linux系统。使用top命令查看系统的当前运行的情况。如图对top命令执行的结果做了简单的图解,下面针对每一项做详细的解释。

    linux怎样使用top命令查看系统状态

  2. top命令的第一行“top - 19:56:47 up 39 min,  3 users,  load average: 0.00, 0.00, 0.00”显示的内容依次为“系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载(任务队列的平均长度)三个值分别为1分钟、5分钟、15分钟前到现在的平均值【这三个一般会小于1,如果持续高于5,请仔细查看那个程序影响系统的运行】”

    linux怎样使用top命令查看系统状态

  3. top命令的第二行“Tasks: 120 total,   2 running, 118 sleeping,   0 stopped,   0 zombie”显示的内容依次“所有启动的进程数”、“正在运行的进程数”、“挂起的进程数”、“停止的进程数”、“僵尸进程数”。

    linux怎样使用top命令查看系统状态

  4. top命令的第三行“Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st”显示的内容依次为“用户空间占用CPU百分比”、“内核空间占用CPU百分比”、“用户空间内改变过优先级的进程占用CPU百分比”、“空闲CPU百分比”、“等待输入输出CPU时间百分比”、“CPU服务于硬件中断所耗费的时间总额”、“CPU服务软中断所耗费的时间总额”、“Steal Time”

    linux怎样使用top命令查看系统状态

  5. top命令第四行“Mem:    508820k total,   480172k used,    28648k free,    41944k buffers”显示内容依次为“物理内存总量”、“已使用的物理内存”、“空闲物理内存”、“内核缓存内存量”。

    linux怎样使用top命令查看系统状态

  6. top命令第5行“Swap:   392184k total,        0k used,   392184k free,   259152k cached”显示内容依次为“交换区总量”、“已使用交互区总量”、“空闲交换区总量”、“缓冲的交换区总量”。

    linux怎样使用top命令查看系统状态

  7. top命令第5行“PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND ”显示内容依次为“进程ID”、“进程所有者”、“优先级”、“nice值,负值表示高优先级,正值表示低优先级”、“进程使用的虚拟内存总量”、“进程使用的、未被换出的物理内存大小”、“共享内存大小”、“进程状态”、“上次更新到现在的CPU时间占用百分比”、“进程使用的物理内存百分比”、“进程使用CPU总时间”、“命令名、命令行”。

    linux怎样使用top命令查看系统状态

在linux下可以通过top命令来查系统运行状态和进程运行状态,通过man查看top手册,top的解释是display Linux tasks,以前看到过一个另外的解释display top CPU processes,这个我觉得挺贴切的,因为top这个命令会自动把消耗高的进程排到前面,真的很形象。

1、命令说明

top 参数
  • -h:help表示显示帮助的意思
  • -v:version显示版本的意思,和-h的功能一样
  • -u:user显示指定用户的进程,例如:top -u root
  • -p:pid显示指定进程,例如:top -p 1
  • -n:number进入top后,top会定时刷新状态,这个值就是设置刷新几次
  • -d:delay进入top后,top会定时刷新状态,这个值就是设置几秒刷新一次
  • -b:Batch mode,top刷新状态默认是在原数据上刷新,使用这个参数后,会一屏一屏的显示数据。结合重定向功能和计划任务,这个参数在记录服务器运行状态时非常有用。

以上一些参数是在输入命令时提供的参数,在top运行的过程中,还可以输入一些快捷键来调整显示内容。

一些命令运行时的快捷键说明:

  • q:quit退出程序
  • M:Memory按照内存使用量排序
  • P:CPU按照cpu使用量排序
  • k:kill杀死PID的进程,不输入PID,直接按回车就会退出
  • 1:能显示CPU每个核心的情况
  • h或者?:help 查看更多快捷键
  • f:fields查看进程表头字段含义

2、命令测试

top
top命令测试

top命令测试

第一行说明:

top – :系统当前时间

up:服务器连续运行的时间,笔者见过有服务器连续运行一年以上,linux服务器还是非常稳定的。

user:当前有多少用户登录系统

load average:这个边有3个数值分别表示系统在前1分钟,5分钟,15分钟的工作负载,根据笔者以往的经验来看单核负载在3-5之间比较合适,经常在1以下,说明cpu利用率不高,在5以上,cpu会处于较高负载状态,会容易宕机。有一次项目上线,晚上加班观察服务器状况,这个值长时间保持在72左右,因为服务器有八核,所以每核的值为9,后来服务器就挂了。

第二行就是显示任务的数量情况,其中zombie要注意一下,这个是表示僵尸进程,出现了僵尸进程要注意下僵尸进程是如何产生的。如果不找到产生原因,即使杀死了,可能也会再次出现。

第三行表示cpu的运行情况,按下1可以显示每个核的运行情况。

第四行表示内存memory的使用情况。

第五行表示交换空间swap的使用情况。

下面显示的就是进程的运行状态了。每个表头表示的含义如下:

  • PID:进程编号
  • USER:进程所属用户
  • PR/NI:Priority/Nice value进程执行的优先顺序
  • VIRT:Virtual Image (kb) 虚拟内存使用总额
  • RES:Resident size (kb) 常驻内存
  • SHR:Shared Mem size (kb) 共享内存
  • S:Process Status 进程状态
  • %CPU:cpu使用率
  • %MEM:内存使用率
  • TIME+:进程开始运行时使用cpu的总时间
  • COMMAND:进程运行的命令

在top状态下按f可以查看表头字段说明。

3、常用的命令:

top -b -n 60 -d 60 > /home/cpu.txt

该命令每隔60秒会将服务器运行状态保存到一个文本文件,共运行60次,其实就是将服务器1个小时的运行状态保存起来。使用这个命令,可以记录服务器在繁忙时的负载情况,例如设置到晚上8点到9点之间,这样就可以根据服务器状态作出调整,而不是等服务器挂了才来处理。上面命令各参数,大家可以根据自己需要修改。终于不用加班蹲点观察服务器了。

    A+
发布日期:2015年10月10日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: