通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。

top命令输出长这样:
top命令参数详解(linux top命令的用法详细详解)

以下解析一下各个字段的意思:

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、真正的该程序要求的数据空间,是真正在运行中要使用的。

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。

内部命令如下:

s – 改变画面更新频率

l – 关闭或开启第一部分第一行 top 信息的表示

t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

N – 以 PID 的大小的顺序排列表示进程列表

P – 以 CPU 占用率大小的顺序排列进程列表

M – 以内存占用率大小的顺序排列进程列表

h – 显示帮助

n – 设置在进程列表所显示进程的数量

q – 退出 top

s – 改变画面更新周期

序号 列名 含义

a PID 进程id

b PPID 父进程id

c RUSER Real user name

d UID 进程所有者的用户id

e USER 进程所有者的用户名

f GROUP 进程所有者的组名

g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?

h PR 优先级

i NI nice值。负值表示高优先级,正值表示低优先级

j P 最后使用的CPU,仅在多CPU环境下有意义

k %CPU 上次更新到现在的CPU时间占用百分比

l TIME 进程使用的CPU时间总计,单位秒

m TIME+ 进程使用的CPU时间总计,单位1/100秒

n %MEM 进程使用的物理内存百分比

o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。

q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

r CODE 可执行代码占用的物理内存大小,单位kb

s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb

t SHR 共享内存大小,单位kb

u nFLT 页面错误次数

v nDRT 最后一次写入到现在,被修改过的页面数。

w S 进程状态。(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

x COMMAND 命令名/命令行

y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名

z Flags 任务标志,参考 sched.h

默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。

通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。

按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

查看进程 adb shell “ps |grep hvac”
system 10379 446 5956824 95392 SyS_epoll_wait 0 S com.android.car.hvac
top指定查看PID
[root@6 ~]# top -p 10379
top查看多个PID
[root@6 ~]# top -p 21538,31117,31116,31115,31114

top命令参数详解(linux top命令的用法详细详解)相关推荐

  1. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  2. linux上传文件put,详解Linux ftp 命令行中下载文件get与上传文件put的操作方法

    尽管现在有许多好的FTP应用程序,但服务器命令行ftp命令的应用程序仍然很多,下面就让电脑乐园小编带你一起来学习详解Linux ftp 命令行中下载文件get与上传文件put的操作方法. 介绍:从本地 ...

  3. linux 命令行 time,详解Linux time 命令的使用

    1.命令简介 time 用于统计命令执行所消耗的时间及相关系统资源等信息.time 可以显示的资源有四大项,分别是: Time resources Memory resources IO resour ...

  4. linux中jstack命令详解,Linux jstack命令详解

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...

  5. linux cd 命令详解,linux cd 命令详解

    下面为大家讲解Linux最常用的基本命令linux cd命令. 说linux cd命令是linux最常用的命令一点也不为过,我们几乎时时刻刻都需要使用这个命令. 在DOS下也有cd这个命令,他与lin ...

  6. Linux 认证考试:精解Linux find命令的使用linuxfindnam

    Linux认证考试:精解Linuxfind命令的使用 Linuxfind命令是用来查找文件时使用的命令,熟练使用这一命令可以帮助我们快速查找所需要的文件,分别可以有时间.用户组.文件权限以及附加操作参 ...

  7. linux下防火墙iptables用法规则详解

    linux下防火墙iptables用法规则详解 分享者: du52.com 邮件: wangaibo168@163.com 主页: http://www.du52.com linux下防火墙iptab ...

  8. linux命令的添加用户,Linux基础命令---添加用户useradd

    useradd 创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在"/etc/passwd"文件中.当不加-D参数,useradd指令使用命令列来指定新帐号 ...

  9. linux常用命令_干货:Linux常用命令全称及讲解

    从事IT行业的很多人都会使用Linux常用命令,但是知道这些常用命令全称的人并不多,让我们来看看这些常用命令对应的全称吧!小编精心整理了一下,毕竟常用命令比较多,如果没有你常用的还望海涵,可以评论区补 ...

最新文章

  1. 序列化的高阶认识-简单认识一下 Java 原生序列化
  2. js操作完的数值赋回html元素,JS的学习
  3. 好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界
  4. 一个账号,防止多设备登陆
  5. 一步一步打造MySQL高可用平台
  6. matlab中如何在图片上添加横竖线
  7. Python中的特殊方法、属性和迭代器
  8. Effective C# 学习笔记 (一)
  9. java中修改对象类的数据_Java中创建对象的六个步骤 细分后(new关键字)对象头详细介绍...
  10. listary提升开发效率
  11. Arduino(关于驱动步进电机的学习)
  12. linux编写多时区时间显示程序,Linux系统时区时间修改
  13. 【BZOJ2565】最长双回文串 Manacher
  14. html调用手机陀螺仪,前端基于THREE.js的3D全景,支持鼠标控制和手机陀螺仪的切换...
  15. spacedesk安装失败2503/2502错误
  16. 拥有一台云服务器如何安装宝塔面板(图文教程)
  17. 再谈数据安全:TCG Opal介绍
  18. uni-app 页面跳转
  19. vue下的@change事件
  20. 数字图像处理知识点梳理——第九章 形态学图像处理

热门文章

  1. IDEA提交的git账户和git登录的账户不一致2021.12.8
  2. Android Studio 使用Token登录Git
  3. Docker安装BookStack,打造属于您公司自己的开源wiki
  4. 黑马点评项目笔记(四)社交、附近人、数据统计功能实现
  5. java设计模式——创建型之建造者模式
  6. Linux的virbr0和ens33区别
  7. 台式电脑开机跳出来计算机,为什么台式电脑一开机就出现黑屏
  8. 前端工程师生产环境 debugger 技巧
  9. OpenCV图像运动模糊
  10. 如何正确的使用一条SQL删除重复数据