linux上进程有5种状态:
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
名称:ps
使用权限:所有使用者
使用方式:ps [options] [--help]
说明:显示瞬间行程 (process) 的动态
参数:
附:Linux中top与ps区别
一:ps命令
以下是 ps 的最简单形式:
$ ps PID TTY TIME CMD 3884 pts/1 00:00:00 bash 3955 pts/2 00:00:00 more 3956 pts/5 00:00:05 sqlplus • PID 是进程的标识号。 • TTY 是进程所属的终端控制台。 • TIME 列是进程所使用的总的 CPU 时间。 • CMD 列列出正在执行的命令行。 使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。一般将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。例如: $ ps -ef | grep Oracle UID PID PPID C STIME TTY TIME CMD oracle 1633 1 0 13:58 ?00:00:00 ora_pmon_ora1 oracle 1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1 oracle 1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1 oracle 1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1 oracle 1641 1 0 13:58 ?00:00:02 ora_smon_ora1 oracle 1643 1 0 13:58 ?00:00:00 ora_reco_ora1 oracle 1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1 oracle 1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1 oracle 1649 1 0 13:58 ?00:00:00 ora_s000_ora1 oracle 1651 1 0 13:58 ?00:00:00 ora_d000_ora1 -e : 在命令执行后显示环境 -f : 完整显示输出 • 标为 C 的列是由 CPU 用于计算执行优先级的因子。 • STIME 是指进程的启动时间。 • 问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。
主要参数说明:
1) 进程用户ID(UID), 虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID 2) 进程ID (PID) 3) 父进程ID (PPID) PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的 4) CPU 调度情况 (C) 即是是由 CPU 用于计算执行优先级的因子。 5) 进程启动的时间 (STIME) 6) 进程共占用CPU的时间(TIME) 7) 启动进程的命令 (CMD) 8)问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。
使用PS命令分析系统性能的方法主要有:
1) 首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。
2) 接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该京城的某写逻辑出了错
3) 找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。
二:top命令
Ps 只为您提供当前进程的快照。要即时查看最活跃的进程,可使用 top。
Top 实时地提供进程信息。它还拥有交互式的状态,允许用户输入命令,如 n 后面跟有 5 或 10 等数字。其结果是指示 top 显示 5 或 10 个最活跃的进程。 Top 持续运行,直到您按 "q" 退出 top 为止。
Top中的几个隐含参数:
top中按1键和F键的参数:
按1键可以等到多个cpu的情况
按F(f:当前状态,可以按相应的字母键做top的定制输出)后得参数:
对F键和f键的区别:
如果进入F键区可以做进程显示的排序,如果进入f键区的话则可以选择显示的多个项目: