TOP

该命令会查看系统的各项指标情况

经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。

本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。

第一行:

10:08:45 — 当前系统时间

10 days, 3:05 — 系统已经运行了10天3小时5分钟(在这期间没有重启过)

1 users — 当前有1个用户登录系统

load average: 0.00, 0.00, 0.00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:

Tasks — 任务(进程),系统现在共有135个进程,其中处于运行中的有1个,134个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态

0.3% us — 用户空间占用CPU的百分比。

0.0% sy — 内核空间占用CPU的百分比。

0.0% ni — 改变过优先级的进程占用CPU的百分比

99.7% id — 空闲CPU百分比

0.0% wa — IO等待占用CPU的百分比

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

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

在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。

第四行:内存状态

3808060k total — 物理内存总量(4GB)

3660048k used — 使用中的内存总量(3.6GB)

148012k free — 空闲内存总量(148M)

359760k buffers — 缓存的内存量 (359M)

第五行:swap交换分区

4184924k total — 交换区总量(4G)

0k used — 使用的交换区总量(0M)

4184924k free — 空闲交换区总量(4G)

2483956k cached — 缓冲的交换区总量(2483M)

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:148M+259M+2483M = 2990M。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行是空行

第七行以下:各进程(任务)的状态监控

PID — 进程id

USER — 进程所有者

PR — 进程优先级

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

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

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

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

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

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

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

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

COMMAND — 进程名称(命令名/命令行)

查看docker容器的内存占用

使用docker stats命令可以查看容器的内存,但是有时候docker stats命令获得的数据可能准确,可以参考下面这种方式

使用docker ps可以查看到容器的id

再使用ps -ef 找到容器对应的进程

获得容器对应的pid后,就可以使用top、pmap、ps等查看进程内存的命令查看容器的内存占用情况了

top

top -p 5140

内容解释

PID:进程的ID

USER:进程所有者

PR:进程的优先级别,越小越优先被执行

NInice:值

VIRT:进程占用的虚拟内存

RES:进程占用的物理内存

SHR:进程使用的共享内存

S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

%CPU:进程占用CPU的使用率

%MEM:进程使用的物理内存和总内存的百分比

TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

COMMAND:进程启动命令名称

原文:https://www.cnblogs.com/pangjianxin/p/12706252.html

linux查看docker进程流量,linux中查看docker内存占用情况相关推荐

  1. linux 省内存的桌面,Linux_在Linux中可视化显示内存占用情况的方法,物理内存不足对Linux桌面系统 - phpStudy...

    在Linux中可视化显示内存占用情况的方法 物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境 ...

  2. linux 系统显示很大,在Linux中可视化显示内存占用情况的方法

    物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应 ...

  3. 查看Linux磁盘及内存占用情况

    查看磁盘使用情况: df -k:以KB为单位显示磁盘使用量和占用率 df -m:以Mb为单位显示磁盘使用量和占用率 df –help:查看更多df命令及使用方法 查看内存占用情况: 1.top PID ...

  4. linux查看服务器内存占用情况

    查看某个进程的占用内存情况(以'device_maintenance'为例) 1.查找进程号 ps -ef | grep 'device_maintenance' 或 ps -aux | grep ' ...

  5. Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...

  6. 什么是内存泄漏?Chrome浏览器中怎么查看内存占用情况?

    JavaScript,会在创建变量(对象,字符串等)时分配内存,并且在不再使用它们时"自动"释放内存,这个自动释放内存的过程称为垃圾回收. 因为自动垃圾回收机制的存在,让大多Jav ...

  7. Shell脚本和Python查看Nginx并发连接数、进程数和常驻内存占用情况

    Shell脚本查看Nginx并发连接数.进程数和常驻内存占用情况 http://xiaoyongxing1.blog.163.com/blog/static/642807522015144302240 ...

  8. 如何查看服务器资源占用情况,云服务器如何查看内存占用情况

    云服务器如何查看内存占用情况 发布时间:2020-05-26 15:28:18 来源:亿速云 阅读:508 作者:栢白 云服务器如何查看内存占用情况?云 我们以 Linux 云服务器为例,介绍几个常用 ...

  9. 检测指定进程的CPU和内存占用情况

    '检测指定进程的CPU和内存占用情况'vs2019 vb.net Dim Name = Process.GetCurrentProcess().ProcessNameDim cpuCounter = ...

  10. 查看LINUX进程内存占用情况 top pmap ps

    可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: (1)top top命令是Linux下常用的性能分析 ...

最新文章

  1. java之gui索引窗口_老白的JAVA课程14 GUI 窗口的设置
  2. python之父叫什么-Python之父谈Python的未来形式
  3. PHP-四种解析XML文件的方法
  4. 低精度神经网络:从数值计算角度优化模型效率
  5. JAVA重载和重写的区别?
  6. C#LeetCode刷题之#628-三个数的最大乘积( Maximum Product of Three Numbers)
  7. mysql常用sql总结_获取多个字段最大值最小值
  8. Web XR 混合现实浏览器
  9. z-index终结者
  10. windows10 查看端口占用
  11. 读书笔记 ---《偷影子的人》
  12. Numpy常用快捷指令
  13. android 远程控制服务,Android手机3389远程控制服务器 microsoft remote de
  14. 自定义配置log日志
  15. STM32笔记--SDIO(SD卡读取)
  16. hashCode:哈希值
  17. 计算机病毒恶搞程序,【图片】我写的恶搞软件【病毒吧】_百度贴吧
  18. Unity Shader 画网格
  19. react + antd pro 项目搭建及发布流程
  20. Unity3D内嵌html网页+通信

热门文章

  1. 数据命脉:未来将性命攸关
  2. 博为峰Java技术文章 ——JavaSE Swing JInternalFrame内部窗体面板II
  3. 【转】每天一个linux命令(11):nl命令
  4. css3 flex流动自适应响应式布局样式类
  5. TPM的R环境的安装和配置
  6. shell添加用户时设置密码脚本
  7. 接口 与 抽象类 区别
  8. 学习python第七天
  9. C++ Primer Plus 6 第一章
  10. python笔记之中缀语法和管道实现