Linux- Top命令查看系统资源状况
介绍
top
命令是Linux
下常用得性能分析工具,能够实时的显示系统中各个进程的资源占用状况,类似于平常使用的Windows
任务管理器,除此之外,top
还提供交互式的界面来筛选可用的信息。下面将分别介绍top
命令的输出以及常用操作
统计信息
top
命令前五行的输出是当前系统情况整体的统计信息区
top - 20:12:44 up 2 days, 9:49, 9 users, load average: 0.83, 1.21, 1.58
Tasks: 370 total, 3 running, 367 sleeping, 0 stopped, 0 zombie
%Cpu(s): 9.7 us, 4.9 sy, 0.0 ni, 84.9 id, 0.0 wa, 0.0 hi, 0.4 si, 0.1 st
KiB Mem : 8173496 total, 657292 free, 5163996 used, 2352208 buff/cache
KiB Swap: 9437180 total, 7386364 free, 2050816 used. 2671772 avail Mem
第一行 任务队列信息
top - 20:12:44 up 2 days, 9:49, 9 users, load average: 0.83, 1.21, 1.58
值 | 解释 |
---|---|
20:12:44 | 当前服务器时间 |
up 2 days, 9:49 | 系统启动了2天9小时49分钟 |
9 users | 当前有9个用户登录系统 |
load average: 1.15, 1.42, 1.44 | load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况 |
其中load average
代表系统负载,主要代表了在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。
多核CPU的话,满负荷状态的数字为 “1.00 * CPU核数”,即双核CPU为2.00,四核CPU为4.00。
通过以下命令可查看CPU个数以及信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
取得CPU核心数目N,用对应时间的负载值 / N,如果得到的值小于0.7即可无忧。
例如现在我们是4个单核CPU,5分钟的负载值是1.21,用1.21 / 4 ≈ 0.3,说明机器复杂良好,当超过0.7的时候就需要关注看如何处理了
第二行:任务信息
值 | 解释 |
---|---|
370 total | 系统目前进程总数 |
3 running | 运行状态态的进程数量 |
367 sleeping | 休眠状态的进程数量 |
0 stopped | 停止状态的进程数量 |
0 zombie | 僵尸状态的进程数量 |
系统现在共有370 个进程,其中处于运行中的有3个,367 个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:CPU状态
%Cpu(s): 9.7 us, 4.9 sy, 0.0 ni, 84.9 id, 0.0 wa, 0.0 hi, 0.4 si, 0.1 st
值 | 解释 |
---|---|
9.7 us | user:用户空间占用CPU的百分比。 |
4.9 sy | system:内核空间占用CPU的百分比。 |
0.0 ni | nice:改变过优先级的进程占用CPU的百分比 |
84.9 id, | idle:空闲CPU百分比 |
0.0 wa | IO-wait:IO等待占用CPU的百分比(iowait) |
0.0 hi | 硬中断(Hardware IRQ)占用CPU的百分比 |
0.4 si | 软中断(Software Interrupts)占用CPU的百分比 |
0.1 st | 虚拟机管理程序从此虚拟机窃取的时间 |
第四行:内存状态
KiB Mem : 8173496 total, 657292 free, 5163996 used, 2352208 buff/cache
值 | 解释 |
---|---|
8173496 total | 物理内存总量(≈8G) |
657292 free | 使用中的内存总量(≈0.6G) |
5163996 used | 空闲中的内存总量(≈4.9G) |
2352208 buff/cache | 缓存大小 |
第五行:swap交换分区信息
KiB Swap: 9437180 total, 7386364 free, 2050816 used. 2671772 avail Mem
值 | 解释 |
---|---|
9437180 total | 交换区总量 |
7386364 free | 空闲交换区总量 |
2050816 used | 使用的交换区总量 |
2671772 avail Mem | 可用内存总量 |
注:各单位之间转换关系
KiB =千字节= 1024字节
MiB =兆字节= 1024 KiB = 1,048,576字节
GiB = gibibyte = 1024 MiB = 1,073,741,824字节
TiB = tebibyte = 1024 GiB = 1,099,511,627,776字节
PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624字节
EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976字节
各进程状态监控
介绍完上边的系统统计信息后,接下来就是各个进程的状态监控
字段解释
字段 | 含义 |
---|---|
PID | 进程ID |
USER | 进程所有者 |
PR | 进程优先级(priority) |
NI | nice值,负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量 |
RES | 进程使用的、未被换出的物理内存大小 |
SHR | 共享内存大小 |
S | 进程状态(D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程) |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 进程名称(命令名/命令行) |
对于上面的字段,单独区分下nice
值和priority
优先级。
- PR
PR (priority),被称为动态优先级,Priority/PRI 由 OS 内核动态调整,用户不能调整(PRI 值越低,进程执行的优先级越高),用户可通过调整 nice 值 来调整进程优先级,计算方式为:PRI(new) = PRI(old) + nice
- NI
NICE值用于表示进程优先级的修正数值,其取值范围是-20至19,一共40个级别,由于进程最终的优先级由 PRI + Nice 值共同决定,PRI又不能进行修改,那么就只能通过修改Nice值来影响进程优先级,对应的值越小代表优先级越高,也被称为静态优先级,可以通过renice
和 nice
命令修改
参数介绍
先单独介绍top
的命令参数,通过-h
查看常用的参数,更详细的还是参考man top
[root@suhaow ~]# top -hprocps-ng version 3.3.10
Usage:top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
参数 | 说明 |
---|---|
-d:Delay-time | 间隔秒数 |
-n:Number-of-iterations | 信息更新次数,次数达到退出 |
-u:User-filter-mode | 指定 用户 |
-p:Monitor-PIDs | 指定 pid |
-o:Override-sort-field | 指定 排序列 |
-w:Output-width-override | 输出宽度 |
交互命令
输入top
命令后,再敲入h
可以查看互动命令,可以自己手动敲敲试试效果
Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scalel,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix modef,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-widthL,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/rightR,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justifyc,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justifyx,y . Toggle highlights: 'x' sort field; 'y' running tasksz,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criterian,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)C,... . Toggle scroll coordinates msg for: up,down,left,right,home,endk,r Manipulate tasks: 'k' kill; 'r' reniced or s Set update intervalW,Y Write configuration file 'W'; Inspect other output 'Y'q Quit
介绍上述中比较常用的几个互动命令:
- h 显示帮助画面,给出一些简短的命令总结说明
- k 终止一个进程。
- i 忽略闲置和僵死进程。这是一个开关式命令。
- r 重新安排一个进程的优先级别
- S 切换到累计模式
- s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
- f或者F 从当前显示中添加或者删除项目
- o或者O 改变显示项目的顺序
- l 切换显示平均负载和启动时间信息
- m 切换显示内存信息
- t 切换显示进程和CPU状态信息
- c 切换显示命令名称和完整命令行
- M 根据驻留内存大小进行排序
- P 根据CPU使用百分比大小进行排序
- T 根据时间/累计时间进行排序
- W 将当前设置写入
~/.toprc
文件中 - q 退出程序
除此之外还有一些对任务区域的操作,都可在man
手册中查看到
Task-Area-defaultsb - Bold hilite Off (use `reverse') # 高亮* c - Command line Off (name, not cmdline) # 完整显示命令行* i - Idle tasks On (show all tasks) J - Num align right On (not left justify) # 数字是否右对齐j - Str align right Off (not right justify) # 字符是否右对齐R - Reverse sort On (pids high-to-low) # 反转排列顺序* S - Cumulative time Off (no, dead children) # 累计时间* u - User filter Off (show euid only) # 用户名过滤* U - User filter Off (show any uid) #V - Forest view On (show as branches) # 展示父子关系x - Column hilite Off (no, sort field) #列高亮y - Row hilite On (yes, running tasks) #行高亮z - color/mono On (show colors) #变色
实用操作
高亮显示选中进程
敲击键盘“b”(打开/关闭高亮效果),top的视图变化如下:
高亮选中列
先敲击"b"(打开/关闭高亮效果),再敲击“x”(打开/关闭 排序列的加亮效果)
通过shift+<
向左改变排序列,shift+>
向右改变排序列,由上图可知道默认是按照CPU占用率排序,敲下shift+>
就选择了按照右侧的内存占用率进行排序
想改变排列数据敲"R"即可
显示完整命令
通过top -c
参数进入到top
即可查看完整COMMAND
也可进入后直接敲"c"即可
显示指定进程信息
先查询要观察进程的PID
[root@suhw ~]# ps aux|grep mysql
root 11500 0.0 0.0 112712 960 pts/2 S+ 11:24 0:00 grep --color=auto mysql
mysql 23679 1.2 0.8 3742680 140580 ? Ssl Jul20 13:16 /usr/sbin/mysqld
通过top -p 23679
进行查看
日后遇到常用的操作再继续添加。
Linux- Top命令查看系统资源状况相关推荐
- linux top命令查看内存及多核CPU的使用讲述 [转]
2019独角兽企业重金招聘Python工程师标准>>> linux top命令查看内存及多核CPU的使用讲述 [转] FROM: http://www.lvtao.net/html/ ...
- linux top命令查看内存及多核CPU的使用讲述【转】
转载一下top使用后详细的参数,之前做的笔记找不见了,转载一下,作为以后的使用参考: 原文地址:http://blog.csdn.net/linghao00/article/details/80592 ...
- Linux——top命令查看cpu利用率超过100%
top命令显示的是程序占用的cpu占用率总和,也就是说如果4核cpu那么cpu最高占用率可达400%,top里显示的是把所有使用率加起来. 运行top后按大键盘1,可以显示每个cpu的使用率 查看一下 ...
- linux top命令查看内存及多核CPU的使用讲述
top进入视图 第一行: 10:08:45 - 当前系统时间 10 days, 3:05 - 系统已经运行了10天3小时5分钟(在这期间没有重启过) 1 users - 当前有1个用户登录系统 loa ...
- Linux top命令查看多核CPU每个核心的使用率
op命令是linux下常用的工具,可以查看各个进程的CPU使用情况.先看一个实例: 这是Ramnode双核VPS的top显示结果: 左上角可以看到CPU的使用率是11.3%,但是看下面的进程,plug ...
- linux cpu使用率1200%,linux下用top命令查看cpu利用率超过100%
今天跑了一个非常耗时的批量插入操作..通过top命令查看cpu以及内存的使用的时候,cpu的时候查过了120%..以前没注意..通过在top的情况下按大键盘的1,查看的cpu的核数为4核. 通过网上查 ...
- linux 观察应用使用内存的情况,Linux学习笔记:free和top命令查看系统内存使用情况...
free 命令 Linux free 命令用于显示内存状态. free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等. 语法: free [-b ...
- linux top命令 动态查看进程详解
文章目录 linux top命令 动态查看进程详解以及使用方法 top命令的输出,可分为上下两个部分 上面部分:整个系统的资源的使用状态 下面部分:单个进程的资源使用状态 上面部分详解: 第一行:由三 ...
- linux的top命令cpu,在Linux系统下使用top命令查看CPU使用情况
在Linux系统下,使用top命令查看CPU使用情况. %Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st ...
最新文章
- 图解粒子群优化算法(PSO)
- php注册程序,[PHP初级]手把手教你写注册程序 1
- OpenCV图像处理—— 凸包检测
- 五分钟,带你彻底掌握 MyBatis缓存 工作原理
- Python操作Word文档的节属性和页眉/页脚
- node怎么把token放到redis_从零开始手写 redis(八)朴素 LRU 淘汰算法性能优化
- 【万字详解+PPT下载】腾讯广告实时策略数据框架建设
- s信网页版rver定时任务mysql_DataX Web2.0发布,集成定时任务,支持分布式
- android以view建坐标系,android自定义View——坐标系
- PIC浅谈--《x86/x64体系探索及编程》试读
- mariaDB安装完成后设置root密码等初始化操作
- macbook运行移动硬盘中windows及bootcamp下载出错问题的解决
- SSIS变量如何获取当前的系统时间(字符串格式年月日)
- 迅雷下载电影天堂片源,出现“应版权方要求,文件无法下载”的解决方法
- python爬取饿了么评论_爬虫实例:饿了么爬虫
- springboot集成camunda
- 使用结构体输入参加某会议成员的信息,并计算男女比例C++
- 如何添加其他网段的打印机
- linux中bash是什么命令,Bash简介 Bash是如何处理命令的
- Android 自定义DatePick 只显示年月,日期选择年月
热门文章
- Windows远程管理WinRM,Enter-PSSession
- AutoCAD for Mac (三维制图软件) v2022
- utorrent磁盘负担过重解决办法
- 语音朗读中多音字问题
- 如何编写命令行运行的程序
- 华为ict 防火墙笔记
- 联想微型计算机m4350q升级,拆解:高度集成化的联想M4350q_联想ThinkCentre台式电脑_台式电脑评测-中关村在线...
- murphy‘s law intro
- HTML CSS JS简易画板(含知识点温习)
- 同时连接了无线和有线,如何查看当前连接的是哪个