目录

1. 进程概述

程序和进程:

进程停止:

进程的属性:

父进程和子进程:

2. ps管理进程

3. uptime查看系统负载

命令:

含义:

4. top动态管理进程

任务队列信息(第一行):

进程和CPU的信息(第二、三行):

内存信息(第四、五行):

进程信息:

快捷键:

其他:

/proc 目录:

5. kill

6. nice


1. 进程概述

程序和进程:

程序是为了完成某种任务而设计的软件;进程是运行中的程序,一个运行着的程序,可能有多个进程。

进程停止:

ctrl c:发送SIGINT信号,终止一个进程

ctrl z:发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停)

ctrl d:不是发送信号,表示一个特殊的二进制值,标识EOF,代表输入完成或注销

进程的属性:

进程ID:PID,唯一的数值,区分进程;

父进程ID:PPID;

启动进程的用户ID:UID;

所归属的组ID:GID;

进程状态:运行 R,休眠 S,僵尸 Z;

父进程和子进程:

父进程终止时,子进程也随之终止。但子进程终止,父进程不一定终止。

父进程退出,子进程没有退出,这些子进程就没有父进程进行管理,变成了僵尸进程


2. ps管理进程

ps -l:长格式输出
ps -u:按用户名和启动时间的顺序来显示进程
ps f:用树形格式来显示进程
ps a:显示所有用户的所有进程(包括其他用户)
ps r:显示运行中的进程
ps -e:显示所有进程,包括没有控制终端的进程
ps -x:显示没有控制终端的进程
ps aux,ps -elf:常用组合
 
USER           PID            PPID     %CPU                         %MEM                    NI                       VSZ
进程的属主   进程的ID    父进程   进程占用CPU百分比     占用内存的百分比      进程的NICE值      进程占用虚拟内存大小
RSS                            TTY                         STAT         START                 TIME                           COMMAND
固定的内存使用数量     进程启用的终端ID     进程状态   启用进程的时间     进程消耗CPU的时间     命令的名称和参数

进程状态:R 正在运行中的进程,S 处于休眠状态,T 停止或被追踪,Z 僵尸进程,D 不可中断,< 优先级高的进程,N 优先级较低的进程,L 有些页面被锁进内存,s 进程的领导者(在它之下有子进程),I 进程是多线程的,+ 位于后台的进程组


3. uptime查看系统负载

命令:

查看cpu负载:uptime

含义:

12:00:00

当前时间

up 10days

系统运行时间

2 user

当前登录用户数

load average:0.0.6,0.60,0.48

系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均度。


4. top动态管理进程

任务队列信息(第一行):

12:00:00

当前时间

up 30min

系统运行时间,格式为“分”

3 user

当前登录用户数

load average:0.0.6,0.60,0.48

系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均度。

进程和CPU的信息(第二、三行):

当前有多个CPU时,这些内容可能会超过两行。内容如下:

Tasks:29 total

进程总数

1 running

正在运行的进程数

28 sleeping

睡眠的进程数

1 stopped

停止的进程数

0 zombie

僵尸进程数

Cpu(s):1

系统用户进程使用CPU百分比

1.0% sy

内核中的进程占用CPU百分比

0.0% ni

用户进程空间内改变过优先级的进程占用CPU百分比

98.7% id

空心啊CPU百分比

0.0% wa

等待输入输出的CPU时间百分比

0.0 hi

硬中断占用CPU的百分比

0.0 si

软中断占用CPU的百分比

0.0 st

虚拟机被hypervisor偷去的CPU时间

内存信息(第四、五行):

内容如下:Linux 使用内存的思想是:尽最大可能使用内存!

Mem:191272k total

物理内存总量

172666 used

使用的物理内存总量

17616k free

空闲内存总量

22053k buff/cache

用作内核缓存的内存量,和free -k 一个意思

Swap:192772k total

交换区总量

0k used

使用的交换区总量

192772k free

空闲交换区总量

3123008 avail Mem

总的可利用内存是多少,和 mem 里的 free+buffer/cache 相等

进程信息:

列名

含义

PID

进程 id

USER

进程所有者的用户名

PR

任务的调度优先级(由内核动态调整),用户不能调整,如果看到“rt”在这个领域,它表示任务在实时调度优先级下运行。

NI

进程优先级。nice 值。负值表示高优先级,正值表示低优先级,0 不调整优先级。

RES

VIRT 占用虚拟内存,实际使用内存的大小

SHR

共享内存大小

S

进程状态:

D:不可中断的睡眠状态

R:运行

S:睡眠

T:跟踪/停止

Z:僵尸进程

%CPU

上次更新到现在的CPU时间占用百分比;1核 100%,6核 600%

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计;单位:1/100秒

COMMAND

命令名/命令行

快捷键:

默认每3s刷新一次,按s修改刷新时间

空格:立即刷新

q:退出

1:显示CPU核心数

M:按内存排序

P:按CPU排序

T:按时间排序

u/U:指定显示的用户

h:帮助信息

其他:

lsof -p 进程号:列出指定进程号所打开的文件

pstree -p:以树状图显示进程,并显示进程PID

/proc 目录:

一个存放在内存中的特殊目录,当前系统运行的所有进程都动态存放在这个目录中。


5. kill

kill -l:查看kill命令的信号

kill -1 进程号:重新加载配置

kill -9 进程号:强行关闭

killall 关键字,pkill关键字:杀死包含该关键字的所有进程


6. nice 值

设置进程的优先级:nice -n 10 vim a.txt

改变进程的优先级:renice 优先级值 pid