进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源
进程管理的作用
- 判断服务器健康状态
- 查看系统中所有的进程
- 杀死进程
  
ps命令 查看所有进程
| 
 | 
 | 
输出详解
| 显示 | 含义 | 
|---|---|
| USER | 该进程是由哪个用户产生的 | 
| %CPU | 该进程占用CPU资源的百分比,占用越高,进程越耗费资源 | 
| %MEM | 该进程占用物理内存的百分比,占用越高,进程越耗费资源 | 
| VSZ | 该进程占用虚拟内存的大小 ,单位KB | 
| RSS | 该进程占用实际物理内存的大小,单位KB | 
| TTY | 表示该进程是在哪个终端运行的 tty1-tty6是本地字符界面终端,tty7是本地图形终端 pts/0-255代表虚拟终端 | 
| STAT | 进程的状态 R :运行 S :睡眠 T :停止 s :包含子进程 + :位于后台 | 
| START | 该进程的启动时间 | 
| TIME | 该进程占用CPU的运算时间,注意不是系统时间 | 
| COMMAND | 产生些进程的命令名 | 
/sbin/init的pid永远是1,它是系统下所有进程的父进程,所有的进程都依赖于它
TTY是?,代表该进程是由系统内核启动的,一般认为是系统进程
  
pstree命令 查看进程树
| 
 | 
 | 
  
top命令 查看系统健康状态
| 
 | 
 | 
输出详解
| 第一行为任务队列信息 | |
|---|---|
| 12:26:46 | 系统当前时间 | 
| up 1 day,13:32 | 系统已运行的时长 | 
| 2 users | 当前登录的用户数量 | 
| load average | 系统在之前1分钟,5分钟,15分钟的平均负载(与CPU核数相关,一般认为单核小于1时,负载较小,如果大于1,系统已经超出负荷,那么双核不超2,4核不超4) | 
| 第二行为进程信息 | |
| tasks:95 total | 系统中的进程总数 | 
| 1 running | 正在运行的进程数 | 
| 94 sleeping | 睡眠的进程数 | 
| 0,stopped | 停止的进程数 | 
| 1 zombie | 僵尸进程(应该停止却没有停止的进程),如果不是0,需要手工检查僵尸进程 | 
| 第三行为CPU信息 | |
| Cpu(s):0.1%us | 用户模式占用的CPU百分比 | 
| 0.1%sy | 系统模式占用的CPU百分比 | 
| 0.0%ni | 改变过优先级的用户进程占用的CPU百分比 | 
| 99.7%id | 空闲CPU的CPU百分比 | 
| 0.1%wa | 等待输入/输出的进程的占用CPU百分比 | 
| 0.0%hi | 硬中断请求服务占用的CPU百分比 | 
| 0.1%si | 软中断请求服务占用的CPU百分比 | 
| 0.0%st | st(Steal time)虚拟时间百分比,就是当有虚拟CPU时,虚拟CPU占实际CPU的时间百分比 | 
| 第四行为物理内存信息 | |
| Mem: 623434k total | 物理内存的总量,单位kb | 
| 521313k free | 空闲的物理内存 | 
| 578322k used | 已经使用的物理内存 | 
| 623231 buff/cache | 作为缓冲/缓存的内存数量 | 
| 第五行是交换分区的信息 | |
| Swap: 8298492 total | 交换分区的总量,单位kb | 
| 8292336 free | 空闲的交换分区 | 
| 6156 used | 已经使用的交换分区 | 
| 3129824 avail Mem | 可用的交换分区 | 
| 第六行类似ps | |
| PR | 优先级 | 
| NI | 任务nice值 | 
| VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES | 
| RES | 物理内存用量 | 
| SHR | 共享内存用量 | 
| TIME+ | 累计cpu占用时间 | 
cpu读写速度>内存>硬盘
缓存cache是加速读取 减少对硬盘的读取
缓冲buff是加速写入 减少对硬盘的写入
判断系统健康状况主要查看的参数:
- load average: 0.00, 0.00, 0.00 #表示系统在之前1分钟,5分钟,15分钟的平均负载。.
- Cpu(s):…99.8%id #CPU空闲百分比
- Mem:…6780k free #内存空闲率
- Swap:…536723k free #swap空闲率
列出进程打开或使用的文件信息
| 
 | 
 | 
参考: