Linux中ps与top命令
 
============================================================================
这两个命令都是查看系统进程信息的命令,但是用处有点儿不同
1.ps命令--提供系统过去信息的一次性快照
也就是说ps命令能够查看刚刚系统的进程信息  命令:ps aux或者ps lax
[root@Linux ~]# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.1   2032   644 ?        Ss   21:55   0:01 init [3]
root         2  0.0  0.0      0     0 ?        S    21:55   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   21:55   0:00 [ksoftirqd/0]
......
解释如下:
VSZ--进程的虚拟大小
RSS--驻留集的大小,可以理解为内存中页的数量
TTY--控制终端的ID
STAT--也就是当前进程的状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
START--这个很简单,就是该进程启动的时间
TIME--进程已经消耗的CPU时间,注意是消耗CPU的时间
COMMOND--命令的名称和参数
而]#ps lax  可以看到父进程,谦让值以及该进程正在等待的资源等待
 
2.top命令- top命令反应的是系统进程动态信息,默认10s更新一次
[root@Linux ~]#top
top - 22:30:58 up 35 min,  1 user,  load average: 0.12, 0.07, 0.08
Tasks:  72 total,   1 running,  71 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    373320k total,    88600k used,   284720k free,     9956k buffers
Swap:   514072k total,        0k used,   514072k free,    45092k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3217 root      15   0  2160  976  788 R    1  0.3   0:00.07 top
    1 root      15   0  2032  644  552 S    0  0.2   0:01.55 init
    2 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/0
    4 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0
    5 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/1
    6 root      39  19     0    0    0 S    0  0.0   0:00.00 ksoftirqd/1
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1
 
解释如下

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:运行进程所使用的命令。进程名称(命令名/命令行)

以上就是top命令的部分输出,可以看到该命令显示了较为详细的信息
顶部始终显示的是系统当前最活跃的进程,此时还可以接受用户的键盘输入向进程发送信号等待
TOP 功能键:
s – 改变画面更新频率
l – 关闭或开启第一部分第一行 top 信息的表示
t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
h – 显示帮助
n – 设置在进程列表所显示进程的数量
q – 退出 top
s – 改变画面更新周期
3.ps和top都是从/proc目录下读取进程的状态信息,内核把当前系统进程的各种有用信息都放在这个伪目录下。
 
============================================================================
 
ps -ef 与 ps aux
 
  • 第一点 
    -ef是System V展示风格,而aux是BSD风格。 

    字段含义: 
    USER:用户名称 
    PID:进程号 
    %CPU:进程占用CPU的百分比 
    %MEM:进程占用物理内存的百分比 
    VSZ:进程占用的虚拟内存大小(单位:KB) 
    RSS:进程占用的物理内存大小(单位:KB) 
    TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的 
    STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等 
    STARTED:进程的启动时间 
    TIME:CPU时间,即进程使用CPU的总时间 
    COMMAND:启动进程所用的命令和参数,如果过长会被截断显示 

    字段含义: 
    UID:用户ID 
    PID:进程ID 
    PPID:父进程ID 
    C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 
    STIME:进程启动的时间 
    TTY:完整的终端名称 
    TIME:CPU时间 
    CMD:完整的启动进程所用的命令和参数

  • 第二点 
    COMMADN列如果过长,aux会截断显示,而ef不会

综上: 
如果想查看进程的CPU占用率和内存占用率,可以使用aux 
如果想查看进程的父进程ID和完整的COMMAND命令,可以使用ef

CentOS 查看进程状态的更多相关文章

  1. [转帖]CentOS 查看系统信息汇总

    CentOS 查看系统信息汇总 http://blog.itpub.net/15498/viewspace-2637493/ 感觉应该是 centos相关的 改了下名字 日志文件说明 /var/log ...

  2. centOs 查看系统cpu使用率等--top

    原文:centOs 查看系统cpu使用率等--top 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CP ...

  3. centos 查看脚本

    centos 查看脚本 #!/bin/bash date >>info.txt echo "本机centos版本为" >>info.txt cat /etc ...

  4. centos查看设置端口开放状态

    centos查看端口是否已开放/etc/init.d/iptables status centos开放端口/sbin/iptables -I INPUT -p tcp --dport 8000 -j ...

  5. Centos查看端口占用情况和开启端口命令

    Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 1.开启端口(以80端口为例)方法一: /sbin/i ...

  6. CentOS查看端口是否被占用

    CentOS查看端口是否被占用 本文介绍了linux中查看某一端口是否被占用的方法,有关netstat命令的使用技巧,感兴趣的朋友可以参考下. 使用命令: netstat -tunlp 会显示所有端口 ...

  7. Centos查看端口占用和开启端口命令

    Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 1.开启端口(以80端口为例) 方法一: /sbin/ ...

  8. [转]Centos 查看端口占用情况和开启端口命令

    http://www.cnblogs.com/xqzt/p/4919191.html 1.Centos 查看端口占用 比如查看 80 端口占用情况使用如下命令: lsof -i tcp:80 2.列出 ...

  9. Centos查看端口占用和关闭端口

    Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:   lsof -i tcp:80   列出所有端口   netstat -ntlp   1.开启端口(以80端口为例)     ...

随机推荐

  1. electron 项目的搭建方式,借助 node 和 npm

    1,首先确定安装了 node 和 npm 2,创建一个文件夹,如 aa 3,CMD 命令进入到 aa,用 npm 命令初始化一个项目 4, npm -init 根据提示完成配置 5,安装 electr ...

  2. Kali 局域网 DNS 劫持

    <一> 所需工具  1: Kali-linux-2017  2: ettercap 0.8.2 3: web 服务器, 这里以 node 为例 <二> 原理  1: DNS劫持 ...

  3. javascrpt基础入门

    JavaScript 是一门脚本语言,同HTML语言一样,需要浏览器或者JavaScript解释器,解释执行. 1. 第一个JavaScript程序: <html> <body> ...

  4. Spring Cloud (6)A config 服务端配置 与github通信

    1. 在git上创建一个库,并复制库地址 2.用git clone项目到本地,并创建application.yml application.yml 内容 --下一步 3.将application.ym ...

  5. centos LVM详解

    title: centos LVM详解 date: 2018-04-24 14:00:03 tags: [linux,centos,LVM] --- 知识了解 LVM关系图 fdisk命令详解 [ro ...

  6. GridEh 当前行

    DataSet当前行,不是当前选中的行 int arow = 0;    arow = cds1->RecNo;    arow = cds1->RecordCount;    arow ...

  7. Vmware 不使用物理内存运行缓慢的处理方法

    VMware虚拟机直接使用物理内存的方法 1:打开虚拟机操作系统文件夹,找到.vmx后缀的文件 2:以记事本方式打开文件,在最后一行添加mainMem.useNamedFile=FALSE. 3:保存 ...

  8. django 之manytomany

    https://www.cnblogs.com/changbaishan/p/8056762.html https://blog.csdn.net/hpu_yly_bj/article/details ...

  9. 使用exec函数将当前的信息输入到文件中

    先来看看exec函数: exec函数族     fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函 ...

  10. PDF文档的目录编辑与显示

    为了更好的保护PDF文件,可以将其转换为图片的格式,再重新排版编辑. 使用压缩率更高的JPEG 2000图片格式更佳. ---------------------------------------- ...