Ps
功能 :运用该命令可以确定有哪些进程正在运行和运行的状态、 进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
参数:
- A :所有的进程均显示出来,与 -e 具有同样的效用。
- a : 显示当前终端机下的所有进程,包括其他用户的进程。
- u :以用户为主的进程状态 。
- x :通常与 a 这个参数一起使用,可列出较完整信息。
- l :以长格式输出显示
例如:
ps -aux
- USER:该进程属于哪个用户。
- PID :该进程的进程ID号。
- %CPU:该进程使用掉的 CPU 资源百分比。
- %MEM:该进程所占用的物理内存百分比。
- VSZ :该进程使用掉的虚拟内存量 。
- RSS :该进程占用的固定的内存量。
- TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序,例如 ssh工具等。
- STAT:该程序当前的状态
| R | 该程序目前正在运作,或者是可被运作 |
|---|---|
| S | 该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒 |
| T | 该程序目前正在侦测或者是停止了 |
| Z | 该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态 |
- START:该进程启动了的时间。
- TIME :该进程实际使用 CPU 运作了多长时间。
- COMMAND:启动该程序的命令。
ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。
top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。第一行 :从左到右依次为- ->当前时间,开机运行时间,几个用户,平均负载量(最近 1 5 15 分钟内平均负载)。
第二行 :从左到右依次为- ->当前系统进程数80,1个正在运行,79个休眠状态,0个终止,0个僵尸进程。
第三行 :各进程使用cpu时间比。
| us (user) | 运行(未调整优先级的) 用户进程的CPU时间 |
|---|---|
| sy(system) | 运行内核进程的CPU时间 |
| ni(niced) | 运行已调整优先级的用户进程的CPU时间 |
| id(idle) | 空闲时间 |
| wa (IO wait) | 用于等待IO完成的CPU时间 |
| hi | 处理硬件中断的CPU时间 |
| si | 处理软件中断的CPU时间 |
| st | 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的) |
第四行 :Mem -->物理内存使用情况。
第五行 :swap–>使用情况。
下方列表 :各进程任务状态监控。
| PID | 进程ID,进程的唯一标识符 |
|---|---|
| USER | 进程所有者的实际用户名 |
| PR | 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。 |
| NI | 进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级 |
| VIRT | 进程使用的虚拟内存。进程使用的虚拟内存总量,VIRT=SWAP+RES |
| RES | 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小。 |
| SHR | shared memory 共享内存 |
| S | 进程的状态—s, ,t, z, r |
| %CPU | 自从上一次更新时到现在任务所使用的CPU时间百分比。(%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100) |
| %MEM | 进程使用的物理内存百分比 |
| TIME+ | 进程使用CPU时间总计,精确到百分之一秒 |
| COMMAND | 运行进程所使用的命令。 |