进程是已启动的可执行程序的运行实例
进程有以下组成部分:
文件;
被配内存的地址空间;
有权限限制;
程序代码的一个或多个副本(也叫执行线程);
像人一样拥有状态;
PS __ process status (进程状态管理器)
静态查看进程 ps : # ps aux head 2(可用gred命令)
输出字段的含义:
USER: 运行进程的用户
PID:进程id
%CPU:CPU占用率
%MEM:内存占用率
VSZ: 占用虚拟内存
RSS:占用实际内存
TTY:进程运行的终端
STAT:进程状态 man ps (/STATE)
START:进程的启动时间
TIME:进程占用cpu的总时间
COMMAND:进程文件,进程名
进程的生命周期:由系统程序,fork出来的子程序。具备一定父的资源(权力,内存,PID)。直到运行完毕,退出系统。
进程的状态:
R-running T-stopped S- sleeping Z-zombie
主要命令参数说明:
ps a 显示现行终端机下的所有程序
ps u 以用户为主的格式来显示程序状况
ps x 不以终端机来区分
进程排序
语法: # ps aux -- sort=-%cpu
进程的父子关系
语法: # ps -ef
(PPID为父id)
自定义显示字段
语法 : # ps axo user,pid,ppid,%mem,command | head -3
TOP
动态查看进程top(实时任务管理器)
top -d 3 -p PID
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
- d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
- q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
- c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
- S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
- s : 安全模式,将交谈式指令取消, 避免潜在的危机
- i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
- n : 更新的次数,完成后将会退出 top
- b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
上面五行为实时性能,以下为实时进程
上五行说明:
第一行是任务队列信息:系统当前时间、系统的运行时间、当前登录的用户数和系统在之前1、5和15分钟的平均负载。
第二行为进程信息:系统中的进程总数、正在运行的进程总数、睡眠的进程数、正在停止的进程数以及僵尸进程数。
第三行为CPU信息:用户模式占用的CPU百分比、系统占用的CPU百分比、改变优先级的用户进程占用的CPU百分比、空闲CPU占用的CPU百分比(注意,这个是越高说明系统越流畅)、等待输入/输出的进程占用的CPU百分比、硬中断请求占用CPU百分比、软中断请求服务占用的CPU百分比、最后一st意为虚拟时间,就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。
第四行为物理内存信息:物理内存的总量(单位KB)、已经使用的物理内存数量、空闲的物理内存数量以及作为缓冲的内存数量
第五行为交换分区信息:总大小、已经使用的大小、空闲的大小以及作为缓存的交换分区的大小(swap:虚拟内存,假分区)
USER:这个一看就知道,该进程是由哪个用户产生的
PID:进程的ID
PR、NI:优先级
VSZ:该进程占用虚拟内存的大小,单位为KB
RSS:该进程占用实际物理内存的大小,单位为KB
TTY:该进程是在哪个终端运行的。其中tty1~tty7代表本地控制台终端,pts/0~255代表虚拟终端,一般是远程连接的终端。
STAT:进程状态。常见的状态有:-D(不可被唤醒的睡眠状态)、-R(正在运行)、-S(该进程处于睡眠状态,可被唤醒)、-T(停止状态,可能是在后台暂停或进程处于除错状态)、-X(死掉的状态)、-Z(僵尸状态。进程已经中止,但是部门程序还在内存当中。)、-<(高优先级)、-N(低优先级)、-L(被锁入内存)、-s(小写,包含子进程)、-l(小写L,多线程)、-+(位于后台)。
START:该进程的启动时间
TIME:该进程占用CPU的运算时间
COMMAND:产生此进程的命令名。
TOP常用内部指令: