运维之基础命令--进程管理

进程

程序:安装包

进程:正在运行的实例

CPU:计算

内存:存储CPU计算使用的临时数据

存储:

进程和线程

僵尸进程和孤儿进程

僵尸进程:进程生命周期结束了,但是PID未被回收

孤儿进程:父进程生命周期结束了,但是子进程未结束,子进程被系统进程接收

1、查看进程

# 命令:ps, 默认查看当前进程

# 参数
-a : 查询所有进程
-x : 查看后台所有的进程
-u : 查看进程的用户

USER : 开启当前进程的用户
PID  : 当前进程的ID号
%CPU : CPU的使用率
%MEM : 内存使用率
VSZ  : 进程启动时默认向计算机申请的内存
RSS  : 进程运行时实际使用的内存
TTY  : 进程运行的终端
	?: 后台运行(没有终端)
	tty:使用系统终端
	pts:使用虚拟终端
STAT :进程运行状态
	R : 正在运行中的进程
	+ : 在前台运行
	S : 睡眠中状态
	D : 不可中断睡眠
	T : 停止状态
	Z :  僵尸状态
	X : 死掉的进程
	< : 优先级较高的进程
	N :优先级较低的进程
	s : 包含子进程       yum install psmisc -y 
	l : 已线程的方式运行
	| : 代表管道
START : 进程的启动时间
TIME  : 占用CPU的时间
COMMAND : 进程执行的命令


-e : 显示所有的进程
-f : 格式化输出同时显示PPID

PPID : 父进程ID

2、top

# 根据一定频率的去监控系统

up前是系统时间
up后是开启的时间

load average: 0.01, 0.42, 0.73
0.01  : 一分钟平均负载
0.42  : 五分钟平均负载
0.73  : 十五分钟平均负载

平均负载:


# CPU加压工具
stress --cpu [需要加压的系统核心数] --timeout [加压的时间]

# CPU 性能加压工具
## 添加epel源(epel源主要用来安装红帽系列操作系统附加软件)
yum install stress -y

# CPU 性能分析工具
yum install sysstat -y

mpstat -P ALL 3   

# 进程性能分析⼯具
pidstat -u 1 5  



Tasks
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie

total : 当前系统一共运行的是125个进程
running : 正在运行的是1个
sleeping : 124个处于睡眠状态
stopped : 停止运行的进程数
zombie  :僵尸进程数


%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

us :在单位时间进程使用CPU所占用的时间百分比
sy : 在单位时间内系统进程占用CPU时间百分比
ni : 在单位时间内优先使用CPU所占时间百分比
id :在单位时间内CPU空闲所占时间百分比
wa : 在单位时间内CPU阻塞态所占CPU时间的百分比
hi : 硬件中断
si : 软件中断
st : 其他占用CPU时间百分比

KiB Mem :  2027892 total,  1234180 free,   176352 used,   617360 buff/cache

total :系统总内存
free  :系统空闲内存
used  : 系统使用内存
buff/cache : 缓存使用内存
avail Mem :

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  
  
PID : 进程编号
USER : 启动进程的用户
PR : 优先级
NI :nice值
VIRT : 虚拟内存
RES  : 使用内存
SHR  : 共享内存
%CPU : cpu使用率
%MEM :内存使用率

3、top快捷键

按1 : 展示所有的CPU的详情
按s : 设置top监控频率(默认3秒)
按m : 按照内存排序 
按z : 添加颜色
按p : 按照CPU排序
按l : 展示CPU总负载(默认显示)

4、top的参数

-d : 设置top的刷新频率
-p :  设置查看的进程PID
	top -d 1 -p `pgrep nginx | head -1`

-u :  查询指定用户的经常的进程
	top -u oldboy

-n : 表示查询n次
	 top -d 0.1 -u oldboy -n 20
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=0

运维之基础命令--进程管理
http://gsproj.github.io/2022/07/06/01_运维/01-基础命令/day16-进程管理/笔记/
作者
GongSheng
发布于
2022年7月6日
许可协议