top工具是我们常用的一个查看工具,能实时的查看我们系统的一些关键信息的变化。

直接在终端下输入top后,会看到下图:

top命令结果.png

top 是一个在前台执行的程序,所以执行后便进入到上图的一个交互界面,正是因为交互界面我们才可以实时的获取到系统与进程的信息。在交互界面中我们可以通过一些指令来操作和筛选。在此之前我们先来了解显示了哪些信息。

top命令显示的第一行解释:

top 表示当前程序的名称

11:05:18 表示当前的系统的时间

up 8 days,17:12 表示该机器已经启动了多长时间

1 user 表示当前系统中只有一个用户

load average: 0.29,0.20,0.25 分别对应1、5、15分钟内cpu的平均负载。

load average参数解释:假设系统是单 CPU、单内核的,把系统比喻成是一条单向的桥,把CPU执行的任务比作汽车。

load = 0 的时候意味着这个桥上并没有车,cpu 没有任何任务;

load < 1 的时候意味着桥上的车并不多,一切都还是很流畅的,cpu 的任务并不多,资源还很充足;

load = 1 的时候就意味着桥已经被车给占满了,没有一点空隙,cpu 的已经在全力工作了,所有的资源都被用完了,当然还好,这还在能力范围之内,只是有点慢而已;

load > 1 的时候就意味着不仅仅是桥上已经被车占满了,就连桥外都被占满了,cpu 已经在全力工作,系统资源的用完了,但是还是有大量的进程在请求,在等待。若是这个值>2、>3,表示进程请求超过 CPU 工作能力的 2 到 3倍。而若是这个值 > 5 说明系统已经在超负荷运作了。

查看CPU的个数与核心数

查看物理CPU的个数

cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

每个CPU的核心数

cat /proc/cpuinfo |grep "physical id"|grep "0"|wc -l

通过上面的指数我们可以得知load的临界值为 1 ,但是在实际生活中,比较有经验的运维或者系统管理员会将临界值定为0.7。这里的指数都是除以核心数以后的值,不要混淆了。

若是 load < 0.7 并不会去关注它;

若是 0.7< load < 1 的时候我们就需要稍微关注一下了,虽然还可以应付但是这个值已经离临界不远了;

若是 load = 1 的时候我们就需要警惕了,因为这个时候已经没有更多的资源的了,已经在全力以赴了;

若是 load > 5 的时候系统已经快不行了,这个时候你需要加班解决问题了

top命令显示的第二行解释:

Tasks: 26 total 进程总数

1 running 1个正在运行的进程数

25 sleeping 25个睡眠的进程数

0 stopped 没有停止的进程数

0 zombie 没有僵尸进程数

top命令显示的第三行解释(这一行基本上是对CPU的一个使用情况的统计):

Cpu(s): 1.0%us 用户空间进程占用CPU百分比

1.0% sy 内核空间运行占用CPU百分比

0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比

97.9%id 空闲CPU百分比

0.0%wa 等待输入输出的CPU时间百分比

0.1%hi 硬中断(Hardware IRQ)占用CPU的百分比

0.0%si 软中断(Software IRQ)占用CPU的百分比

0.0%st (Steal time) 是 hypervisor 等虚拟服务中,虚拟 CPU 等待实际 CPU 的时间的百分比

CPU 利用率是对一个时间段内 CPU 使用状况的统计,通过这个指标可以看出在某一个时间段内 CPU 被占用的情况,而 Load Average 是 CPU 的 Load,它所包含的信息不是 CPU 的使用率状况,而是在一段时间内 CPU 正在处理以及等待 CPU 处理的进程数情况统计信息,这两个指标并不一样。

top命令显示的第四行解释:

8176740 total 物理内存总量

8032104 used 使用的物理内存总量

144636 free 空闲内存总量(注:系统中可用的物理内存最大值并不是 free 这个单一的值,而是 free + buffers + swap 中的 cached 的和)

313088 buffers 用作内核缓存的内存量

top命令显示的第五行解释:

total 交换区总量

used 使用的交换区总量

free 空闲交换区总量

cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖

top命令显示的第六行解释(进程的使用情况):

PID 进程id

USER 该进程的所属用户

PR 该进程执行的优先级 priority 值

NI 该进程的 nice 值

VIRT 该进程任务所使用的虚拟内存的总数

RES 该进程所使用的物理内存数,也称之为驻留内存数

SHR 该进程共享内存的大小

S 该进程进程的状态: S=sleep R=running Z=zombie

%CPU 该进程CPU的利用率

%MEM 该进程内存的利用率

TIME+ 该进程活跃的总时间

COMMAND 该进程运行的名字

NICE值叫做静态优先级,是用户空间的一个优先级值,其取值范围是-20至19。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。-20优先级最高,0是默认的值,而19优先级最低。

PR值表示Priority值叫动态优先级,是进程在内核中实际的优先级值,进程优先级的取值范围是通过一个宏定义的,这个宏的名称是MAX_PRIO,它的值为140。Linux实际上实现了140个优先级范围,取值范围是从 0-139,这个值越小,优先级越高。而这其中的0 - 99是实时进程的值,而100 - 139是给用户的。

top命令是一个前台程序,所以是一个可以交互的,常用交互命令如下:

top常用交互命令.png

linux下进程的管理,Linux下的进程之进程管理相关推荐

  1. 通过fork来剖析Linux内核的内存管理和进程管理(下)

    上一篇文章我们讲到fork的时候内存管理相关的内容,时间大概隔了快一周了,发布下篇文章,写文章确实费时费力,需要仔细推敲,原创不易,希望大家多多支持吧.本文讲解fork的时候进程管理相关的内容,主要讲 ...

  2. Linux的基本学习(十四)——进程管理(下)与SELinux

    Linux的基本学习(十四)--进程管理(下)与SELinux 前言 进程这部分内容真是不少,来,我们继续跟着鸟哥学习. 特殊文件与进程 具有SUID/SGID权限的命令执行状态 SUID的权限其实与 ...

  3. linux runable进程查询,关于Linux下进程的详解【进程查看与管理】

    一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以供进程使用,而数据结构则用来纪录每个进程的具体 ...

  4. Linux下用 lsof 命令查找指定端口被哪个进程占用

    lsof(list open files)是一个列出当前系统打开文件的工具.在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接 和硬件.所以如传输控制协 ...

  5. linux 文件夹换所属用户,Linux中账号管理之权限管理(下)

    linux中的账号管理我们在前面两张已经介绍了一些用户和组的相关概念,常用的配置文件,命令的使用.现在我们来看看账号管理中最傲娇的部分就是我们的权限管理. 一.简单介绍权限的概念 以install.l ...

  6. linux下进程监控6,Linux进程监控技术—精通软件性能测试与LoadRunner最佳实战(6)...

    8.2.5  Linux操作系统进程监控技术 Linux在进程监控方面同样出色,不仅可以通过图形用户界面的管理工具,还可以用命令方式显示进程相关信息.像"Windows的任务管理器" ...

  7. 常用的linux远程管理方法,常用windows下远程管理Linux服务器的方法

    常用windows下远程管理Linux服务器的方法 来源:互联网 作者:佚名 时间:2013-04-14 12:48 随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域 ...

  8. linux下进程调度算法实验,Linux下进程调度算法的模拟实现.doc

    Linux下进程调度算法的模拟实现 枣 庄 学 院 信息科学与工程学院课程设计任务书 题目: Linux下进程调度算法的模拟实现 学 生1: 学 生2: 学 生3: 专 业: 计算机应用技术 课 程: ...

  9. linux内存换算成b显示,Linux内存管理(下)

    Linux内存管理(下)物理内存管理(页管理) Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数4k(在i386体系结构中)大小页,从而分配和回收内存的基本单位便是内存页了.利用 ...

最新文章

  1. java model 中文乱码_Java解压zip 解决编码和中文乱码问题
  2. 网络接口配置-Bonding
  3. 《Leadership and the One Minute Manager》读书笔记之一
  4. Matlab中解决出现的错误使用 svmtrain (line 234) Y must be a vector or a character array.问题
  5. Winform中实现ZedGraph不显示y=0这条刻度线
  6. JavaScript 实现块级作用域
  7. SQL中Group By的用法整理
  8. 微积分和概率统计有什么用?用来表白呀!
  9. 高性能mysql看不懂_高性能mysql笔记1
  10. Vue将汉字转为拼音,取出首字母
  11. Ubuntu安装Hbase数据库
  12. 360环视TOP10供应商榜单发布!未来五年市场规模将超300亿元
  13. 登录页面加密token和盐的作用
  14. java解析HL7协议报文工具(v24版)
  15. mysql数据库熔断_服务熔断
  16. android4.4 fragment,在Activity和多个Fragment之间共享资源
  17. 第三方支付业务及典型的对账过程
  18. S5PV210开发 -- TTL和CMOS电平
  19. unity接入quick sdk报错总结(Andriod第二版)
  20. envi栅格图像镶嵌_envi图像镶嵌

热门文章

  1. 牛客网暑期ACM多校训练营(第四场) C Chiaki Sequence Reloaded
  2. 未来纽约 7500 个电话亭将悉数改为 Wi-Fi 热点
  3. 更明确的认识巨星mj
  4. 开源Markdown电子书制作工具,平替GitBook!
  5. windows装机常用软件
  6. 神犇营-26-最大数输出
  7. 通用旗下Cruise推迟年底前推出自动驾驶出租车服务计划
  8. Httpwatch安装包及安装步骤
  9. 【seo伴侣】7种简单的seo技术
  10. nexus是java的插件吗_nexus-staging-maven-plugin 踩坑