linux下使用top命令查看系统运行状态和进程运行状态

时间:2022-10-25 00:42:56

在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
linux下使用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点之间,这样就可以根据服务器状态作出调整,而不是等服务器挂了才来处理。上面命令各参数,大家可以根据自己需要修改。终于不用加班蹲点观察服务器了。

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