作用

  • 1) 判断服务器的健康状态
  • 2) 查看系统中所有的进程
  • 3) 杀死进程

后台运行

命令 - nohup

  • nohup
  • screen
  • deamon

查看 - ps

-aux 查看系统中所有的进程,使用 BSD 操作系统格式

-le 查看系统中所有的进程,使用 Linux 标准命令格式

查看当前终端放入后台的工作:jobs

选项含义
-l列出进程的 PID 号。
-n只列出上次发出通知后改变了状态的进程。
-p只列出进程的 PID 号。
-r只列出运行中的进程。
-s只列出已停止的进程。

fg 后台正在运行的进程放到前台运行

bg 将后台暂停的进程放到前台运行

top 实时监听进程状态

第一部分 : 是前五行,显示的是整个系统的资源使用状况,我们就是通过这些输出来判断服务器的资源使用状态的;

第 1 行 - 任务队列信息

内 容说 明
1:22系统的运行时间.本机己经运行 1个小时22分钟
21:13:03系统当前时间
2 users当前登录了两个用户
load average: 0.00,0.00,0.00系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值超过 1 就是高负载:如果 CPU 是四核的,则这个数值超过 4 就是高负载 (这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器 CPU 的核数)

第 2 行 - 进程信息

内 容说 明
Tasks: 217 total系统中的进程总数
1 running正在运行的进程数
117 sleeping睡眠的进程数
3 stopped正在停止的进程数
0 zombie僵尸进程数。如果不是 0,则需要手工检查僵尸进程

僵尸程序

僵尸进程的产生一般是由于进程非正常停止或程序编写错误,导致子进程先于父进程结束,而父进程又没有正确地回收子进程,从而造成子进程一直存在于内存当中,这就是僵尸进程。

僵尸进程会对主机的稳定性产生影响,所以,在产生僵尸进程后,一定要对产生僵尸进程的软件进行优化,避免一直产生僵尸进程;对于已经产生的僵尸进程,可以在查找出来之后强制中止。

第 3 行 - 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%stst(steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比

第 4 行 - 物理内存信息

内 容说 明
Mem: 1992496 total物理内存的总量,单位为KB
339108 used己经使用的物理内存数量
1193020 free空闲的物理内存数量。
460368 buffers作为缓冲的内存数量
  • 缓存(cache)是在读取硬盘中的数据时,把最常用的数据保存在内存的缓存区中,再次读取该数据时,就不去硬盘中读取了,而在缓存中读取。
  • 缓冲(buffer)是在向硬盘写入数据时,先把数据放入缓冲区,然后再一起向硬盘写入,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。

第 5 行 - 交换分区(swap)信息

内 容说 明
Swap: 4095996 total交换分区(虚拟内存)的总大小
0 used已经使用的交换分区的大小
4095996 free空闲交换分区的大小
1456924 avail Mem代表可用内存大小

第二部分:从第六行开始,显示的是系统中进程的信息;

- PID:进程的 ID。
- USER:该进程所属的用户。
- PR:优先级,数值越小优先级越高。
- NI:优先级,数值越小、优先级越高。
- VIRT:该进程使用的虚拟内存的大小,单位为 KB。
- RES:该进程使用的物理内存的大小,单位为 KB。
- SHR:共享内存大小,单位为 KB。
- S:进程状态。
- %CPU:该进程占用 CPU 的百分比。
- %MEM:该进程占用内存的百分比。
- TIME+:该进程共占用的 CPU 时间。
- COMMAND:进程的命令名。

修改进程优先级的命令 nice , renice

- nice -n
- renice -n -p
# 选项
	-n 指定优先级
	-p 指定PID

终止进程 kill,pkill , killall

kill	# 指定PID
pkill	# 指定名称
killall # 终止特定进程