1.进程,系统性能和计划任务
进程,正在运行 的程序
PID,标记进程
UID,GID,SELinux决定权限
task struct
task list
2.进程创建:
init/systemd:第一个进程
进程:都由其父进程创建,父子关系,fork(),cow机制:copy and write
一个进程里至少一个线程,进程之间相互独立,由操作系统调度,
物理地址空间:进程实际的地址
线性地址空间:进程虚拟的地址
MMU:负责转换
TLB:缓存转换关系表
LRU:近期最少使用算法,释放内存
IPC:进程间通信
同一主机:pipe 管道,单向,socket 套接字文件,双向,signal 信号,shm 共享mermory,semaphore 信号量,一种计数器
不同主机:socket IP和port,RPC 远程过程调用,MQ 消息队列kafka,rabbitMQ,activeMQ
3.进程优先级
系统优先级:数值越小,优先级越高,0-139
实时优先级,0-99,值越大优先级越高策略FIFO RR
非实时优先级,100-139,Nice值对应(-20,19),策略时间片
Big O :时间复杂度,用时和规模的关系
nice
renice
Linux内核:抢占式多任务
进程类型:守护进程,前台进程,可互转
进程状态:运行态,就绪态,睡眠态(可中断,不可中断),停止态,僵死态
进程的分类,CPU-Bound非交互,IO-Bound交互
4.进程管理工具
pstree -p 进程树
ps aux,-ef,-o过滤pgrep
ni:nice值
pri:优先级
psr:CPU编号
rtprio:实时优先级
init 3 关闭图像界面
ss -ntl 端口监听
pgrep
pidof 查看进程号
uptime 系统已启动时间
w
5.内存管理
top
htop
free
vmstat 虚拟内存
6.系统监控
iostat 统计cpu和设备io信息
iftop 显示带宽使用情况
pmap进程对应的内存映射
stack栈 heap堆
strace 系统调用信息
ltrace 调用的函数库
glances 跨网查看系统情况
dstat
iotop 查看进程在磁盘上的读写情况
nload 查看网络实时吞吐量
lsof 查看哪些资源被占用
恢复被删的正在使用的文件
lsof |grep delete
cat /proc/”id“/fd #fd文件描述符
cat /proc/“id”/fd/‘id’ > filename
7.kill :向进程发送控制信号实现管理
trap -l, kill -l 查看信号的种类
默认-15 正常终止进程
-1 hub 不关闭进程重读配置
-2 ctrl+c
-9 终止强制
killall
pkill
8.前台作业
后台作业
command &
jobs 查看后台作业
fg id 后台作业转为前台作业停止
bj id 后台停止转后台运行
后台运行作业,窗口关闭不影响作业
nohup &> /dev/null &
screen
前台正在运行的作业 ,ctrl+z,转为后台停止,bg id,转为后台运行
后台作业,-19/kill %id,后台停止,-18,后台运行
9.并行运行
1.脚本
2.(command1&);(command2&
3.{command1& command2&}