优化命令之top——实时显示进程动态/查看进程信息
目录
一:top简介
二:启动TOP
2.1第一行含义
2.2第二行含义
2.3第三行含义
2.4第四行含义
2.5第五行含义
2.6第六行含义
三:top常用按键
3.1按 Z 键更改输出的颜色。我发现这让输出更容易被眼睛看到
3.2 按1键可查看系统上每个 CPU 内核的图形表示。反复按1以评估 CPU 内核的内核统计信息
3.3P 键:根据CPU使用百分比大小进行排序
3.4M 键:根据驻留内存大小进行排序
3.5N 键:根据启动时间进行排序
3.6c键:切换显示命令名称和完整命令行
3.7h 键:可以获得 top程序的在线帮助信息
3.8k 键:根据提示输入指定进程的 PID 号并按 Enter 键终止对应的进程
3.9q 键:退出 top 程序
四:top参数及有用的top选项
4.1如果只查找由特定用户启动的进程,则可以使用以下 -u 选项获取该信息
4.2要获取系统上的空闲进程列表,请使用以下 -i 选项
4.3更新间隔设置为以秒为单位的任意值。默认值为 3 秒。像这样将其更改为 5
4.4用 top 定位一个进程
4.5扩展参数
五:一些关于top命令的实用案例
5.1获取要监控的本地服务器ip地址
5.2获取用户空间占用CPU百分比
5.3获取内核空间占用CPU百分比
5.4获取空闲CPU百分比
5.5获取等待输入输出占CPU百分比
5.6用stress进行压力测试
5.7用dd if压力测试,查看内存的使用率
六:htop
6.1安装htop
6.2htop主要有三个部分
6.3htop linux进程监控
6.4atop
6.5nmon
一:top简介
当我检查 Linux 系统(或者甚至对运行其他操作系统的计算机进行故障排除)时,我经常使用 top 命令来检查系统的 RAM 和 CPU 占用率。它为我提供了评估计算机整体健康状况的信息。我在 Linux 之旅的早期就了解了 top 命令,并依靠它让我快速了解服务器或其他 Linux 系统(包括 Raspberry Pi)上正在发生的事情。但 top 命令远比人们看到的要复杂得多。根据其手册页,top 程序提供了正在运行的系统的动态实时视图。它可以显示系统摘要信息以及当前由 Linux 内核管理的进程或线程列表
二:启动TOP
2.1第一行含义
top:当前系统时间
up:系统已经运行的时间
users:当前登录用户
load average:系统平均负载 每1分钟 5分钟 15分钟
2.2第二行含义
total:进程总数
running:正在运行的进程
sleeping:处于睡眠的进程
stopped:终止的进程数
zombie:僵尸进程数
2.3第三行含义
%cpu(s):cpu占用
us:用户空间占用cpu%
sy:内核空间占用cpu%
ni:用户进程空间内改变优先级的进程占用cpu%
id:空闲cpu%
wa:等待输入输出的cpu时间%
hi:硬中断占用
si:软中断占用
st:虚拟化占用
2.4第四行含义
KiB Mem:内存占用
total:物理内存总量
free:空闲内存总量
used:已使用的物理内存总量
buff/cache:内核缓存的内存量
2.5第五行含义
KiB Swap:交换空间占用
total:交换区总量
free:空闲交换区总量
used:已使用的交换区总量
avail Mem:缓冲的交换区总量
2.6第六行含义
PID:进程id
USER:进程所有者的用户名
PR:优先级
NI:谦让度值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb
RES:进程使用的物理内存大小,单位kb
SHR:共享内存大小,单位kb
S:进程状态
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND :命令名/命令行
三:top常用按键
3.1按 Z 键更改输出的颜色。我发现这让输出更容易被眼睛看到
3.2 按1键可查看系统上每个 CPU 内核的图形表示。反复按1以评估 CPU 内核的内核统计信息
3.3P 键:根据CPU使用百分比大小进行排序
3.4M 键:根据驻留内存大小进行排序
3.5N 键:根据启动时间进行排序
3.6c键:切换显示命令名称和完整命令行
3.7h 键:可以获得 top程序的在线帮助信息
3.8k 键:根据提示输入指定进程的 PID 号并按 Enter 键终止对应的进程
3.9q 键:退出 top 程序
四:top参数及有用的top选项
top -d:number代表秒数 默认5秒 刷新一次top -b:以批次的方式执行toptop -b: ‘批量模式’,用来将输出重定向到指定文件,一般配合-n 指定输出几次统计信息
[root@localhost ~]# top -n 3 -b > /tmp/top.tmptop -c: 显示产生进程的完成命令top -p: 指定pid 多个pid以‘逗号’分开,只显示指定pid进程的状态top -i:获取系统上的空闲进程列表top -n 3:将会在刷新输出3次后退出
4.1如果只查找由特定用户启动的进程,则可以使用以下 -u 选项获取该信息
4.2要获取系统上的空闲进程列表,请使用以下 -i 选项
4.3更新间隔设置为以秒为单位的任意值。默认值为 3 秒。像这样将其更改为 5
4.4用 top 定位一个进程
按Shift+l 按名称查找进程。这会在粗体表标题行上方创建1一个提示。输入您要查找的进程的名称,然后按Enter或Return以查看在新排序的进程列表中高亮显示该进程的实例
4.5扩展参数
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM进程使用的可用物理内存百分比。
TIME+任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND运行进程所使用的命令。还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。
2. 交互命令我们之前说过top是一个交互命令。上一节我们已经遇到了一些命令。这里我们会探索更多的命令。2.1 ‘h’: 帮助首先,我们可以用'h'或者'?'显示交互命令的帮助菜单。 2.2 ‘’ 或者 ‘’: 刷新显示top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。2.3 ‘A’: 切换交替显示模式这个命令在全屏和交替模式间切换。在交替模式下会显示4个窗口(译注:分别关注不同的字段):Def (默认字段组)Job (任务字段组)Mem (内存字段组)Usr (用户字段组)这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗 口是当前窗口。当前窗口的名称显示在左上方。(译注:只有当前窗口才会接受你键盘交互命令) 我们可以用'a'和'w'在4个 窗口间切换。'a'移到后一个窗口,'w'移到前一个窗口。用'g'命令你 可以输入一个数字来选择当前窗口。 2.4 ‘B’: 触发粗体显示一些重要信息会以加粗字体显示。这个命令可以切换粗体显示。 2.5 ‘d’ 或‘s’: 设置显示的刷新间隔当按下'd'或's'时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你 这里输入了1,top将会每秒刷新。 2.6 ‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示这会相应地切换顶部的平均负载、任务/CPU状态和内存信息的概况显示。 2.7 ‘f’: 字段管理用于选择你想要显示的字段。用'*'标记的是已选择的。 上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。按'<'移动已排序的字段到左边,'>'则移动到右边。2.8 ‘R’: 反向排序切换反向/常规排序。2.9 ‘c’: 触发命令切换是否显示进程启动时的完整路径和程序名。 2.10 ‘i’: 空闲任务切换显示空闲任务。 2.11 ‘V’: 树视图切换树视图。 2.12 ‘Z’: 改变配色按下'Z'向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。 下面显示的是4中颜色显示的top视图。 2.13 ‘z’: 切换彩色显示切换彩色,即打开或关闭彩色显示。2.14 ‘x’ 或者 ‘y’切换高亮信息:'x'将排序字段高亮显示(纵列);'y'将运行进程高亮显示(横行)。依赖于你的显示 设置,你可能需要让输出彩色来看到这些高亮。 2.15 ‘u’: 特定用户的进程显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。 2.16 ‘n’ 或 ‘#’: 任务的数量设置最大显示的任务数量 2.17 ‘k’: 结束任务top命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。 2.18 ‘r’: 重新设置优先级重新设置一个任务的调度优先级。
3. 命令行选项这些命令行选项与上面讨论的命令大多相同。top的输出可以用命令交互操作,但是你也可以带参 数运行top来设置你想要的效果。3.1 -b: 批处理模式-b选项以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。3.2 -c: 命令/程序名 触发如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路 径)。3.3 -d: 设置延迟间隔设置top的显示间隔(以秒计)。比如。$ top -d 1将会以1秒的刷新间隔启动top。3.4 -i: 切换显示空闲进程这个选项设置top命令的上一次记住的相反的'i'状态。3.5 -n: 设置迭代数量用-n选项,你可以设置top退出前迭代的次数。$ top -n 3将会在刷新输出3次后退出。3.6 -p: 监控特定的PID你可以用-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。3.7 -u 或 -U: 用户名 或者 UID可以用这些选项浏览
五:一些关于top命令的实用案例
5.1获取要监控的本地服务器ip地址
ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'
5.2获取用户空间占用CPU百分比
top -b -n 1 | grep Cpu | awk '{print $2}' | cut -f 1 -d "%"
5.3获取内核空间占用CPU百分比
top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"
5.4获取空闲CPU百分比
top -b -n 1 |grep "%Cpu" |awk -F" " '{print $8}'
5.5获取等待输入输出占CPU百分比
top -b -n 1 | grep "%Cpu" | awk -F" " '{print $10}'
5.6用stress进行压力测试
stress --cpu 2 --timeout 600
对2个cpu增压,持续时间600s
解决方法:杀掉相关进程
5.7用dd if压力测试,查看内存的使用率
测试前,查看cpu和内存使用率
模拟持续输入文件,测试CPU和内存的抗压能力
压力测试后,CPU和内存的使用率
找到CPU占用率较高的进程并终止(可以在top操作界面中按k键,然后在列表上方将会出现"PID to signal/kill [default pid =56779]:”的提示信息,根据提示输入指定进程的 PID 号并按 Enter 键,出现"send pid 14195signal [15/sigterm]"的二次确认的提示信息,然后按Enter键确认即可终止对应的进程。)
查看,发现内存已占满
查看磁盘占用空间,寻找出问题文件夹
删除问题文件
解决问题后,再次查看cpu和内存的使用率,恢复正常
六:htop
htop是 Linux/类 Unix 系统的交互式实时进程监控应用程序,也是top 命令的便捷替代品, top 命令是所有 Linux 操作系统上预装的默认进程监控工具
Htop还有许多其他用户友好的功能,这些功能在top 命令下不可用,它们是:
- 在 htop 中,可以垂直滚动查看完整进程列表,水平滚动查看完整命令行。
- 与top相比,它启动得非常快, 因为它在启动期间不等待获取数据。
- 在 htop 中,您可以一次杀死多个进程而无需插入其 PID。
- 在 htop 中,您不再需要输入进程号或优先级值来重新优化进程。
- 按“e”打印进程的环境变量集。使用鼠标选择列表项
6.1安装htop
yum install -y epel-release
yum install htop
或者编译安装
wget-Ohtop-3.0.5.tar.gz https://github.com/htop-dev/htop/archive/refs/tags/3.0.5.tar.gz
tar xvfvz htop-3.0.5.tar.gz
cd htop-3.0.5/./configuremakemake install
6.2htop主要有三个部分
标题,我们可以在其中看到CPU、内存Memory、交换Swap等信息,还显示任务Tasks, 平均负载load average和正常运行时间Uptime。
按CPU利用率排序的进程列表。
页脚显示了不同的选项,如help、setup、filter tree kill、nice、quit等
6.3htop linux进程监控
按F2或S进入设置菜单 > 有四列,即设置Setup、左列Left Column、右列Right Column和可用仪表Available Meters。
在这里,您可以配置打印在窗口顶部的仪表、设置各种显示选项、在颜色模式中进行选择以及选择以何种顺序打印哪些列
6.4atop
atop 正在运行的进程或以前正在运行进程的详细信息它还支持永久记录资源利用率
yum install atop -y
参数:
在atop的展示页面也可以输入m(内存)、p(进程)、u(用户)、d(磁盘)、c(进程运行的代码)、v(线程) 进行页面切换
Launch with average-per-second total values以平均每秒总值启动:atop -1Launch with active processes only仅使用活动进程启动:atop -aLaunch with command line per process每个进程用命令行启动:atop -cLaunch with disk info 使用磁盘信息启动:atop -dLaunch with memory info使用内存信息启动:atop -mLaunch with network info使用网络信息启动:atop -nLaunch with scheduling info使用计划信息启动:atop -sLaunch with various info (ppid, user, time)发布各种信息(ppid、用户、时间):atop -vLaunch with individual threads使用单个线程启动:atop -y
6.5nmon
以控制分解信息并根据需要逐一显示(切换)信息
yum install nmon -y
优化命令之top——实时显示进程动态/查看进程信息相关推荐
- linux监测系统动态的进程状态命令,Linux命令:动态查看进程的变化(top)!
top:动态查看进程的变化. -d 后面可以接秒数,就是整个进程界面更新的秒数,默认是5秒. -p 指定某些个PID来进程查看监测而已. 在top执行过程当中可以使用的按键命令: P 以CPU的使用 ...
- Linux:系统进程---->查看命令【ps:静态查看进程】【top:动态查看进程】
一.静态查看进程 在使用Linux系统的时候,我们时常要查看系统进程情况,主要是了解进程的PID.状态.内存分配.CPU和已经花费的时间以及运行该进程的用户ID. ps命令常被用来静态查看进程,在这里 ...
- linux top命令 动态查看进程详解
文章目录 linux top命令 动态查看进程详解以及使用方法 top命令的输出,可分为上下两个部分 上面部分:整个系统的资源的使用状态 下面部分:单个进程的资源使用状态 上面部分详解: 第一行:由三 ...
- linux命令top查看进程,linux 查看进程的命令(top)
标签:top 操作系统支持多任务并不是计算机同时做很多事情,而是快速的轮换着执行这些任务.linux安排不同的程序等待使用CPU. 进程的工作方式: 当系统启动的时候,内核先把自己的程序初始化为进程, ...
- c++ 隐藏进程_Linux 查看进程的动态信息
前言 top命令经常用来监控Linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况 目录 一.描述 二.top命令常用字段含义 三.top中的子命令 四.总结 五.思维导 ...
- 使用linux命令查看进程,Linux查看进程命令有哪些
我们在使用Linux系统的过程中,有的时候会需要查看后台进程,并选择性的关闭一些不用的进程,那么Linux中有哪些查看进程的命令呢?今天小编就来为大家总结整理一些常用的Linux查看进程命令. Lin ...
- 9.7 top:实时显示系统中各个进程的资源占用状况
top命令 用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况.该命令可以按照CPU的使用.内存的使用和执行时间对系统任务进程进行排序显示,同时top命令还可以通过交互式 ...
- Linux--进程和计划任务管理 理论干货+实操(程序,进程,线程之间关系的详解,静态与动态查看进程方式,控制进程的 方式,一次性任务与周期性任务的设置)
文章目录 前言 一:程序,进程,线程之间的关系 1.1:进程概述 1.2:应用程序,进程和线程的关系 1.2.1:程序和进程的关系 1.2.2:进程和线程的关系 二:查看进程 2.1:静态查看 ps命 ...
- centos7查看mysql进程显示端口_CentOS查看进程端口号以及kill操作
在启动软件时或者开发过程时常会遇到端口被占用的情况,例如下面的错误,9999端口被占用: 我们这个时候就要看一下到底哪个进程偷偷占用了9999端口,可以使用如下命令: netstat -apn | g ...
- 【每天一点Linux】使用tail命令动态查看日志信息
tail 命令可用于查看文件的内容,参数 -f 查阅正在改变的日志文件 tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename ...
最新文章
- Fragment 和 FragmentActivity的使用
- led灯bin值_「技术贴」如何判断LED透明屏正发光与侧发光的优劣?
- URAL 1036 Lucky Tickets
- c#操作html dom元素,C#获取与修改HTML DOM元素信息
- uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程
- Python 数据分析三剑客之 NumPy(二):数组索引 / 切片 / 广播 / 拼接 / 分割
- php数值操作,php数值计算num类简单操作示例
- 微服务升级优点_SpringCloud微服务架构升级总结
- 双指针(下标)的应用
- 力度更大的当当购书优惠来了!实付满200-50!
- Unity 2D Animation(2D动画)学习
- addClass函数
- char int word long的大小
- 路由器的CPU和存储器
- JavaScript限时秒杀
- 2020年卫星行业研究报告
- O2O、C2C、B2B、B2C
- EngineerCMS开发ONLYOFFICE文档协作的权限管理
- 【微信小程序】wx.showModal模态弹窗
- LeetCode题解(1594):矩阵从左上移动到右下的最大非负积(Python)
热门文章
- 红蜘蛛多媒体软件怎么停---超简单
- java xap_阻止xap文件在浏览器中缓存
- 推荐一些网络安全的网站和论坛
- 如何解决win8.1系统开机提示sgtool.exe损坏
- CODE VS 4939 欧拉函数 质因数启发式分解
- 随想录:开发一流Android SDK
- 最后采用加权求和的方式得到样本的_一种婴幼儿视力自动检测方法与流程
- 基于MATLAB的数字信号处理(5) FIR数字滤波器设计及软件实现
- 事件绑定,事件类型,事件委托
- cmake的aux_source_directory