Linux系统性能监控命令系列之 top

程序员Sean

大家好!我是Sean!

好久没有更新文章了,最近比较忙,接下来做个Linux系统性能监控命令系列分享,都是我平时常用的,个人觉得很实用,希望能给大家在工作中带来帮助。

top(显示或管理执行中的程序)

说到性能监控,用到最多的就是top命令,有点类似于Windows系统的任务管理器。top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

下面是我总结的关于top命令相关知识的脑图。

启动命令参数

-b:以批处理模式操作;
-c:显示整个命令行而不只是显示命令名;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式,使top命令在安全模式中运行,这将去除交互命令所带来的潜在危险;
-S:累积模式,从开始到现在时间段内的资源状况;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。

交互命令

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中;

使用场景

介绍一些比较常用的使用场景:

  1. 如何看机器是否有过宕机?可以直接看下第一行信息,里面有系统运行时长和启动时间
  2. 如何看看cpu使用状况?只需看两个地方,1)第三行%Cpu(s)信息,这个是系统从启动到目前的cpu占用状况,如果是多核cpu,按数字1可以看到各个cpu核的占用状况,2)进程信息中%CPU列,显示的是各个进程在刷新时间间隔内的cpu占用状况,这里的某些进程的值往往比%Cpu(s)中的大,因为这里是瞬时值,计算方法不一样,%Cpu(s)中的值会随着运行时间的延长,趋向于一个值。这两处看到的数据维度是不同的,大家根据实际问题情况去看数据。
  3. 如何看内存是否还够用?1)看第四行Mem的free是否充足,2)如果free不充足,那么继续看第五行Swap的free是否充足,并观察used数值是否一直变化,如果一直变化说明内存在不断和硬盘进行交换,说明内存真的不够了。
  4. 如何只观察某个进程资源使用情况?top -p 进程号,这个就会一直显示单个进程的信息,top -H -p 进程号,这个就会显示进程里所有线程的信息,这俩命令对定位问题都很实用。

今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

阅读 168

人生如逆旅,我亦是行人,但愿初相遇,不负有心人,分享程序员成长路上的点点滴滴。

1 声望
0 粉丝
0 条评论

人生如逆旅,我亦是行人,但愿初相遇,不负有心人,分享程序员成长路上的点点滴滴。

1 声望
0 粉丝
宣传栏