进程界的 “侦探二人组”:ps 静态抓拍,top 动态监控,Linux 进程管理稳了
Linux操作系统引导过程
①开机自检(BIOS)【硬件通电是否正常】
②MBR引导【系统需要加载的程序进程文件等内容需要MBR指引位置】(说简单点就是你选择登录系统之前的系统的动作)

③GRUB菜单【选择登录的操作,例如选择要登录的系统环境】(选择登录系统,这个很好理解)

④加载内核(kernel)【加载shell环境,系统部分环境到内存中】
⑤init进程初始化【先运行第一个服务进程:systemd;然后逐个开启一些“开机自启动”的服务】
进程
开机自启动的第一个进程
init进程(传统的系统初始化进程)/systemd进程(init 的替代者,新一代的系统和服务管理器)
服务器–>主进程–>和操作系统交互,获取到计算机的资源(CPU、内存、磁盘、I/O、网络)
进程的分类:主进程(有核心的任务)、子进程(具体负责)、线程
跨进程通讯CPU消耗很大
init是系统第一个运行的进程,后面的数字代表的是控制操作系统的运行级别

红色是我们经常会用到的命令
init 0:表示关机
init 6:表示重启
系统服务控制
systemctl 控制类型 服务名称
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态
enable:开机自启动
进程管理
ps**(静态进程)**
常用搭配:
ps -aux
-a:显示所用用户的进程信息
-u:以用户为主的格式显示
-x:显示当前用户在所有终端下的进程
以用户作为主体输出进程信息的,查看当前系统中所有用户的进程任务信息,包括pid号、CPU/MEM使用率、登录的终端TTY、进程的状态、进程运行的开始时间、进程任务执行所花费的时间、进程任务具体的操作指令、应用程序执行文件的命令

ps -elf
-e:显示所有进程信息
-l:长格式详细显示
-f:完整格式显示
以系统作为主体输出进程信息的,并且可以看到父进程和子进程之间的关系,PID是进程号,PPID是父进程号

pstree(进程树)

常见的进程状态
R 正在运行
S 休眠(可被唤醒)
T 停止状态

进程的异常状态
Z 僵尸进程
孤儿进程:父进程退出,子进程还在,可手动杀死
僵尸进程、孤儿进程一般出现在系统资源压力很大的时候
⭐⭐top(动态进程)
输入命令:top我们需要查看到的几个信息
load average: 0.00, 0.01, 0.05

分别代表了cpu过去1min、5min、15min的平均负载率
目的:判断当前系统的压力情况,根据压力情况,对系统资源进行合理分配;【要找到消耗资源更大的进程,判断进程是否是重要的任务】
假如 当前操作系统有4个CPU核心
当load average的值小于cpu核心数量的时候,表示CPU使用率很空闲(小于4)
当load average的值等于cpu核心数量的时候,表示CPU是满负载的(等于4)
当load average的值大于cpu核心数量的2倍时,表示CPU是高负载的(等于8左右)
当load average的值大于cpu核心数量的3倍及以上时,准备好系统会崩
安装一个stress的CPU压力测试工具(压测)
这个工具是模拟CPU的任务。给系统施加压力,测试性能
例如stress -c 4
给四个CPU的系统满负载的压力
准备两个虚拟机窗口
一个运行压力测试工具

另一个用top来查看load average的值

上图运行了压力测试工具一到两分钟的结果;然后我们关闭压力测试工具,等待一到两分钟

这样更容易理解load average的三个值的表达的意思
最后拓展两个概念:
缓存、缓冲的区别
缓冲区:写入操作
缓存区:主要用于读数据
为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。
更多推荐


所有评论(0)