您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

top命令详解:CPU,内存,进程信息统计

时间:2019-08-16 09:44:07  来源:  作者:

top的使用方法

top命令主要用于分析linux服务器当前的实时CPU和内存消耗情况,以及进程的运行情况统计。

命令使用:top ,具体top命令的使用方法和以下截图的各个信息的含义,可通过man top命令来查看。

其中比较常用的是:按1显示各个核的统计,使用-p参数指定所要监控的进程号。

top命令详解:CPU,内存,进程信息统计

 

从上到下分析:

系统整体负载统计

第一行:top - 11:32:29 up 109 days, 20:46, 1 user, load average: 0.24, 0.36, 0.44

11:32:29:当前服务器时间

up 109 days:服务器运行了多久

1 user:当前的登录用户数量

load average: 0.24, 0.36, 0.44系统1分钟,5分钟,15分钟的负载统计,这个数字在单核和多核之间是存在差别的,

(1)如果是单核,则值在0.0~1.0之间表示正常,一般不要超过0.7,多核类似。

(2)如果是多核,则值在0.0~CPU核心数表示正常,如2核是0到2,4核是0到4。多核参照单核的标准的话,是:数值 / CPU核数,在0.00-1.00之间正常。当使用这个数值除以CPU核数,即:数值 / CPU核数,之后,如果大于5则表示系统负载太高。

CPU的核心数查看:

查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l

查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc –l

查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq

查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq

直接获得CPU核心数 (该命令即可全部算出多少核)
#grep 'model name' /proc/cpuinfo | wc -l

第二行:Tasks: 113 total, 2 running, 111 sleeping, 0 stopped, 0 zombie

113 total:当前系统一共有113个进程

2 running:2个进程正在运行

111 sleeping:111个进程在休眠

0 stopped:停止进程的个数

0 zombie:僵尸进程的个数

CPU的各个核统计

第三、四行:两个CPU核的统计信息

Cpu0 : 27.2%us, 16.4%sy, 0.0%ni, 46.0%id, 0.0%wa, 0.0%hi, 3.7%si, 6.7%st

Cpu1 : 20.2%us, 12.8%sy, 0.0%ni, 55.9%id, 0.0%wa, 0.0%hi, 3.7%si, 7.4%st

  1. us:用户空间进程所用CPU占比
  2. sy:系统空间进程所用CPU占比
  3. ni:调整了进程优先级的进程所用CPU占比
  4. id:空闲CPU占比
  5. wa:等待输入输出的进程所用CPU占比
  6. hi:硬中断所用CPU占比si软中断所用CPU占比

内存和交换分区统计

第五行:Mem: 5991036k total, 5878620k used, 112416k free, 39464k buffers

  1. total:物理内存总量
  2. used:已使用的物理内存量
  3. free:空闲的物理内存量
  4. buffers:用作内核缓存的内存量,即内核页缓存,操作系统尽可能地将从磁盘读出的内容或者要写到磁盘的内容通过页缓存来进行缓冲,在规定的时间或者当缓存到达一定量时,再刷到磁盘,减少磁盘的读写操作,提高系统性能。

第六行:Swap: 4194300k total, 51312k used, 4142988k free, 1663552k cached

  1. total:交换分区总大小,即分了多少磁盘用作交换分区
  2. used:已使用的交换分区总量
  3. free:空闲的交换分区量
  4. cached:缓冲的交换分区使用量,即内存的内容可以交换到交换分区,然后再从交换分区加载会内存,加载回之后,交换分区对应的内容不删掉,而是缓冲起来,故之后内存内容再交换出来时,如果该内容没有修改过,则不需要再对交换分区进行写出,减少数据读写量。当交换分区不够时,则可以删除该缓冲的内容来腾出空间。

对于当前的可用内存量 为:free + buffers + cached

进程统计

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
 8960 root 20 0 4437m 1.2g 5888 S 56.6 20.8 46006:20 JAVA 
26114 root 20 0 4709m 2.3g 8400 S 26.4 40.0 2379:41 java 
15076 root 20 0 2790m 110m 2332 S 4.5 1.9 4633:09 java 
  1. PID:进程ID
  2. USER:进程的owner,即是在以该用户登录的身份时启动的。
  3. PR NI:进程优先级,其中PR为整数,NI为负数,绝对值越大,进程优先级越高。
  4. VIRT:进程的虚拟内存大小,VIRT = RES + SHR,即进程申请了多少内存,但是不一定使用了这么多,具体使用了多少物理内存是RES显示的。
  5. RES:进程所用的实际物理内存大小,即进程实际使用了多少物理内存,包含进程自身的内存和与其他进程共享的内存,但不包括swap out的。在分析进程是否占用太多内存时,关注这个值。
  6. SHR:进程所用的共享内存大小,如共享库,如果需要知道该进程自身独立使用的内存大小,则使用RES-SHR。当共享内存swap out到交换分区之后,则SHR的值会减小。
  7. S:进程状态,对应的值:D = 不可中断的睡眠状态, R = 运行, S = 睡眠, T = 跟踪/停止, Z=僵尸进程
  8. %CPU:上次更新到现在所使用的CPU的占比,即该进程在各个CPU核运行的占比相加,如果是多核,可能超过100%
  9. %MEM:进程所用的物理内存占比,即对于系统正在被使用的物理内存中,该进程使用了多少,如系统物理内存重量为8G,当前共使用了2G,当前进程为30%,则该进程使用了0.6G。
  10. TIME+:进程运行了多久,这个是百秒为单位,即需要乘以100来转为秒,另外一个TIME则是秒为单位。
  11. COMMAND:进程的启动命令,如Java进程是通过java命令启动的。


Tags:top命令   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在linux系统中,我们经常使用到的一个命令就是top,它主要是用来显示系统运行中所有的进程和进程对应资源的使用等信息,所有的用户都可以使用top命令。top命令内容量丰富,可令使用...【详细内容】
2021-03-22  Tags: top命令  点击:(391)  评论:(0)  加入收藏
iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统...【详细内容】
2019-12-05  Tags: top命令  点击:(189)  评论:(0)  加入收藏
top基本应该是我们在linux下使用最多的命令了,排查问题都要先top一下看看。但是你真的会用top吗?这里整理了几个优秀的top快捷键,一定会让你效率加倍1,详细显示command按下小写c...【详细内容】
2019-12-04  Tags: top命令  点击:(118)  评论:(0)  加入收藏
top的使用方法top命令主要用于分析Linux服务器当前的实时CPU和内存消耗情况,以及进程的运行情况统计。命令使用:top ,具体top命令的使用方法和以下截图的各个信息的含义,可通过m...【详细内容】
2019-08-16  Tags: top命令  点击:(260)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(41)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条