linux学习之top命令详解

参考文章 https://blog.csdn.net/langzi6/article/details/124805024

top

第一行:运行时长,负载

top - 10:04:54 up 474 days, 22:16,  2 users,  load average: 2.07, 1.60, 0.94

top - 10:04:54:当前时间。
up 474 days, 22:16:系统已经运行的时长。
2 users:当前有2个用户登录到系统上。
load average: 2.07, 1.60, 0.94:系统在过去1分钟、5分钟和15分钟内的平均负载值。

这里具体需要关注的还是load average三个数值。先来说说定义吧:在一段时间内,CPU正在处理以及等待CPU处理的进程数之和。三个数字分别代表了1分钟,5分钟,15分钟的统计值,这个数值的确能反应服务器的负载情况。但是,这个数值高了也并不能直接代表这台机器的性能有问题,可能是因为正在进行CPU密集型的计算,也有可能是因为I/O问题导致运行队列堵了。所以,当我们看到这个数值飙升的时候,还得具体问题具体分析。大家都知道,一个CPU在一个时间片里面只能运行一个进程,CPU核数的多少直接影响到这台机器在同时间能运行的进程数。所以一般来说Load Average的数值别超过这台机器的总核数,就基本没啥问题。

我这台机器是16核32线程 

 第二行:任务列表

Tasks: 394 total,   2 running, 392 sleeping,   0 stopped,   0 zombie

Tasks:总共有393个进程。
running:其中有2个进程正在运行。
sleeping:有391个进程睡眠。
stopped:没有任何进程被停止。
zombie:没有任何僵死进程(Zombie Process)。

第三行:CPU使用情况

%Cpu(s):  3.8 us,  0.6 sy,  0.0 ni, 95.5 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st

%Cpu(s):指示各种CPU时间的使用百分比。
us:用户空间占比。(像shell程序、各种语言的编译器、各种应用、web服务器和各种桌面应用都算是运行在用户地址空间的进程,这些程序如果不是处于idle状态,那么绝大多数的CPU时间都是运行在用户态)
sy:内核空间占比。所有进程要使用的系统资源都是由Linux内核处理的,对于操作系统的设计来说,消耗在内核态的时间应该是越少越好,在实践中有一类典型的情况会使sy变大,那就是大量的IO操作,因此在调查IO相关的问题时需要着重关注它)
ni:用于调整进程优先级的用户进程空间占用率 (nice value) 。 0%
id:表示CPU空闲的时间占比。95.5%
wa:表示等待IO操作的时间占比。(和CPU的处理速度相比,磁盘IO操作是非常慢的,有很多这样的操作,比如,CPU在启动一个磁盘读写操作后,需要等待磁盘读写操作的结果。在磁盘读写操作完成前,CPU只能处于空闲状态。Linux系统在计算系统平均负载时会把CPU等待IO操作的时间也计算进去,所以在我们看到系统平均负载过高时,可以通过wa来判断系统的性能瓶颈是不是过多的IO操作造成的)
hi:表示硬中断请求的时间占比。
si:表示软中断请求的时间占比。 0.1%
st:如果为假,则没有任何虚拟机需要被置换。 如果为真,则某些虚拟机被压缩。

第四五行:内存使用情况

KiB Mem : 12944240+total, 54553152 free, 18052124 used, 56837132 buff/cache

KiB Swap:        0 total,        0 free,        0 used. 10732576+avail Mem 

和free -m对比看下
                    total            used          free      shared  buff/cache   available
Mem:         126408       18266       52625         442       55516      107342
Swap:             0           0           0

MiB Mem:显示物理内存的使用情况。
total:总物理内存。12944240kb  126408MB=129441792kb=123G
free:空闲物理内存。54553152kb  52625MB=53888000kb
used:已使用的物理内存。 反正大差不差。
buff/cache:被高速缓存使用的内存量。
MiB Swap:显示交换分区的使用情况。
total:总交换分区大小。
free:空闲交换分区大小。
used:已使用的交换分区大小。
avail Mem:剩余可用内存。

第四第五行分别是内存信息和swap信息,所有程序的运行都是在内存中进行的,所以内存的性能对与服务器来说非常重要。不过当内存的free变少的时候,其实我们并不需要太紧张。真正需要看的是Swap中的used信息。Swap分区是由硬盘提供的交换区,当物理内存不够用的时候,操作系统才会把暂时不用的数据放到Swap中。所以当这个数值变高的时候,说明内存是真的不够用了

这句话尤其注意,刚好今天抖音看了一个生产案例,就是说应用程序每次fullgc需要20s,之前不管他,后来发现越来越频繁一周好几次fullgc,发现每次fullgc的时候swap区的内存会减少,说明之前应用内存不够了,直接把一些数据存放到swap,在fullgc的时候需要清楚swap区的数据会浪费很多时间,后来他禁用了swap区,fullgc直接就降到100ms了。

第六行包括后续 进程列表:

PID:进程ID号。
USER:进程所有者的用户名。 --看是哪个用户启动的,看着有点用
PR:进程优先级。 --没啥用
NI:进程的nice值,用于调整进程的优先级。--没啥用
VIRT:进程占用的虚拟内存大小。 --有用
RES:进程占用的物理内存的大小。-- 有用
SHR:共享内存大小。
S:进程状态 (D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程)。
%CPU:该进程当前占用CPU的时间百分比。
%MEM:该进程占用物理内存的百分比。
TIME+:该进程占用CPU的总时间。
COMMAND:命令名称和参数。

以第一条

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND           
 2695 kudu      20   0 4523184 1.206g  24900 S  40.0  1.0  77725:46 kudu-tserver

pid=2695  用户是kudu  进程优先级是20 NI是0 

虚拟内存VIRT=4523184kb=4.3g

物理内存RES=1.2G

共享内存=24MB

进程当前占用cpu的时间比为40%

进程占用内存的百分比为1.0%

该进程占用cpu的总时间是77725分钟46s

使用命令是kudu-tserver

上面是基础,大致了解了top命令各自代表的是啥,下面稍微深入一下如何使用top命令。

3.1. 更改显示内容

top之后我们按f可以自定义显示内容。比如这两个优先级有啥用啊,一辈子可能都用不到。 

 top后按F 出现以下页面 说明目前是按照cpu排序的,我不想看优先级,还想看下ppid

这里也说了使用方法,按d或空格去选择或取消指定展示列,按s去排序,按q或esc

 最后我们设置好了

3.2、top常用参数

要看使用方法少不了-h

(base) [devuser@cdp-node13 ~]$ top -help
  procps-ng version 3.3.10
Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

说实话这个-h也很垃圾,直接看别人博客吧。

-d    指定每两次屏幕信息刷新之间的时间间隔,如希望每秒刷新一次,则使用:top -d 1
-p    通过指定PID来仅仅监控某个进程的状态 top -p pid1 -p pid2
-S    指定累计模式
-s    使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
-i    使top不显示任何闲置或者僵死的进程
-c    显示整个命令行而不只是显示命令名 这个还挺有用的
例如:

top   每隔3秒显式所有进程的资源占用情况
top -d 1  每隔1秒显式所有进程的资源占用情况
top -c    每隔3秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 28820 -p 38830   每隔3秒显示pid是28820和pid是38830的两个进程的资源占用情况
top -d 2 -c -p 69358  每隔2秒显示pid是69358的进程的资源使用情况,并显式该进程启动的命令行

3.3、top的交互命令

【1】敲top后,按键盘数字“1”可以监控每个逻辑CPU的状况:

【2】敲top后,输入u,然后输入用户名,则可以查看相应的用户进程;

 

 【3】敲top后,top命令默认以K为单位显示内存大小,我们可以通过大写字母E来切换内存信息区域的显示单位,如下按一下E切换到MB,再按以下切换到GB

默认kb

 按一下E切换的MB

 按两下E切换到GB

【4】敲top后,输入h进入top命令的帮助文档,了解更多关于top的用法。

好吧 我还以为top -h就可以了。原来是我狭隘了。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352999.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

5年开发经验,看完这份37W字Java高性能架构,终于拿到架构师薪资

其实现在很多的开发人员并不能解决从架构的角度全方位地了解在Java编程过程中各阶段会出现的典型问题,更没办法深入到底层原理了解问题出现的原因! 且随着当下面试越来越深入到底层,如果大家对于底层的原理不了解的话,是很难做出…

学***-抓肉机

一、 学***,抓肉机---环境搭建篇 内容&#xff1a; 【1】***! 我们究竟需要怎样的环境&#xff1f;(可选择的环境->最大程度上利于***的环境) <a>可选择的操作系统&#xff1a; Windows NT/2000(Pro&Server&Advanced Server)/XP(Pro&Home)/2003/vista <…

1. 安全测试法规和专业术语介绍

网络安全法 《中华人民共和国网络安全法》是为保障网络安全&#xff0c;维护网络空间主权和国家安全、社会公共利益&#xff0c;保护公民、法人和其他组织的合法权益&#xff0c;促进经济社会信息化健康发展而制定的法律。 《中华人民共和国网络安全法》由中华人民共和国第十二…

暴力破解全攻略

1. 压缩文件的暴力破解(zip ,rar )。 2. excel加密文件的破解。 3. MSF对Metasploitable2-Linux的服务暴力破解。 (ftp,ssh,telnet,mysql,postgresql,vnc) 4. hydra工具暴力破解。 5. 使用Medusa暴力破解。 6. windows下3389,21,3306,5900爆破。 7. PkavHTTP Fuzze…

【黑客】入门路线及学习方法,工具小子起步,零基础可学,建议收藏

&#xff08;图片源于网络&#xff0c;侵删&#xff09; 分享一个【黑客】入门学习的路线及方法 1学习路线 1、【黑客】术语基础(学习一个月)&#xff1a;主要把一些常用【黑客】术语搞清楚&#xff0c;比如什么叫木马&#xff0c;什么叫病毒&#xff0c;什么叫肉鸡&#xf…

内网渗透工具

一、内网渗透常见知识讲解 网络环境问题&#xff1a; 内外网简单判断 内网渗透中常见的几个问题有哪些呢&#xff1f; 防火墙穿透、木马免杀穿透、内网信息收集及定位。 内网渗透的一些工具和平台 渗透测试平台类&#xff1a; Metasploit Cobalt Strike Empire empure…

软件测试面试怎样介绍自己的测试项目?会问到什么程度?

想知道面试时该怎样介绍测试项目&#xff1f;会问到什么程度&#xff1f;那就需要换位思考&#xff0c;思考HR在这个环节想知道什么。 HR在该环节普遍想获得的情报主要是下面这2个方面&#xff1a; 1&#xff09;应聘者的具体经验和技术能力&#xff0c; 2&#xff09;应聘者的…

深度学习基础知识-tf.keras实例:衣物图像多分类分类器

参考书籍&#xff1a;《Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition (Aurelien Geron [Gron, Aurlien])》 本次使用的数据集是tf.keras.datasets.fashion_mnist&#xff0c;里面包含6w张图&#xff0c;涵盖10个分类。 import tensorflo…

国内顶尖团队的开源地址

open_source_team 项目地址&#xff1a;niezhiyang/open_source_team 简介&#xff1a;国内顶尖团队的开源地址 更多&#xff1a;作者 提 Bug 标签&#xff1a; 开源项目- 概述 想跟着大神走吗,想学习大神的步伐吗,想使自己的项目变得简单吗,那就看一看个大公司团…

产业互联网时代,公有云还受欢迎吗?

如今各行各业&#xff0c;言必称“产业互联网”&#xff0c;这既有国家政策层面的推动&#xff0c;又有互联网、传统企业转型的需要。而云计算则是“产业互联网”的底层驱动器。 在云计算的发展历史中&#xff0c;公有云曾主导整个市场&#xff1b;而在产业互联网时代&#xff…

详解自动化运维平台的构建过程

2013年&#xff0c;我加入了聚美优品&#xff0c;当时成都团队仅有四五个人&#xff0c;负责一些辅助系统的日常运维&#xff0c;比如查查日志等。随着公司规模逐渐的扩大&#xff0c;一些重要的业务往成都迁移&#xff0c;这对成都团队是一个非常大的挑战。业务部署最开始是手…

写了4年博客,我终于也出了一本书。

缘起 很多早期关注过我的朋友们或许知道&#xff0c;我是从2015年开始写博客的&#xff0c;到现在也坚持了4年多的时间。 最近看了一下自己的博客发文记录&#xff0c;共发表了369篇文章&#xff0c;平均每4天发表一篇。个人博客阅读量达到了300万&#xff0c;这还不算我发表到…

细节真的决定成败吗

肯定很多人都听过“细节决定成败”&#xff0c;百度百科的版本是这句话最初来自一个小故事“丢失了一个钉子&#xff0c;坏了一只蹄铁&#xff1b;坏了一只蹄铁&#xff0c;折了一匹战马&#xff1b;折了一匹战马&#xff0c;伤了一位国王&#xff1b;伤了一位国王&#xff0c;…

拼多多的正品险是个假保险?

假货&#xff0c;一直是萦绕在电商平台头顶上的噩梦。二十年来&#xff0c;无数电商平台在此折戟沉沙&#xff0c;比如红极一时的聚美优品&#xff0c;CEO陈欧如今靠直播吸引人气。 杜绝假货&#xff0c;就是电商平台的“珠穆朗玛峰”。十几年的坚持和努力&#xff0c;无数“假…

聚美优品云平台实践

当下Kubernetes事实上已成为容器届编排的标准&#xff0c;但对于围绕容器构建的周边生态却是各有千秋。聚美优品云平台项目从2017初开始调研到现在落地推广也有快两年的时间&#xff0c;虽然享受到了Kubernetes对容器标准化操作的红利&#xff0c;但实际上在推进过程中&#xf…

(0.50mm)TF31-4S-0.5SH 4 位置 FFC,FPC 连接器、G846A10221T4EU(1.0MM)矩形连接器 互连器件

TF31-4S-0.5SH &#xff08;0.50mm&#xff09;脚距前开盖式FFC/FPC连接器的安装深度为5.7mm&#xff0c;可最大限度地节省电路板空间&#xff0c;并能够自动放置电路板。Hirose Electric TF31连接器具有高FPC保持力&#xff08;采用FPC侧拉手设计&#xff09;&#xff0c;易于…

形容谣言的四字词语_形容谣言的四字成语

形容谣言的四字成语以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 1. 中国20世纪的一位大作家说的 是余秋雨“谈中国文化弊病”说的。 造谣无责,传谣无阻;中谣无助,辟谣无路;驳谣无效,破谣无趣;老谣方去,…

以太坊是匿名化的影子银行?将如何适应并影响传统金融?

以太坊经常被描述为传统金融权力的对立面。实际上&#xff0c;以太坊的目标并不是去颠覆传统金融领域&#xff0c;而试图去补充和改善它。未来&#xff0c;这两个系统将会有更多的交集。 多极世界中的中立性 以太坊并不是一种隐形的货币替代品和匿名的影子银行&#xff0c;目前…

四、初探[ElasticSearch]集群架构原理与搜索技术

目录 一、浅析Elasticsearch架构原理1.Elasticsearch的节点类型1.1 Master节点1.2DataNode节点 二、分片和副本机制2.1分片2.2副本2.3指定分片、副本数量2.4查看分片、主分片、副本分片 三、Elasticsearch工作流程3.1Elasticsearch文档写入原理3.2Elasticsearch检索原理 四、El…

服务器修改合作模式,饥荒的服务器合作模式 | 手游网游页游攻略大全

发布时间&#xff1a;2015-11-21 合作模式专家难度 第一:FPS游戏的硬件基础 1.一个能帮你准确分辨声音方向的耳机.某些人,队友不在他的视线内被HUNTER扑了,SMOKER拉了,他浑然不知还津津乐道地打他前面的僵尸(特殊僵尸出 ... 标签&#xff1a; 生存之旅 发布时间&#xff1a;201…