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        根据内存使用大小排序

[[email protected] ~]# 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 [email protected]: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命令

[[email protected] ~]#  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


进程状态
            D=不可中断的睡眠状态
            R=运行
            S=睡眠
            T=跟踪/停止
            Z=僵尸进程


COMMAND


命令名/命令行


WCHAN


若该进程在睡眠,则显示睡眠中的系统函数名


Flags


任务标志,参考 sched.h

时间: 2024-11-05 02:32:09

Linux 查看进程资源--ps、top命令的相关文章

动态查看进程信息 -- 基于 top 命令工具(祝大家五一节快乐!)

个人博客首页(点击查看详细信息)   1.简介     系统 服务器 负载.CPU.内存.进程 等信息 反应 当前服务的运行状态,top 可以获取 这些 相关信息(当然,除了 top 之外 还有 很多 工具可以获取这些 信息 -- 例如 htop.iotop ...,本文 主要介绍 top)     2.执行命令 ## 命令 很简单,直接 命令行 输入 top 按回车之后,弹出一个 交互界面 # top      3.结果 分析     top 结果我们 从上往下,按行 依次分析     3.1

linux ps top 命令 VSZ,RSS,TTY,STAT, VIRT,RES,SHR,DATA的含义

linux ps top 命令 VSZ,RSS,TTY,STAT, VIRT,RES,SHR,DATA的含义 linuxpstop http://javawind.net/p131 VIRT:virtual memory usage 虚拟内存 1.进程“需要的”虚拟内存大小,包括进程使用的库.代码.数据等 2.假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量 RES:resident memory usage 常驻内存 1.进程当前使用的内存大小,但不包

linux查看进程命令

linux查看进程命令 查看进程命令 $ ps -a 杀掉进程命令 $ kill 进程id 监听端口命令 $ netstat -anp | grep 4000 作者:xingguang 链接:https://www.tiance.club/post/2516578616.html 原文地址:https://www.cnblogs.com/yizhidaozuihou/p/12445884.html

Linux之进程管理(2)相关命令之四

Linux之进程管理(2)相关命令之四 设置或调整进程优先级命令: nice  rnice nice 命令 nice - run a program with modified scheduling priority 运行一个程序时修改调度其进程优先级 格式及用法: nice  [options]  [command [args]] -n  # :#表示要设置此程序nice值,-20到19,值越下,优先级越高 注:-20到19的每个nice值分别对应(Centos5中为100-139,CentO

Linux之进程管理(2)相关命令之一

Linux之进程管理(2)相关命令之一 procps工具命令对进程管理的使用:   ps   pgrep  pidof  pkill  pstree ps  命令 ps  (Process State)  :report a snapshot of the current processes. 查看当前进程的快照信息表 此命令支持3种风格: 1.SysV风格:选项前必须加-符号,如ps  -ef 2.BSD风格:选项前可以不加-符号,如ps  aux 3.GUN风格:之前两个-符号,类似长选项,

Linux之进程管理(2)相关命令之二

Linux之进程管理(2)相关命令之二 进程监控工具命令使用:uptime  top  vmstat  pmap  dstat uptime  命令 uptime - Tell how long the system has been running. 显示当前已经运行的时长及cpu核心处理状态 说明:显示系统当前时间,系统运行时长,以及当前上线人数,系统平均负载(一般按1.5.10分钟的平均负载,一般不会超过1). 选项及用法: uptime  [option] -p, --pretty  :

Linux之进程管理(2)相关命令之三

Linux之进程管理(2)相关命令之三 (IPC)进程间通信及信号控制命令 kill  killall   kill 命令 kill - terminate a process,Inter Process Communication 进程通信工具,默认为发送终止信号 选项及用法: kill  -l  #显示所有信号CODE及名称 kill  [-SIGNAL]  pid...#指定发送信号给对应pid的进程,不指定信号代码默认为15信号 常见的信号:(注:可以使用man 7 signal打开帮助

linux查看进程与线程数

1. 查看进程:ps -ef 或 ps -aux 得到进程的pid:如: ps -ef | grep process_name | grep -v "grep" | awk '{print $2}' 2.根据进程号进行查询: # pstree -p 进程号 # top -Hp 进程号 3.根据进程名字进行查询: # pstree -p `ps -e | grep server | awk '{print $1}'` # pstree -p `ps -e | grep server |

整理Linux查看系统日志的一些常用命令

整理Linux查看系统日志的一些常用命令 last -a 把从何处登入系统的主机名称或ip地址,显示在最后一行. -d 指定记录文件.指定记录文件.将IP地址转换成主机名称. -f <记录文件> 指定记录文件. -n <显示列数>或-<显示列数> 设置列出名单的显示列数. -R 不显示登入系统的主机名称或IP地址. -x 显示系统关机,重新开机,以及执行等级的改变等信息 以下看所有的重启.关机记录 last | grep reboot last | grep shutd