进程管理之top命令

进程管理之top命令,第1张

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语句一起使用,例如:SELECT

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11386135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存