Linux 查看进程资源--ps、top命令
1,ps命令
ps能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态
命令参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
常用实例:
ps -u root 查看root用户的进程
ps -ef 显示所有进程信息,包括命令行
ps aux 列出目前所有的正在内存当中的程序
ps -aux --sort -pcpu | less 根据CPU使用升序排序
ps-aux --sort -pmem | less 根据内存使用大小排序
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system
ps aux显示项解析:
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 正在运行或在运行队列中等待
S 睡眠 休眠中, 受阻, 在等待某个条件的形成或接受到信号
I 空闲
Z 僵死 进程已终止, 但进程描述符存在
D 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
2,top命令
[root@localhost ~]# top (默认3秒刷新)
top - 12:38:33 up 50 days, 23:15, 7 users, load average: 60.58, 61.14, 61.22
Tasks: 203 total, 60 running, 139 sleeping, 4 stopped, 0 zombie
Cpu(s) : 27.0%us, 73.0%sy, 0.0%ni, 90%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1939780k total, 1375280k used, 564500k free, 109680k buffers
Swap: 4401800k total, 497456k used, 3904344k free, 848712k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4338 oracle 25 0 627m 209m 207m R 0 11.0 297:14.76 oracle
4267 oracle 25 0 626m 144m 143m R 6 7.6 89:16.62 oracle
3458 oracle 25 0 672m 133m 124m R 0 7.1 1283:08 oracle
3478 oracle 25 0 672m 124m 115m R 0 6.6 1272:30 oracle
3395 oracle 25 0 672m 122m 113m R 0 6.5 1270:03 oracle
3480 oracle 25 0 672m 122m 109m R 8 6.4 1274:13 oracle
3399 oracle 25 0 672m 121m 110m R 0 6.4 1279:37 oracle
TOP前五行统计信息
统计信息区前五行是系统整体的统计信息。
1. 第一行是任务队列信息
同 uptime 命令的执行结果一样
13:22:30 up 8 min, 7 users, load average: 0.14, 0.38, 0.25
其内容如下:
|
12:38:33 |
当前时间 |
|
up 50days |
系统运行时间 |
|
7 user |
当前登录用户数 |
|
load average: 0.06, 0.60, 0.48 |
系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
2. 第二、三行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行。内容如下:
|
Tasks: 203 total |
进程总数 |
|
60 running |
正在运行的进程数 |
|
139 sleeping |
睡眠的进程数 |
|
4 stopped |
停止的进程数 |
|
0 zombie |
僵尸进程数 |
|
Cpu(s): 27%us |
用户空间占用CPU百分比 |
|
73.0% sy |
内核空间占用CPU百分比 |
|
0.0% ni |
用户进程空间内改变过优先级的进程占用CPU百分比 |
|
90% id |
空闲CPU百分比 |
|
0.0% wa |
等待输入输出的CPU时间百分比 |
3. 第四五行为内存信息。
内容如下:
|
Mem: 191272k total |
物理内存总量 |
|
173656k used |
使用的物理内存总量 |
|
17616k free |
空闲内存总量 |
|
22052k buffers |
用作内核缓存的内存量 |
|
Swap: 192772k total |
交换区总量 |
|
0k used |
使用的交换区总量 |
|
192772k free |
空闲交换区总量 |
|
123988k cached |
缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入 |
进程信息解释:
|
列名 |
含义 |
|
PID |
进程id |
|
PPID |
父进程id |
|
RUSER |
Real user name |
|
UID |
进程所有者的用户id |
|
USER |
进程所有者的用户名 |
|
GROUP |
进程所有者的组名 |
|
TTY |
启动进程的终端名 |
|
PR |
优先级 |
|
NI |
nice值,负值表示高优先级,正值表示低优先级 |
|
P |
最后使用的CPU,仅在多CPU环境下有意义 |
|
%CPU |
上次更新到现在的CPU时间占用百分比 |
|
TIME |
进程使用的CPU时间总计,单位秒 |
|
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
|
%MEM |
进程使用的物理内存百分比 |
|
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
|
SWAP |
进程使用的虚拟内存中,被换出的大小,单位kb |
|
RES |
进程使用的、未被换出的物理内存大小,单位kb RES=CODE+DATA |
|
CODE |
可执行代码占用的物理内存大小,单位kb |
|
DATA |
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
|
SHR |
共享内存大小,单位kb |
|
nFLT |
页面错误次数 |
|
nDRT |
最后一次写入到现在,被修改过的页面数 |
|
S |
进程状态 |
|
COMMAND |
命令名/命令行 |
|
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
|
Flags |
任务标志,参考 sched.h |
本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1886802 ,如需转载请自行联系原作者
Linux 查看进程资源--ps、top命令的更多相关文章
- [Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务
进程管理:查看与终止 进程查看 1. 进程是正在执行的程序或命令. 2. 进程管理的作用: 判断服务器健康状态, 查看系统中所有进程 杀死进程 3. 查看系统中所有进程 ps aux # 查看系 ...
- linux查看进程和线程的命令
1.任务:获得进程信息 :ps命令,或者top命令,它能显示当前运行中进程的相关信息,包括进程的PID. ps命令能提供一份当前进程的快照.如果想状态可以自动刷新,可以使用top命令. 2.任务:获得 ...
- Linux查看进程并重启服务命令
top -u root 查看系统进程service network restartservice iptables restartservice sshd restartservice nginx r ...
- linux ps top 命令 VSZ,RSS,TTY,STAT, VIRT,RES,SHR,DATA的含义【转】
转自:http://blog.csdn.net/zjc156m/article/details/38920321 http://javawind.net/p131 VIRT:virtual memor ...
- linux ps top 命令 VSZ,RSS,TTY,STAT, VIRT,RES,SHR,DATA的含义
VIRT:virtual memory usage 虚拟内存1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等2.假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而 ...
- Linux 查看进程之PS命令
要对进程进行检测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程运行状态.Linux 系统中 我们可以使用 ps 命令查看进程. ps 命令介绍 ps(process stat ...
- Linux查看进程线程个数
1.根据进程号进行查询: # pstree -p 进程号 # top -Hp 进程号 2.根据进程名字进行查询: # pstree -p `ps -e | grep server | awk '{pr ...
- Linux中系统检测工具top命令
Linux中系统检测工具top命令 本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtua ...
- linux查看进程与线程数
1. 查看进程:ps -ef 或 ps -aux 得到进程的pid:如: ps -ef | grep process_name | grep -v "grep" | awk '{p ...
随机推荐
- Linux利器:使用 gcc 编程C程序
文章更新于:2020-03-23 文章目录 一.手动编译链接单个C源文件 1.创建C源文件 2.编译源文件 3.生成可执行文件 二.手动编译链接多个C源文件 1.创建两个C源文件 2.编译两个源文件 ...
- Dos 命令启动网卡
禁用网卡: netsh interface set interface "本地连接" disabled 启用网卡 : netsh interface set interface & ...
- matplotlib AffineBase, Affine2DBase, Affine2D
2020-04-10 09:02:59 --Edit by yangray 仿射变换矩阵参考资料-->https://blog.csdn.net/robert_chen1988/article/ ...
- loadrunner post请求
注意:loadrunner参数中的引号,需要自己加"\" post 请求,分为header 和body两个部分处理 header部分比较容易处理,使用函数实现,如web_add_h ...
- 浅谈ArrayList
浅谈ArrayList 废话不多说(事实是不会说),让我们直接进入正题 首先讲一讲最基本的ArrayList的初始化,也就是我们常说的构造函数,ArrayList给我们提供了三种构造方式,我们逐个来查 ...
- Shell 变量引用实例
初学 Shell 编程时,对变量各种引用使用不太熟悉,走了很多弯路,本文记录变量引用的一些用法,希望对大家有所帮助. 引用 引用指将字符串用引用符号引起来,以防止特殊字符被 shell 脚本解释为其他 ...
- Salesforce考试 | 如何维护我的Salesforce认证
问题1 Salesforce证书是需要每年维护吗? Salesforce每年会发布3次Realese,分别是Spring.Summer和Winter,可以理解为一年3次的系统新版本更新,每次Relea ...
- Python语法详解
python语法解析 目录 python语法解析 一.顺序结构 二.分支结构 2.1 if 的基本语法 2.2 if 的基本应用 三.循环结构 3.1 while 语法 3.1.1 语法结束条件 3. ...
- mysql搭建亿级cmd5数据库,毫秒级查询 完全过程
前言: 最近也在玩数据库,感觉普通机子搞数据库,还是差了点,全文查找,慢的要查一分钟更久. 但是搞cmd5库很不错,亿级数据库,毫秒级. qq 944520563好吧,下面开始,首先你得需要一个mys ...
- CSS 中的伪类和伪元素
伪类(Pseudo classes) 由于状态的变化是非静态的,所以元素达到一个特定状态时,它可能得到一个伪类的样式:当状态改变时,它又会失去这个样式.由此可以看出,它的功能和 class 有些类似, ...