性能优化工具---top

摘要:
默认值为5秒-p:为观察监视指定一些PID。如果顶部未显示,请按f显示。

作用:

  实时显示linux下各个进程的资源占用情况

参数:

  -d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;

  -p :指定某些个 PID 来进行观察监测而已。

  -b :以批次的方式执行 top ,通常会搭配数据流重定向到指定输出。

  -n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。

在 top 执行过程当中可以使用的按键指令:

  ? :显示在 top 当中可以输入的按键指令;

  P :以 CPU 的使用资源排序显示;

  M :以 Memory 的使用资源排序显示;

  N :以 PID 来排序喔!

  T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。

  k :给予某个 PID 一个讯号 (signal)

  r :给予某个 PID 重新制订一个 nice 值。

  m  显示内存信息

  c 显示完整的命令

  1 显示所有的cpu信息

概要显示信息:

  第一行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)。 负载三个数据分别代表 1, 5, 10 分钟的平均负载。

  第二行:显示的是目前的观察程序数量,zombie 表示僵尸进程

  第三行:显示的是 CPU 的整体负载。

  第四行与第五行:表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。

  第六行:这个是当在 top 程序当中输入指令时,显示状态的地方。

各个列含义

PID :每个 process 的 ID 啦!

USER:该 process 所属的使用者;

PR :Priority 的简写,程序的优先执行顺序,越小越早被执行;

NI :Nice 的简写,与 Priority 有关,也是越小越早被执行;

%CPU:CPU 的使用率;

%MEM:内存的使用率;

TIME+:CPU 使用时间的累加;

 

VIRT:virtual memory usage

    1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等

    2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存

    1、进程当前使用的内存大小,但不包括swap out

    2、包含其他进程的共享

    3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反

    4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory

    1、除了自身进程的共享内存,也包括其他进程的共享内存

    2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小

    3、计算某个进程所占的物理内存大小公式:RES – SHR

    4、swap out后,它将会降下来

DATA

    1、数据占用的内存。如果top没有显示,按f键可以显示出来。

    2、真正的该程序要求的数据空间,是真正在运行中要使用的。

S 进程状态。

  D=不可中断的睡眠状态

  R=运行

  S=睡眠

  T=跟踪/停止

  Z=僵尸进程COMMAND: 相关的命令

免责声明:文章转载自《性能优化工具---top》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇主元素swift3.0 coreData的使用-日记本demo下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL性能优化总结

一、MySQL的主要适用场景 1、Web网站系统 2、日志记录系统 3、数据仓库系统 4、嵌入式系统 二、MySQL架构图: 三、MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件。首先肯定会有任何存储引擎都不可缺少的存放表结构定义信息的.frm文件,另外还有.MYD和.MYI...

Apache POI Java读取100万行Excel性能优化:split vs indexOf+subString,谁性能好

使用Apache POI eventmodel实现一个Excel流式读取类,目标是100万行,每行46列,文件大小152MB的Excel文件能在20s读取并处理完。一开始实现的程序需要260s,离目标差太远了,使用jvisualvm分析各方法执行时间,结果如下: 可以看到,程序中的splitLine和getRowNum方法消耗了大量时间。这两个方法都特别...

EF性能优化

十年河东,十年河西,莫欺少年穷。 EF就如同那个少年,ADO.NET则是一位壮年。毕竟ADO.NET出生在EF之前,而EF所走的路属于应用ADO.NET。 也就是说:你所写的LINQ查询,最后还是要转化为ADO.NET的SQL语句,转化过程中无形降低了EF的执行效率。 但是,使用EF的一个好处就是系统便于维护,减少了系统开发时间,降低了生成成本。 OK,上...

推荐:Java性能优化系列集锦

Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难。随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了。现代JVM持续演进,内建了更为成熟的优化技术、运行时技术和垃圾收集器。与此同时,底层的硬件平台和操作系统也在演化。 目录: 一、Java性能优化系列之一--设计优化 二、J...

linux top命令查看内存及多核CPU的使用讲述

查看多核CPU命令 mpstat -P ALL  和  sar -P ALL 说明:sar -P ALL > aaa.txt   重定向输出内容到文件 aaa.txt top命令 经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文...

Spark记录-Spark性能优化解决方案

Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适解决方式:需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism。通常,reduce数目设置为core数目的2到3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太少,任务运行缓慢。 问题2:shuffle磁盘IO时间长...