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. centos7.5下kubeadm安装kubernetes集群安装

    文章是按https://blog.csdn.net/Excairun/article/details/88962769,来进行操作并记录相关结果 版本:k8s V14.0,docker-ce 18.0 ...

  2. android stuido的代码排版的快捷建CTRL+ALT+L

    CTRL+ALT+L 需要主要留意的地方是QQ的与其冲突的 我将qq的中快捷方式给去除

  3. Set原理

    一.HashSet判断重读值的原理 1. 哈希表的存储结构: ==>数组+链表,数组的每个元素以链表的形式存储 2.如何把对象存储到哈希表中 ==>先计算对象的hashcod值,再对数组的 ...

  4. VS2003在解决方案范围内搜索卡死问题的解决

    在Win7系统上使用VS2003的时候,在解决方案范围内搜索某个内容的时候,VS会卡死. 这是一个兼容性问题,Win7系统对VS2003的兼容性不好, 网上有人讲了一种解决方法是: 在vs2003的图 ...

  5. delphi RTTI 三 属性读取与赋值

    delphi RTTI 读取属性 运行期 通过RTTI给属性赋值 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Event_RTTI_In ...

  6. ABAP-定时-异步

    *&---------------------------------------------------------------------* *& Report ZRICO_TES ...

  7. iOS设计标注处理方法

    如果设计只给3x的设计图 在做2x适配时有几种处理方法: 按逻辑像素,大小不变,比如3x手机上一张图的逻辑像素设为24x24point,那么2x手机上这张图的大小也设为24x24point,一般适用于 ...

  8. Android Studio安装插件提示was not installed: Cannot download的解决

    https://blog.csdn.net/xiayiye5/article/details/80510910 2.[Android Studio安装部署系列]三十二.Android模拟器Genymo ...

  9. C#利用CDO.Message发送邮件

    如何引用CDO.Message? cod.message的引用位置: C:\Windows\System32\cdosys.dll CDO.Message objMail = new CDO.Mess ...

  10. c++复习:STL之容器

    1 STL的string 1 String概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字 ...