【linux】top命令详解
1、参数详解
$ top -helpprocps-ng version 3.3.9
Usage:top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
-b:打印所有程序
-c:以命令行的形式显示程序名
-d:设置刷新间隔时间
-h:显示帮助
-H:线程切换
-i:不显示空闲进程
-n:设置刷新帧数,刷新n帧后退出
-p:指定进程号PID,可以指定多个,最多20个,-pN1 -pN2 …或-pN1,N2 [,…]
-s:安全模式,不能使用交互命令
-u:监控用户,匹配有效ID或用户名,如监控root用户,top -uroot;
-U:监控用户,匹配真实、有效、保存、文件所属ID或用户名
-v:打印版本号
2、交互命令
常用命令说明:
Enter:按回车会刷新屏幕;
h:显示交互命令帮助信息
交互式命令的帮助
Help for Interactive Commands - procps-ng version 3.3.9
窗口1:Def:累计模式关闭。系统:延迟3.0秒;安全模式。
Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off.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( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue
Z:设置颜色,进入设置颜色窗口后,a和w用来切换颜色设置,Enter提出
Help for color mapping - procps-ng version 3.3.9
current window: 1:Defcolor - 04:25:44 up 8 days, 50 min, 7 users, load average:Tasks: 64 total, 2 running, 62 sleeping, 0 stopped,%Cpu(s): 76.5 user, 11.2 system, 0.0 nice, 12.3 idleNasty Message! -or- Input PromptPID TTY PR NI %CPU TIME+ VIRT SWAP S COMMAND 17284 pts/2 8 0 0.0 0:00.75 1380 0 S /bin/bash 8601 pts/1 7 -10 0.4 0:00.03 916 0 R color -b -z11005 ? 9 0 0.0 0:02.50 2852 1008 S amor -sessiavailable toggles: B =disable bold globally (Off),z =color/mono (On), b =tasks "bold"/reverse (On)1) Select a target as an upper case letter, current target is T :S = Summary Data, M = Messages/Prompts,H = Column Heads, T = Task Information
2) Select a color as a number, current color is 1 :0 = black, 1 = red, 2 = green, 3 = yellow,4 = blue, 5 = magenta, 6 = cyan, 7 = white3) Then use these keys when finished:'q' to abort changes to window '1:Def''a' or 'w' to commit & change another, <Enter> to commit and end
E、e:分别切换摘要和任务列表中内存的的单位(KiB、MiB、GiB、TiB、PiB、EiB);
l:显示或隐藏摘要中的平均负载;
t:显示或隐藏摘要中的cpu统计数据
m:显示或隐藏摘要中的内存统计数据
F、f:窗口字段管理,上下键移动、方向键中右键选中后可以移动该字段(左键撤销)、空格或d选择是否显示
Fields Management for window 1:Def, whose current sort field is %CPUNavigate with Up/Dn, Right selects for move then <Enter> or Left commits,'d' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!* PID = Process Id DATA = Data+Stack (KiB)
* USER = Effective User Name nMaj = Major Page Faults
* PR = Priority nMin = Minor Page Faults
* NI = Nice Value nDRT = Dirty Pages Count
* VIRT = Virtual Image (KiB) WCHAN = Sleeping in Function
* RES = Resident Size (KiB) Flags = Task Flags <sched.h>
* SHR = Shared Memory (KiB) CGROUPS = Control Groups
* S = Process Status SUPGIDS = Supp Groups IDs
* %CPU = CPU Usage SUPGRPS = Supp Groups Names
* %MEM = Memory Usage (RES) TGID = Thread Group Id
* TIME+ = CPU Time, hundredths ENVIRON = Environment vars
* COMMAND = Command Name/Line vMj = Major Faults delta PPID = Parent Process pid vMn = Minor Faults delta UID = Effective User Id USED = Res+Swap Size (KiB) RUID = Real User Id nsIPC = IPC namespace Inode RUSER = Real User Name nsMNT = MNT namespace Inode SUID = Saved User Id nsNET = NET namespace Inode SUSER = Saved User Name nsPID = PID namespace Inode GID = Group Id nsUSER = USER namespace InodeGROUP = Group Name nsUTS = UTS namespace Inode PGRP = Process Group Id TTY = Controlling Tty TPGID = Tty Process Grp Id SID = Session Id nTH = Number of Threads P = Last Used Cpu (SMP) TIME = CPU Time SWAP = Swapped Size (KiB) CODE = Code Size (KiB)
X:设置任务列表之间的宽度
L:搜索字段;
&:搜索下一个字段;
<、>:显示上一页、下一页
R:升序或降序显示任务列表;
H:进程和线程切换;
V:树形显示,(显示内容没看懂)
J:字段左对齐或右对齐切换;
c:程序名和命令行格式切换;
i:空闲程序显示或隐藏的切换;
x:高亮显示排序字段;
y:高亮显示正在运行的任务;
Toggle: ‘z’ color/mono; ‘b’ bold/reverse (only if ‘x’ or ‘y’)
z:彩色显示或单色显示的切换;
b:当设置了x或y,即高亮显示时,再加上b,就会将高亮的带背景色;
u、U:过滤有效或任何用户;
n、#:设置最多显示的任务数,0表示不限制;
C:显示坐标;
k:杀死指定PID的进程;
r:调整优先级;
d、s:设置间隔时间;
W:写入配置文件;
Y:写入配置文件,并重新加载
q:退出
3、显示信息详解
top - 15:00:44 up 6 min, 3 users, load average: 0.21, 0.48, 0.30
Tasks: 194 total, 1 running, 193 sleeping, 0 stopped, 0 zombie
%Cpu(s): 12.8 us, 5.1 sy, 0.0 ni, 82.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 4046976 total, 1182232 used, 2864744 free, 59872 buffers
KiB Swap: 4191228 total, 0 used, 4191228 free. 462400 cached MemPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2308 zet 20 0 1271772 186756 67412 S 7.6 4.6 0:29.29 compiz 1300 root 20 0 373560 108052 31176 S 4.3 2.7 0:08.53 Xorg 2738 zet 20 0 599960 34704 26408 S 4.3 0.9 0:01.74 gnome-terminal 1937 zet 20 0 121840 3208 2836 S 0.7 0.1 0:00.96 VBoxClient 97 root 20 0 0 0 0 S 0.3 0.0 0:00.16 kworker/u2:4 1960 zet 20 0 40196 3512 2164 S 0.3 0.1 0:00.67 dbus-daemon 2835 zet 20 0 30604 3448 2912 R 0.3 0.1 0:00.05 top 1 root 20 0 33792 4312 2684 S 0.0 0.1 0:01.78 init
第一行:top - 15:00:44 up 6 min, 3 users, load average: 0.21, 0.48, 0.30
15:00:44 — 当前系统时间
up 6 min — 系统运行时间(在这期间没有重启过)
3 users — 当前有3个用户登录系统, load average: 0.21, 0.48, 0.30
load average: 0.21, 0.48, 0.30 — load average后面的三个数分别是5分钟、10分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:Tasks: 194 total, 1 running, 193 sleeping, 0 stopped, 0 zombie
Tasks — 任务(进程),系统现在共有194 个进程,其中处于运行中的有1个,193 个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:%Cpu(s): 12.8 us, 5.1 sy, 0.0 ni, 82.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
12.8 us — 用户空间占用CPU的百分比。
5.1 sy — 内核空间占用CPU的百分比。
0.0 ni — 改变过优先级的进程占用CPU的百分比
82.2 id id — 空闲CPU百分比
0.0 wa — IO等待占用CPU的百分比
0.0 hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0 si — 软中断(Software Interrupts)占用CPU的百分比
0.0 st —超级管理进程占用CPU的百分比
第四行:KiB Mem: 4046976 total, 1182232 used, 2864744 free, 59872 buffers
内存使用情况:
4046976 total — 物理内存总量
1182232 used — 使用中的内存总量
2864744 free — 空闲内存总量
59872 buffers — 缓存的内存量
第五行:KiB Swap: 4191228 total, 0 used, 4191228 free. 462400 cached Mem
交换分区:
4191228 total — 交换区总量
0 used — 使用的交换区总量
4191228 free — 空闲交换区总量
462400 cached — 缓冲的交换区总量
第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
各个进程的监控情况:
PID— 进程ID
USER— 进程所有者的实际用户名。
PR— 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
NI— 进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT— 进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES— 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR— SHR是进程使用的共享内存。共享内存大小,单位kb
S— 这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU— 自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM— 进程使用的可用物理内存百分比。
TIME+— 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND— 运行进程所使用的命令。进程名称(命令名/命令行)
相关文章:

关于近期的总结
北京的黄金三月,应去年的计划,年初换工作,这是回来之后找工作的第四个周,目前收到offer一份,在昨天之前我还深深的觉得自己真的是失败,菜的不行,去年一年的努力都努力到哪里去了,越想…

让QQ按时上下班
朋友在临近的一所幼儿园当头儿,说最近发现有小老师在上班期间用QQ聊天,影响孩子的看护,问我有没有办法限制她们在上班期间聊天,顺便看看他们上班期间都在干什么,我说试试吧,估计得花钱。 说干就干ÿ…

算法面试经常需要你手写的三个排序算法(Python语言)
作者 | 程序员小吴来源 | 五分钟学算法(ID: CXYxiaowu)1. 归并排序1.1 算法步骤申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;设定两个指针,最初位置分别为两个已经排序序列的起始…

【linux】Valgrind工具集详解(十三):DRD(线程错误检测器)
一、概述 多线程编程需要注意的问题: 数据竞争;锁竞争;POSIX线程API使用不当;死锁; 二、使用 1、例子main.c源码 #include <stdio.h> #include <pthread.h> #include <sys/types.h> #include <unistd.h>

前段技术学习网站
1. 七天学会nodejs http://nqdeng.github.io/7-days-nodejs/ 2. Web 常用UI库 kissy https://www.oschina.net/p/kissy 3. 通用 WEB 框架 Webx https://www.oschina.net/p/webx 转载于:https://www.cnblogs.com/mengjianzhou/p/8610793.html

性能测试分析之带宽瓶颈的疑惑
第一部分, 测试执行 先看一图,再看下文 这个当然就是压力过程中带宽的使用率了,我们的带宽是1Gbps的,合计传输速率为128MB/s,也正因为这个就让我越来越疑惑了,不过通过压力过程中的各项数据我又不得不相信。…

心中无码,自然高清 | 联合去马赛克与超分辨率研究论文Pytorch复现
作者 | 知凡,个人公众号:林木蔚然读书会(ID:EspressoOcean),知乎ID:Uno Whoiam本文授权转载自知乎本文结构简单扫盲什么是去马赛克什么是超分辨率《Deep Residual Network for Joint Demosaicing and Super…

【linux】Valgrind工具集详解(十四):Cachegrind(缓存和分支预测分析器)
一、概述 Cachegrind,它模拟CPU中的一级缓存I1,Dl和二级缓存,能够精确地指出程序中cache的丢失和命中。如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每个函数,每个模块,整个程序产生的指令数。这对优化程序有很大的帮助。 Cachegrind模拟程…

使用mvc框架搭建跟人站点
1、使用工具 vs 、iis 2、新建一个ASP.net mvc 项目。并写好必要的代码 3、解决方案管理器,项目右键、发布 4、 创建配置文件 弹出网站发布设置面板,点击自定义,创建新的发布配置文件: 输入你自己定义的配置文件名(这里随便输入&…

GitHub上7000+ Star的Python常用代码合集
作者 | 二胖并不胖来源 | 大数据前沿(ID:bigdataqianyan)今天二胖给大家介绍一个由一个国外小哥用好几年时间维护的Python代码合集。简单来说就是,这个程序员小哥在几年前开始保存自己写过的Python代码,同时把一些自己比较常用的代…

MIS通用管理组件_通用管理组件V2.1.0发布
MIS通用管理组件是一个基于.NET4.0的MIS微型框架,实现单点登录,MIS类管理系统集群化管理配置,操作权限细化,数据集权限逐级授权;提供C/S代码生成器,丰富的类库;提供全部相关的源代码,…
python 十大经典排序算法
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序…

【linux】Valgrind工具集详解(十五):Callgrind(性能分析图)
一、概述 1、Callgrind Callgrind用于记录程序中函数之间的调用历史信息,对程序性能分析。默认情况下,收集的数据包括执行的指令数,它们与源码行的关系,函数之间的调用者、被调用者关系以及此类调用的数量。可选项是,对高速缓存模拟和分支预测(类似于Cachegrind)。 2…

WCF服务重构实录(上)
项目需求 之前的项目中采用了WCF,绑定模式选择的是netTcpBinding,宿主选择了控制台方式,主要考虑两方面优点: 方便管理宿主的生命周期提升服务性能但是在实际的开发过程中产生了许多问题,比如: 调试项目时必…

【Qt】QTest:编译Qt单元测试程序
一、使用方法 1、测试程序源码 TestQString.pro QT += testlib QT -= gui TARGET = tst_TestQStringTest CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += tst_TestQStringTest.cpp DEFINES += SRCDIR=\\\"$$PWD/\\\"tst_Test…

1/10个iPhone Xs = 英伟达最便宜AI计算机,这是唯一的“核弹”?
整理 | 一一、阿司匹林出品 | AI科技大本营(ID:rgznai 100)北京时间 3 月 19 日 8 点左右,在美国加州圣何塞的圣何塞大学活动中心,第十届 GTC 大会的主会结束。与往年相比,尽管 99 美元的 AI 计算机备受关注࿰…

Python链接MySQL
本文介绍Python3连接MySQL的第三方库--PyMySQL的基本使用。 PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中也可以使用PyMySQL连接MySQL数据库。 PyMySQL安装 使用pycharm安装PyMySQL 点击File-->右…

利用sendEmail-v1.55转发邮件
设置: /sendEmail-v1.55/sendEmail -f testtest.com -t 532126277qq.com -s s.test.com -xu testtest.com -xp 123456789 -a 文件的路径 -u 主题 -m 内容转载于:https://blog.51cto.com/holy2010/537968

【Git】git系统学习(一):常用指令
1、配置工具 $ git config --global user.name "[name]"设置用户名 $ git config --global user.email "[email address]"设置邮箱 $ git config --global color.ui auto自动配置命令行的输出颜色 $ git config --global color.ui true全部打开颜色配置…

腾讯裁撤中层干部,拥抱年轻人
据 36Kr 最新报道,数名消息人士证实,2018 年 12 月内部员工大会后,腾讯开始裁撤一批中层干部。整个腾讯大概有两百多名中干,此轮调整比例约为10%,有战略发展部的腾讯员工认为,实际甚至超过了这个比例。截止…

cmder里ls、pwd、自定义的alias等一系列命令都无法使用
win10下cmder很多命令history pwd无法使用,ls字体也没有颜色显示,其根本原因是win10下cmd控制台版本问题,切换回老版本就OK了 转载于:https://www.cnblogs.com/hdk1993/p/8620799.html

文件操作01 - 零基础入门学习C语言60
第十一章:文件操作01 让编程改变世界 Change the world by program C文件概述 所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执…

iPad mini时隔四年更新,搭载A12芯片,起售价2999
整理 | 非主流出品 | AI科技大本营(公众号id:rgznai100)距离苹果的春季发布还有一周,但就在昨天,苹果毫无征兆地给广大果粉来了一场预热。3 月 18 日下午,苹果官网进行更新,悄悄地推出了两款新品…

【Qt】通过QtCreator源码学习Qt(一):pro文件
1、学习目的 学习pro文件的语法规则,这在跨平台项目中会经常用到。和条件编译相似,在pro中可以根据平台选择不同的编译模块、文件,还可以向源码中传递变量等。 2、学习方法 通过学习QtCreator源码中的pro文件,来掌握pro文件语法规则,下面以qtcreator.pro文件为例,先看…

TCP和UDP相关记录
有关于计算机网络的知识,准确来说我也忘得差不多了,现在要开始找实习了。努力从新学一下,记录在这里以防丢失。 --------------------------------------------------------- 首先对于网络层次有很多种分法。大致有7层结构、5层结构、4层结构…

win2003服务器iis6.0环境下php5.3.2安装配置
IIS6PHP5.3.2配置: 在windows下使用ApachePHP的,请选择VC6版本; windows下使用IISPHP的,请选择VC9版本 首先要知道的是,那个服务器平台对应PHP那个版本: 1、在windows下使用ApachePHP的,请选择…

李飞飞宣布成立斯坦福“以人为本AI研究院”
本位首发于公众号极客公园(ID:GeekPark)作者 | 沈知涵、biu编辑 | 宋德胜AI 不是要取代我们,而是让我们做得更好。这一次,台上的李飞飞不是 Google Cloud 的首席科学家,也不是斯坦福人工实验室(…

【Qt】菜单栏、工具栏、状态栏、右键菜单的实现
在QMainWidget基础上实现菜单栏、工具栏、状态栏、右键菜单。 头文件: #ifndef GWDEMO_H #define GWDEMO_H#include <QMainWindow> #include <QMenu> #include

云计算公司Zuora提交IPO申请 预计募资1亿美元
2019独角兽企业重金招聘Python工程师标准>>> 总部位于硅谷的云计算公司 Zuora 周五向美国证券交易委员会(SEC)提交招股说明书,计划通过首次公开募股(IPO)募集 1 亿美元资金。 Zuora 已发布针对云计算提供商…

浅谈“闭包”,什么才是“闭包”思想!—— javascript
先看一个简单小案例:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME"Generator" CONTENT""> <META NAME"…