top命令通常用于动态显示进程的变化信息,监控Linux系统状态。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,跟windows下的资源管理器类似。
-d time:指定屏幕刷新时间的间隔,默认为3秒;
-n NUM:设置循环显示的次数;
-p PID:指定要监控的进程ID;
-u USER|UID:按照给定的用户名或UID显示对应用户相关的进程信息;
在使用top命令进入其进程的监控界面后,可输入一些交互指令来帮助对当前显示的信息进行筛选,常见的交互指令有:
P:以占据CPU百分比排序;
M:以占据内存百分比进行排序;
T:以累积占用CPU时间进行排序;
l:隐藏uptime信息;
t:隐藏tasks及CPU信息;
m:隐藏内存信息;
s:修改刷新时间间隔;
k:终止指定的进程;
top命令的信息输出大致可以分为两部分:
1、系统运行的相关统计信息。
2、相关进程的状态及运行信息。
其中系统运行的相关统计信息,通常为top命令输出信息的上面部分,如下图:
其中每行代表的含义为:
第一行 :
第一行的输出信息还可以通过uptime命令来进程输出:
第二行 :
第三行 :
第四行 :
第五行 :
total:交换分区的总量;
used:使用的交换分区总量;
free:空闲的交换分区总量;
cached:缓冲的交换分区总量;
而第二部分的top命令输出如下图所示:
从第一行往下的每一行都代表着一个进程的运行状态信息,而第一行各字段的含义分别为:
Top的用法就是在所有的查询记录里筛选出前若干条记录。Top的后面带一个数值,例如top(10)表示查询出前10条记录。TOP和SELECT语句一起使用,例如:SELECTTOP(10)FROM
表名WHERE。。。
在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 – :系统当前时间
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点之间,这样就可以根据服务器状态作出调整,而不是等服务器挂了才来处理。上面命令各参数,大家可以根据自己需要修改。终于不用加班蹲点观察服务器了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)