Linux 基础-查看进程命令 ps 和 top
1,使用 ps 命令找出 CPU 占用高的进程
ps
是 进程状态 (process status)
的缩写,它能显示系统中活跃的/运行中的进程的信息。它提供了当前进程及其详细信息,诸如用户名、用户 ID
、CPU
使用率、内存使用、进程启动日期时间、命令名等等的快照。只打印命令名字而不是命令的绝对路径,以运行下面的格式 ps 命令:
~$ ps -eo pid,ppid,%mem,%cpu,comm --sort=-%cpu | head
运行结果如下:
上面命令语句的各部分参数解释:
ps
:命令名字-e
:选择所有进程-o
:自定义输出格式–sort=-%cpu
:基于 CPU 使用率对输出结果排序head
:显示结果的前 10 行PID
:进程的 IDPPID
:父进程的 ID%MEM
:进程使用的 RAM 比例%CPU
:进程占用的 CPU 比例Command
:进程名字
2,通过 top 命令定位占用 cpu 高的进程
- 查看
cpu
占用最高进程(查看前3位):top
,然后按下M
(大写M
)。 - 查看内存占用最高进程:
top
,然后按下P
(大写P
)。 - 可视化查看所有用户所有进程使用情况:
ps axf
。
在所有监控 Linux
系统性能的工具中,Linux
的 top
命令是最好的也是最知名的一个(htop
是其升级版)。top
命令提供了 Linux
系统运行中的进程的动态实时视图。它能显示系统的概览信息和 Linux
内核当前管理的进程列表。它显示了大量的系统信息,如 CPU
使用、内存使用、交换内存、运行的进程数、目前系统开机时间、系统负载、缓冲区大小、缓存大小、进程 PID
等等。默认情况下,top
命令的输出结果按 CPU
占用进行排序,每 5
秒中更新一次结果。
ps -ef # 查看所有进程
top # 实时显示进程状态
Linux
系统下执行 top
命令得到以下结果(第一列为进程的 PID
,第二列为进程所属用户):
上图各个参数的意义:
PID
:进程的IDUSER
:进程所有者PR
:进程的优先级别,越小越优先被执行NInice
:值VIRT
:进程占用的虚拟内存RES
:进程占用的物理内存SHR
:进程使用的共享内存S
:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU
:进程占用CPU的使用率%MEM
:进程使用的物理内存和总内存的百分比TIME+
:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND
:进程启动命令名称
通过上图可以看出排在一行的进程 PID
2438占用 cpu
过高,定位到了进程 id
。如果只想观察 进程PID
2438的 CPU
和内存以及负载情况,可以使用以下命令:
top -p 2438
结果如下:
还可以通过 top
命令定位问题进程中每个线程
占用 cpu
情况,如查看进程 PID
2438 的每一个线程占用 cpu 的情况,使用如下命令:
top -p 2438 -H
结果如下(单线程,所以只显示一行):
3,htop 系统监控与进程管理软件
与 top
只提供最消耗资源的进程列表不同,htop
提供所有进程的列表,并且使用彩色标识出处理器、swap
和内存状态。可以通过 htop
查看单个进程的线程,然后按 <F2>
来进入 htop
的设置菜单。选择“设置”栏下面的“显示选项”,然后开启“树状视图”和“显示自定义线程名”选项。按 <F10>
退出设置。
4,参考资料
Linux 基础-查看进程命令 ps 和 top的更多相关文章
- Linux 查看进程资源--ps、top命令
1,ps命令 ps能够给出当前系统中进程的快照.它能捕获系统在某一事件的进程状态 命令参数: a 显示所有进 ...
- linux下查看进程(ps命令)
转自:http://www.jb51.net/LINUXjishu/151851.html Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命 ...
- linux下查看进程命令
他们都是用来显示当前运行的进程,但是: ps -aux 是用BSD的格式来显示python这个进程显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , ...
- linux ps查看进程命令
linux ps查看进程命令ps命令作用:将某个时间点的程序运作情况撷取下来 实例: [root@linux ~]# ps aux [root@linux ~]# ps -lA [root@linux ...
- linux ps查看进程命令详解
http://linux.net527.cn/Linuxwendang/xitongguanliyuan/39094.htmlLinux操作系统PS命令详细解析 要对系统中进程进行监测控制,用 ps ...
- Linux下查看进程的命令输出的内容解释
Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID TTY TIME ...
- Linux中查看进程的多线程pstree, ps -L
Linux中查看进程的多线程 在SMP系统中,我们的应用程序经常使用多线程的技术,那么在Linux中如何查看某个进程的多个线程呢? 本文介绍3种命令来查看Linux系统中的线程(LWP)的情况:在我的 ...
- linux学习笔记27--监控命令ps和top,free
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- Linux如何查看进程、杀死进程、启动进程等常用命令
Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括 ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
随机推荐
- C# 工厂模式 个人基本流程
有个前提 本文并不会介绍工厂模式,只是记录在实际当中个人比较喜欢的工厂写法.仅仅作为备忘和参考. 开始流程 定义一个抽象类,包含一些公共的业务逻辑(也可以是接口) /// <summary> ...
- 【CMake系列】01-CMake是什么
在很多开源项目中,经常可以看到CMakeLists.txt 这一文件,依靠它才能完成项目的配置运行过程.那它是什么? 接下来,在这个专栏中,我们将系统学习CMake这一个重要工具. 本专栏的实践代码全 ...
- docker context 介绍
$ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configu ...
- 【YashanDB数据库】YAS-02024 lock wait timeout, wait time 0 milliseconds
[标题]错误码处理 [问题分类]锁等待超时 [关键字]YAS-02024 [问题描述]执行语句时候,因锁等待超时执行语句失败 [问题原因分析]数据库默认锁等待时间为0秒,如果执行语句存在锁等待过长会执 ...
- 深入理解c语言指针与内存
一.将int强制转换为int指针,将int指针强转换为int void f(void) { int *p = (int*)100; //将int强制转换为int指针 printf("%d\n ...
- vue 中 elementUI el-table 实现滚动加载
vue 中 elementUI el-table 实现滚动加载 一.需求 vue 中 elementUI el-table 实现滚动加载,场景:当表格需要显示大量数据时,又想通过一页来进行展示数据. ...
- OData – 坑
前言 OData 有很多很多的坑,我的主张是能少用一样是一样,比如 Batch Processing 不要用,Inheritance 不要用,除了 GET 其它 PUT POST DELETE 都不要 ...
- POJ-2385 Apple Catching(基础dp)
It is a little known fact that cows love apples. Farmer John has two apple trees (which are convenie ...
- pimp技法浅析--实现轻量级的面向接口编程
pimp.hpp: #ifndef pimp_hpp #define pimp_hpp class CMyComponent{ public: CMyComponent(); ~CMyComponen ...
- 2024csps初赛记
对于此次初赛,教训有不少,有一些差点把自己整死. 第一点,铅笔只能用2B,不要尝试使用HB 2nd:一定要带涂卡笔和橡皮,不然就算借别人用了也会发现橡皮还不如手擦的干净(可能因为这个原因我都要丢几分) ...