目录

  • 一 ps命令
    • 1 描述
    • 2 主要参数
    • 3 ps -ef
    • 4 ps aux
    • 5 用例
  • 二 top命令
    • 1 概述
    • 2 功能说明
    • 3 其他使用技巧
    • 4 常用显示命令

一 ps命令

1 描述

  该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了。
  ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

2 主要参数

  常见参数:

参数 作业
a 列出终端相关的,如果想列出所有进程需要配合x
u 显示面向用户的格式
x 列出终端先关的,如果列出所有进程需要配合a
f 显示进程树,这个显示效果跟pstree的效果差远啦
k 根据指定指标去排序
–sort 根据指定指标去排序,%cpu以cpu占用排序,-%cpu反序排
o 设置显示的列
L 显示支持的属性列表
-C 指定命令,多个命令用,分割
-L 显示线程
-u 指定有效用户ID或名称
-U 指定真正的用户ID或名称
-p 显示指定pid进程
–pid 显示属于pid的子进程
–forest 树型显示

  最常用的有ps -efps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。这个命令比较特殊,支持了三种风格:

  • Unix选项:使用1个-
  • BSD选项:选项不使用-
  • GNU长选项:选项使用2个-

3 ps -ef

  ps -ef是用标准的格式显示进程的、其格式如下:

名称 内容
UID 用户ID、但输出的是用户名
PID 进程的ID
PPID 父进程ID
C 进程占用CPU的百分比
STIME 进程启动到现在的时间
TTY 该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD 命令的名称和参数

4 ps aux

  ps aux用BSD的格式来显示、其格式如下:

名称 内容
USER 用户名
PID 进程的ID
%CPU 进程占用的CPU百分比
%MEM 占用内存的百分比
VSZ 该进程使用的虚拟內存量(KB)
RSS 该进程占用的固定內存量(KB)(驻留中页的数量)
STAT 进程的状态
START 该进程被触发启动时间
TIME 该进程实际使用CPU运行的时间

  其中STAT状态位常见的状态字符有:

名称 内容
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换 (从内核2.6开始无效);
X 死掉的进程 (基本很少见);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组

5 用例

  1. 查看所有进程的命令,进程id,cpu占用,内存占用信息 ,并按照cpu占用排序:
ps axo cmd,pid,%cpu,%mem k %cpu
  1. 查看指定终端的进程:
ps -t pts/3
  1. 查看指定终端的进程:
ps -t pts/3

二 top命令

1 概述

  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

2 功能说明

  第一行,任务队列信息,同 uptime 命令的执行结果。

系统时间:19:27:01
运行时间:up 54 min
当前登录用户:1 user
负载均衡(uptime) load average: 0.02, 0.03, 0.00,average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

  第二行,Tasks — 任务(进程)

总进程:159 total, 运行:1 running, 休眠:157 sleeping, 停止: 1 stopped, 僵尸进程: 0 zombie

  第三行,cpu状态信息

0.0%us【user space】— 用户空间占用CPU的百分比。
0.1%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比。
99.9%id【idolt】— 空闲CPU百分比。
0.0%wa【wait】— IO等待占用CPU的百分比。
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比。
0.0%si【Software Interrupts】— 软中断占用CPU的百分比。

  第四行,内存状态。

1012288k total, 234464k used, 777824k free, 24084k buffers【缓存的内存量】

  第五行,swap交换分区信息。

614396k total, 0k used, 614396k free, 72356k cached【缓冲的交换区总量】

  备注:可用内存=free + buffer + cached,对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
  第六行,空行。
  第七行以下:各进程(任务)的状态监控。

名称 含义
PID 进程id
USER 进程所有者
PR 进程优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT virtual memory usage 虚拟内存,单位kb。VIRT=SWAP+RES
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES resident memory usage 常驻内存,单位kb。RES=CODE+DATA
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR shared memory 共享内存,单位kb
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
S 进程状态。D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 进程名称(命令名/命令行)

3 其他使用技巧

  1. 多U多核CPU监控:在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况。
  2. 高亮显示当前运行进程:敲击键盘“b”(打开/关闭加亮效果),“top”进程被加亮了,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
  3. 进程字段排序:默认进入top时,各进程是按照CPU的占用量来排序的,敲击键盘“x”(打开/关闭排序列的加亮效果)。
  4. 通过”shift + >”或”shift + <”可以向右或左改变排序列:按一次”shift + >”的效果图,视图现在已经按照%MEM来排序,再按一次按时间排。
  5. top交互命令。
命令 作用
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s)
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 关闭或开启第一部分第一行 top 信息的表示
m 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
t 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
N 以 PID 的大小的顺序排列表示进程列表
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中

4 常用显示命令

  显示完整命令:top -c
  设置信息更新次数:top -n 2【表示更新两次后终止更新显示】
  设置信息更新时间:top -d 3【表示更新周期为3秒】
  1、实时性:ps命令是系统在过去执行的进程的静态快照;top命令反应的是系统进程动态信息,默认3s更新一次,可以用ps -d指定屏幕刷新的延迟时间。2、交互性:允许用户输入控制命令,比如在top命令的模式下输入n5,就显示如图的此时的5个最活跃的进程,top会持续运行直到用户按下"q",退出top

进程监控命令ps和top(五)相关推荐

  1. linux 进程监控命令2——ps

    1. ps简介 前面介绍的两个命令(who.w命令)都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题.要对进程进行监测和控制,首先 必须要了解当前进程的情况,也就是需要查看当前 ...

  2. linux进程管理 ps,Linux - 进程管理,ps与top

    一个运行的程序,可能有多个进程. PID进程ID. UID启动进程的ID. 进程所属组GID. 进程的状态R运行.S睡眠.Z僵尸. 父进程管理子进程,父进程终止的时候子进程也会终止. 常用的组合为: ...

  3. Linux ps、top、free、uname命令

    Linux ps.top.free.uname命令 Linux有很多查看系统运行时状态的命令,例如查看进程信息的ps和top,以及查看内存信息的free命令和操作系统信息的uname命令等. ps 全 ...

  4. linux系统监控命令汇总

    零.Linux系统监控命令速查手册 命令 功能应用 用法举例     free 查看内存使用情况,包括物理内存和虚拟内存 free -h或free -m     vmstat 对系统的整体情况进行统计 ...

  5. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈

    的性能有问题,总之,每到晚上挖站否的主机就出现了不稳定的情况,系统负载忽高忽低.利用服务器日志分析利器:ngxtop和GoAccess也能查出有一些IP一直在不断地扫描服务器端口还有WP后台. 但是, ...

  6. Linux 有关管理进程的命令小结

    1.kill NAME kill - terminate a process (终止进程) SYNOPSIS kill [-signal] pid 说明: kill 给指定进程发送指定信号. 如果没有 ...

  7. linux暂停进程运行的按键组合是,Linux基础命令(五):进程——ps、top、jobs、bg、fg、kill、killall、shutdown...

    目录 进程 查看进程 用 top 命令动态查看进程(相当于任务管理器) 中断进程 把进程放置到后台执行 进程返回到前台执行 (暂时)停止进程 信号 通过kill命令给进程发送信号 通过 killall ...

  8. linux之进程观察命令:ps和top

    一.ps命令 (1)ps命令:ps命令输出的是当前查询状态下进程瞬间的状态信息.命令使用的语法如下: ps 参数 常用的参数如下: -A:列出所有的进程 -a:列出不和本终端有关的所有进程 -w:显示 ...

  9. Linux下,进程的相关知识,进程的消耗,常用信息,状态,静态查询命令ps,动态查询命令top

    Linux下,进程的相关知识,进程的来源,去向,状态,静态查询命令ps 一.进程主要组成部分 0.没有执行的程序就是普通文本文件,将程序运行起来以后就是进程,进程又有以下组成部分 1.一个或多个文件 ...

最新文章

  1. web服务枚举组件不可用
  2. 计划学习研究模板引擎。学习stringtemplate先
  3. i7 8700 服务器系统,i7 8700k 云服务器6
  4. Android 抽屉布局
  5. threejs精灵(Sprite)
  6. 跟幼师谈恋爱什么梗_和懂你的人谈恋爱,比“秋天的第一杯奶茶”要甜
  7. c并非所有的代码路径都返回值_两行C语言代码播放音乐,就这么so easy!你学到了吗?...
  8. 初学者必学教程——JQuery的简介
  9. IOS transform的使用(移动,放大,旋转)
  10. 注意细节:Javascript中的变量作用域
  11. 【MCM-2017】2017年数学建模美赛题目原文及翻译-A (个人思路)
  12. 产品经理如何写好一份简历
  13. 逆转ISP,港科大陈启峰团队提出了可逆ISP
  14. 想用Charles抓包,某些app不让抓怎么办
  15. 课程学习:让神经机器翻译模型像人类一样学习
  16. canvas画布js代码实现大风车的动画
  17. sse 指令xmm寄存器和内存互相复制的问题
  18. SRM 590 DIV1
  19. 数据库系统 --- 关系数据库1
  20. 饥荒联机版连不上服务器_饥荒联机版常见问题汇总_饥荒联机版服务器无响应怎么办_牛游戏网攻略...

热门文章

  1. Tik Tok登顶第一,出海公会卫冕第一
  2. DNF选服务器ms不稳定,DNF:玩家投票普雷炸团原因,我们错怪萌新了,掉线才是罪魁祸首...
  3. <table>表格标签
  4. 基于STM32F1的超级终端串口控制程序思路分析
  5. 项目和开源库上传github
  6. 【JavaScript】定时器
  7. 淘宝api app版淘宝店铺商品数量
  8. win10DLL的封装——vs2019
  9. 试题 算法训练 逗志芃的暴走 java实现
  10. python3学习笔记之八——爬取百度音乐盒临时列表中的音乐