<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>内核 on L00n9&#39;s Blog</title>
        <link>https://www.l00n9.icu/tags/%E5%86%85%E6%A0%B8/</link>
        <description>Recent content in 内核 on L00n9&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>L00n9 N1</copyright>
        <lastBuildDate>Fri, 22 Nov 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.l00n9.icu/tags/%E5%86%85%E6%A0%B8/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Linux启动流程和内核管理</title>
        <link>https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/</link>
        <pubDate>Fri, 22 Nov 2024 00:00:00 +0000</pubDate>
        
        <guid>https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/</guid>
        <description>&lt;h1 id=&#34;流程图&#34;&gt;流程图
&lt;/h1&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241122175237471.png&#34;
	width=&#34;2117&#34;
	height=&#34;986&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241122175237471_hu10418424461305082004.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241122175237471_hu10073309151545303808.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241122175237471&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;214&#34;
		data-flex-basis=&#34;515px&#34;
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;引导程序bootstrap-program&#34;&gt;引导程序（Bootstrap Program）
&lt;/h1&gt;&lt;h2 id=&#34;bios&#34;&gt;BIOS
&lt;/h2&gt;&lt;p&gt;其代码存储在主板的一颗ROM存储芯片上，ROM是只能读不能写的&lt;/p&gt;
&lt;p&gt;修改的数据是存储在另外一颗RAM存储芯片上，RAM掉电后数 据就会消失，所以主板上有一颗纽扣电池来给这个RAM供电，当这颗纽扣电池没电了，BIOS里面的设置项，就 又恢复成出厂设置了。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;POST：
&lt;ul&gt;
&lt;li&gt;Power-On-Self-Test （加电自检），是硬件程序BIOS芯片中的一个主要功能，负责完成对CPU、主 板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ROM：
&lt;ul&gt;
&lt;li&gt;Read-Only Memory （只读存储），该存储器上的数据只能读出，不能写入&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RAM：
&lt;ul&gt;
&lt;li&gt;Random Access Memory （随机存取存），这里的随机取存，是指通电后，随时可在任意位置单元存 取数据信息，不过断电后内部信息也随之消失。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;系统启动自举程序：
&lt;ul&gt;
&lt;li&gt;搜寻并加载操作系统引导记录（MBR）的程序。
&lt;ul&gt;
&lt;li&gt;按照RAM中保存的启动顺序，搜寻有效的启动驱动器（如硬盘、光盘驱动器、网络服务器等）。&lt;/li&gt;
&lt;li&gt;读入操作系统引导记录。&lt;/li&gt;
&lt;li&gt;将系统控制权交给引导记录，由引导记录完成系统的启动。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;BIOS只支持传统的MBR（主引导记录）磁盘分区格式&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;BIOS里面的 boot 指定我们要启动的位置，0:0 == [第一块磁盘的第一个分区]&lt;/p&gt;
&lt;h2 id=&#34;efiuefi&#34;&gt;EFI，UEFI
&lt;/h2&gt;&lt;p&gt;UEFI（统一可扩展固件接口）是一种新的启动方式，它在BIOS的基础上进行了改进，可以看作是BIOS的 升级版。UEFI模式具有许多优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;启动速度快：
&lt;ul&gt;
&lt;li&gt;UEFI支持硬件加速和并行处理，可以在几秒钟内启动操作系统，而BIOS通常需要几十秒。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;支持大容量硬盘：
&lt;ul&gt;
&lt;li&gt;UEFI基于GPT（全局唯一标识分区表）分区结构，能够支持超过2TB的硬盘容量。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;功能丰富：
&lt;ul&gt;
&lt;li&gt;UEFI拥有更加现代化的图形界面，可以更方便地进行设置和管理。&lt;/li&gt;
&lt;li&gt;它支持网络启动、安全启动等高级功能，并提供灵活的驱动程序支持。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;兼容性好：
&lt;ul&gt;
&lt;li&gt;UEFI可以识别MBR和GPT两种分区格式，因此可以兼容不同版本的Windows和Linux操作系统。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;在UEFI模式下,直接由EFI系统分区中的 .efi 引导程序来引导操作系统。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;EFI 系统分区（ESP）起始于第 2048 扇区，用于存储 &lt;code&gt;.efi&lt;/code&gt; 引导文件。&lt;/p&gt;
&lt;h1 id=&#34;bootloader-启动加载器&#34;&gt;bootloader 启动加载器
&lt;/h1&gt;&lt;p&gt;Bootloader叫引导加载器，引导程序。&lt;/p&gt;
&lt;p&gt;独立的软件，运行在BIOS之后，操作系统启动之前。它的主要作用就是&lt;strong&gt;引导操作系统&lt;/strong&gt;启动。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121115303839.png&#34;
	width=&#34;913&#34;
	height=&#34;395&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121115303839_hu16779800951004762717.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121115303839_hu13969319726227901660.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121115303839&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;231&#34;
		data-flex-basis=&#34;554px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;mbr10阶段&#34;&gt;MBR（1.0阶段）
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121114636800.png&#34;
	width=&#34;808&#34;
	height=&#34;350&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121114636800_hu4752951917068073467.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121114636800_hu1018223794732899071.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121114636800&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;230&#34;
		data-flex-basis=&#34;554px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第 0 扇区&lt;/strong&gt;（512 字节）存储了 MBR（主引导记录），其空间非常有限，只能容纳引导加载器的第一阶段（Stage 1）。&lt;/p&gt;
&lt;p&gt;Stage 1 主要负责定位和加载后续阶段的引导代码，而文件系统驱动程序可能体积较大，需要额外空间。&lt;/p&gt;
&lt;h2 id=&#34;1-2047扇区15阶段&#34;&gt;1-2047扇区（1.5阶段）
&lt;/h2&gt;&lt;p&gt;用于加载文件系统驱动程序，支持解析磁盘上的文件系统。&lt;/p&gt;
&lt;p&gt;在 1-2047 扇区中存储文件系统驱动或支持代码，使第二阶段引导程序（Stage 2）能够读取磁盘上的文件系统（如 &lt;code&gt;/boot&lt;/code&gt; 分区）。&lt;/p&gt;
&lt;h2 id=&#34;grub20阶段&#34;&gt;GRUB（2.0阶段）
&lt;/h2&gt;&lt;p&gt;CentOS 5，6 GRUB 0.97（GRUB Legacy）， CentOS 7 以后使用 GRUB 2.xx&lt;/p&gt;
&lt;p&gt;GRUB（GRand Unified Bootloader）是一个启动加载程序，用于启动操作系统。其配置文件在 Linux系统的启动过程中起着至关重要的作用。&lt;/p&gt;
&lt;p&gt;目前grub的配置文件主要有两种样式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;grub1的配置文件在 /boot/grub/grub.conf&lt;/li&gt;
&lt;li&gt;grub2的配置文件在 /boot/grub2/grub.cfg&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;读取 &lt;code&gt;/boot/grub&lt;/code&gt; 下的配置文件和操作系统内核。选择和加载内核。&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;c&#34;&gt;# GRUB 2 的主配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;nb&#34;&gt;cat &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-n&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;boot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;grub2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;grub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;cfg&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;grep&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;###&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;c&#34;&gt;# 其中 ### BEGIN /etc/grub.d/10_linux ### 是linux系统启动的选择区域&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;c&#34;&gt;# 系统启动信息配置文件，放置在另外一个目录下&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;nb&#34;&gt;ls &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;boot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loader&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;entries&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# ed2606c630314e8ebc3fe115115cb13e-0-rescue.conf                            救援模式的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# ed2606c630314e8ebc3fe115115cb13e-5.14.0-427.13.1.el9_4.x86_64.conf        正常的&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;vmlinuz是一个压缩的内核镜像文件，包含了Linux内核的压缩版本以及相关的启动信息。&lt;/p&gt;
&lt;p&gt;在系统启动时，引导加载程序（如GRUB）会加载vmlinuz文件，并将其解压缩到内存中。&lt;/p&gt;
&lt;p&gt;然后，操作系统的控制权会转移到内核镜像，从而启动Linux操作系统。&lt;/p&gt;
&lt;p&gt;mlinuz文件包含了操作系统的核心功能、驱动程序和必要的文件系统支持，负责初始化硬件设备、管理进程、提供系统调用接口等。&lt;/p&gt;
&lt;p&gt;initramfs（initial ramdisk filesystem）是一个在内存中的临时根文件系统。&lt;/p&gt;
&lt;p&gt;它在Linux内核启动之前被加载到内存中。initramfs包含了内核启动所需的文件系统模块和驱动程序，使得内核能够顺利地加载真正的根文件系统。一旦真正的根文件系统加载完成，initramfs就会被卸载，系统将转移到真正的根文件系统上运行&lt;/p&gt;
&lt;p&gt;initramfs（initial ramdisk filesystem）是一个在内存中的&amp;quot;临时根文件系统&amp;quot;，它在Linux内核启动之前被加载到内存中。&lt;/p&gt;
&lt;p&gt;initramfs包含了内核启动所需的文件系统模块和驱动程序，使得内核能够顺利地加载真正的根文件系统。一旦真正的根文件系统加载完成，initramfs就会被卸载，系统将转移到真正的根文件系统上运行。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;提供必要的文件系统支持：
initramfs中包含了内核启动所需的文件系统模块和驱动程序，它们使得内核能够识别和挂载真正的根文件系统。
从而定位到 init 程序，从而完在真正的系统启动。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;简化内核启动过程：
通过提前加载必要的文件系统支持和驱动程序。
它可以在内核启动的早期提供一个用户态环境，用于完成在内核启动阶段不易完成的工作。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;支持特定的启动需求：
initramfs可以根据系统的需求进行定制，包含特定的文件系统支持和驱动程序，以满足特定的启动需求。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;提供系统维护和故障排除的功能：
在系统无法正常启动时，可以通过initramfs进入救援模式进行修复。initramfs中可以包含一些系统维护和故障排除工具，这些工具可以帮
助用户诊断和解决系统启动过程中遇到的问题。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dnf&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-y&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;dracut-tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;查看文件内容&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;lsinitrd&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;initramfs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;5.14&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;427.13&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;el9_4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;x86_64&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;img&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;grub-管理&#34;&gt;GRUB 管理
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121182112379.png&#34;
	width=&#34;1377&#34;
	height=&#34;856&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121182112379_hu14694325059626352755.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121182112379_hu16579160967970574206.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121182112379&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;160&#34;
		data-flex-basis=&#34;386px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;grub修复-boot下全删&#34;&gt;GRUB修复 /boot下全删
&lt;/h3&gt;&lt;p&gt;进入光盘troublshooting模式&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1 continue（这会自动将原根挂载到/mnt/sysroot下）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ubuntu中要自己手动挂载：mount /dev/vg/lvm /mnt&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;切根：chroot /mnt/sysroot&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dnf&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;grub2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 重新安装grub到启动设备&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;grub2-install&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysimage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 生成GRUB配置文件：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;grub2-mkconfig&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-o&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mnt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysimage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;grub2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;grub&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;cfg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dnf&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;注意&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;如果无法安装的话&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;可以先卸载内核&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;然后再安装内核即可&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;这里安装的软件有&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;kernel-core&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;kernel-modules&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;kernel-modules&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-core&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;root口令绕过&#34;&gt;root口令绕过
&lt;/h3&gt;&lt;h4 id=&#34;initbinbash&#34;&gt;init=/bin/bash
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;按&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;进入内核编辑模式&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;然后修改内核的启动参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ro&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;改成&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rw&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;rhgb&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;后面添加&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Ctrl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;+&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;进行保存启动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;如果开启SElinux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;设置&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SElinux&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;重启标记&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;touch&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;autorelabel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;最后重启系统&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;exec&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;usr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sbin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;rdbreak&#34;&gt;rd.break
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;按&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;进入内核编辑模式&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;然后修改内核的启动参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ro&amp;#34;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;改成&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;rw&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;rhgb&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;后面添加&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;进入紧急模式&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;切根&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;chroot&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysroot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;如果提示sh没有chroot&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;使用根的chroot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysroot&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;usr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sbin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chroot&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysroot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;无限重启&#34;&gt;无限重启
&lt;/h3&gt;&lt;p&gt;添加参数 systemd.unit=multi-user.target 然后 ctrl+x&lt;/p&gt;
&lt;p&gt;其他的一些target&lt;/p&gt;
&lt;p&gt;desired.target、multi-user.target、emergency.target、rescue.target&lt;/p&gt;
&lt;h1 id=&#34;内核&#34;&gt;内核
&lt;/h1&gt;&lt;h2 id=&#34;流程&#34;&gt;流程
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;探测可识别到的所有硬件设备&lt;/li&gt;
&lt;li&gt;加载硬件驱动程序（借助于initramfs加载驱动）&lt;/li&gt;
&lt;li&gt;挂载根文件系统
&lt;ul&gt;
&lt;li&gt;以只读方式挂载根文件系统。确保系统完整性。&lt;/li&gt;
&lt;li&gt;将根文件系统重新挂载为读写模式。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;启动用户空间第一个应用程序
&lt;ul&gt;
&lt;li&gt;systemd&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;内核启动的时候，依赖的大量内核模块文件&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172509676.png&#34;
	width=&#34;895&#34;
	height=&#34;333&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172509676_hu3137903407923713173.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172509676_hu412854239864942097.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121172509676&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;268&#34;
		data-flex-basis=&#34;645px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172520046.png&#34;
	width=&#34;880&#34;
	height=&#34;319&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172520046_hu14647842034463282196.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121172520046_hu5897537592202816018.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121172520046&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;275&#34;
		data-flex-basis=&#34;662px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;修复vmlinuz文件&#34;&gt;修复vmlinuz文件
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;CD中获取vmlinuz文件&lt;/li&gt;
&lt;li&gt;dracut 制作
&lt;ul&gt;
&lt;li&gt;dracut /boot/initramfs-$(uname -r).img $(uname -r)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;修复initramfs文件&#34;&gt;修复initramfs文件
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;CD中获取initramfs文件&lt;/li&gt;
&lt;li&gt;mkinitrd 制作
&lt;ul&gt;
&lt;li&gt;mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;系统启动&#34;&gt;系统启动
&lt;/h1&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173505858.png&#34;
	width=&#34;882&#34;
	height=&#34;582&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173505858_hu5977197901081815147.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173505858_hu18439188471528086200.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121173505858&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;151&#34;
		data-flex-basis=&#34;363px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173516433.png&#34;
	width=&#34;879&#34;
	height=&#34;509&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173516433_hu15597504366437709942.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121173516433_hu12947434254618201933.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121173516433&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;172&#34;
		data-flex-basis=&#34;414px&#34;
	
&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; systemctl get-default
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; systemctl multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h1 id=&#34;系统初始化&#34;&gt;系统初始化
&lt;/h1&gt;&lt;h2 id=&#34;init初始化&#34;&gt;init初始化
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;init进程是内核启动的第一个用户级进程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;它的进程ID&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PID&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;通常为1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;在Linux系统中&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;init进程负责如下作用&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;系统初始化&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 	&lt;span class=&#34;n&#34;&gt;init进程在系统启动时执行一系列初始化操作&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;如设置系统环境&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;挂载文件系统等&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 	&lt;span class=&#34;n&#34;&gt;该程序是内核启动之后的第一个进程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;也是进程树中的树根&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;所以其进程ID始终为1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;启动其他进程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 	&lt;span class=&#34;n&#34;&gt;根据系统配置文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;如Linux中的&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;inittab&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;），&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;init进程会启动其他必要的系统进程和服务&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;监控与管理&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	 &lt;span class=&#34;n&#34;&gt;init进程还会监控系统中的其他进程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;确保它们正常运行&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;并在必要时进行重启或终止&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;初始化脚本&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sysinit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;系统初始化脚本功能&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;设置主机名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;设置欢迎信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;激活udev和selinux&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;挂载&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fstab文件中定义的文件系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;检测根文件系统&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;并以读写方式重新挂载根文件系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;设置系统时钟&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;7&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;激活swap设备&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;根据&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;conf文件设置内核参数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;9&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;激活lvm及software&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;raid设备&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;加载额外设备的驱动程序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;mf&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;清理操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121180929782.png&#34;
	width=&#34;906&#34;
	height=&#34;322&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121180929782_hu15553784016779730077.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121180929782_hu7436743736413411586.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121180929782&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;281&#34;
		data-flex-basis=&#34;675px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;/etc/rc.d/rc 控制服务脚本的开机自动运行&lt;/p&gt;
&lt;h3 id=&#34;chkconfig-管理服务&#34;&gt;chkconfig 管理服务
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;查看所有服务在不同运行级别下的停启情况&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# chkconfig --list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;NetworkManager&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;abrtd&lt;/span&gt;         &lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;......&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;查看指定服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# chkconfig --list crond&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt;         &lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;查看链接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# ll /etc/rc3.d/*cron*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;lrwxrwxrwx&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;root&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;root&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;15&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Aug&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;29&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;05&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;40&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rc3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;S90crond&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;../&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;修改服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# chkconfig --level 3 crond off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;再次查看&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;变成了K开头&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# ll /etc/rc3.d/*cron*&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;lrwxrwxrwx&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;root&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;root&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;15&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Aug&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;30&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;49&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rc3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;K60crond&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;../&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;crond在3模式下变成了off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@c6&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# chkconfig --list crond&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt;         &lt;span class=&#34;mf&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;off&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;service-手动管理服务&#34;&gt;service 手动管理服务
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;service&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;service&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;start
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;service&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;crond&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;status&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;xinetd-管理非独立服务&#34;&gt;xinetd 管理非独立服务
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;有很多服务不是常用服务&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;使用频率不高&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;如果这种服务也加入开机启动&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;则会消耗服务器资源&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;为了平衡资源与服务使用之间的关系&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;我们可以用一个代理服务来管理这些不常用的服务&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;这些被代理的服务就称之为非独立服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;systemd初始化&#34;&gt;systemd初始化
&lt;/h2&gt;&lt;h3 id=&#34;unit&#34;&gt;unit
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;在systemd中&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;unit是一个基本概念&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;表示一个系统功能或服务&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;unit表示不同类型的systemd对象&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;systemd会根据配置文件和设置&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;启动各种units&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;包括服务&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;service&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;设备&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;挂载点&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mount&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;监听&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;socket&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;等&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;每个unit都有一个名称和一个类型&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;systemd使用依赖关系来确保正确的启动顺序&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;n&#34;&gt;查看unit类型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@rocky9&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# systemctl -t help&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195911311.png&#34;
	width=&#34;1079&#34;
	height=&#34;730&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195911311_hu8414642821694394947.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195911311_hu9377492187990426663.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121195911311&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;147&#34;
		data-flex-basis=&#34;354px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195834449.png&#34;
	width=&#34;1046&#34;
	height=&#34;735&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195834449_hu10803407268134913456.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121195834449_hu12704302254081225722.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121195834449&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;142&#34;
		data-flex-basis=&#34;341px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;服务管理&#34;&gt;服务管理
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;systemd执行默认target配置&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;配置文件&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;systemd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;system&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;default&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;systemd执行sysinit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target初始化系统及basic&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target准备操作系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;systemd启动multi-user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;下的本机与服务器服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;systemd执行multi-user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;下的&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;local&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Systemd执行multi-user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target下的getty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;target及登录服务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看依赖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl list-dependencies
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 分析启动时间&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemd-analyze
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemd-analyze blame
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemd-analyze plot &amp;gt; html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200046202.png&#34;
	width=&#34;1030&#34;
	height=&#34;793&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200046202_hu6490189115115932655.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200046202_hu5192630554596881125.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200046202&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;129&#34;
		data-flex-basis=&#34;311px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200055379.png&#34;
	width=&#34;1015&#34;
	height=&#34;672&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200055379_hu6254779325422008102.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200055379_hu13148917296502783390.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200055379&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;151&#34;
		data-flex-basis=&#34;362px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200101234.png&#34;
	width=&#34;1067&#34;
	height=&#34;340&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200101234_hu3292796125775653585.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200101234_hu12695643625524703924.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200101234&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;313&#34;
		data-flex-basis=&#34;753px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;服务脚本文件&#34;&gt;服务脚本文件
&lt;/h3&gt;&lt;p&gt;位于&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/lib/systemd/system/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/run/systemd/system
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/systemd/system
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200745872.png&#34;
	width=&#34;723&#34;
	height=&#34;726&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200745872_hu4778960742639775389.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200745872_hu15444523153472714887.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200745872&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;99&#34;
		data-flex-basis=&#34;239px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200757840.png&#34;
	width=&#34;832&#34;
	height=&#34;271&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200757840_hu15340172499112984279.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200757840_hu8497702832960457183.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200757840&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;307&#34;
		data-flex-basis=&#34;736px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200808479.png&#34;
	width=&#34;827&#34;
	height=&#34;477&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200808479_hu82640846106978052.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200808479_hu16520140003297917586.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200808479&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;173&#34;
		data-flex-basis=&#34;416px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200817567.png&#34;
	width=&#34;793&#34;
	height=&#34;726&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200817567_hu1320695208352593633.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200817567_hu117409457006108070.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200817567&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;109&#34;
		data-flex-basis=&#34;262px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200823554.png&#34;
	width=&#34;784&#34;
	height=&#34;310&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200823554_hu1253585229680989325.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200823554_hu1074913696363628182.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200823554&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;252&#34;
		data-flex-basis=&#34;606px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200843641.png&#34;
	width=&#34;799&#34;
	height=&#34;236&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200843641_hu6924685558020541339.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121200843641_hu13730503042020093183.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121200843641&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;338&#34;
		data-flex-basis=&#34;812px&#34;
	
&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;对于新创建的unit文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;或者修改了的unit文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;要通知systemd重载此配置文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;或者选择重启系统&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;systemctl&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;daemon-reload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;init&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;q&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h1 id=&#34;内核参数&#34;&gt;内核参数
&lt;/h1&gt;&lt;h2 id=&#34;一些参数&#34;&gt;一些参数
&lt;/h2&gt;&lt;h3 id=&#34;文件系统&#34;&gt;文件系统
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;readahead&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;决定了操作系统在从磁盘读取数据时&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;预先读取的数据量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;增加readahead的值可以提高顺序&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;读取的性能&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;但可能会降低随机读取的性能&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dirty_background_ratio&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制当脏页&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;被修改过的页面&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;占总可用内存的百分比达到多少时&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;后台写入&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;开始将脏页写回磁盘&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;如果系统中有大量的写操作&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;可能需要调低这个比例&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dirty_expire_centisecs&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;指定了一个脏页在被写入磁盘前在内存中停留的最大时间&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;以百分之一秒为单&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;位&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;减少这个值可以确保脏页更快地被写回磁盘&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;但太低的值可能会导致频繁的写操作&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;影响性能&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;dirty_ratio&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制当脏页占可用内存的百分比达到多少时&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;内核开始同步地将脏页写回磁盘&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;这个值通常应&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;该比dirty_background_ratio高&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;内存管理&#34;&gt;内存管理
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;swappiness&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制内核倾向于使用swap空间的程度&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;值越高&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;系统越倾向于使用swap空间&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;适当调整该&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;参数可以平衡内存使用和swap的使用&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;从而减少磁盘I&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;O操作&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;提高系统性能&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;min_free_kbytes&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;设置系统尝试保留的最少空闲内存量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;以KB为单位&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;如果空闲内存低于这个值&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;内核会采取措施来增加空闲内存量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;shmall和shmmax&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;分别控制共享内存段的总数量以及单个共享内存段的最大大小&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;适当调整这些参数可以提&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;高系统处理进程间通信的能力&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;进程和线程相关参数&#34;&gt;进程和线程相关参数
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pid_max&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制系统中可以同时存在的进程数量的上限&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;threads-max&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;定义了系统中进程数量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;包括线程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;的最大值&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;对于多线程应用程序&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;适当增加此&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;值以支持更多的线程&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;网络相关参数&#34;&gt;网络相关参数
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tcp_max_tw_buckets&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制系统中TIME_WAIT套接字的最大数量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;增加该值可以减少&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;TIME_WAIT套接字的数量&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;适用于高并发的服务器&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;tcp_tw_reuse和net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tcp_tw_recycle&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;控制TCP&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;TIME-WAIT快速重用&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;开启这些参&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;数可以允许快速重用TIME_WAIT状态的连接&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;tcp_fin_timeout和net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tcp_keepalive_time&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;分别控制TCP连接的关闭时限和空闲&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;超时时间&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;适当减少这些时间可以加快资源的回收&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ip_local_port_range&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;定义UDP和TCP连接的本地端口的取值范围&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;扩大端口范围以支持更多&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;的并发连接&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;消息队列和共享内存参数&#34;&gt;消息队列和共享内存参数
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;msgmnb&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;kernel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;msgmax和kernel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;msgmni&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;：&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;分别控制消息队列的最大长度&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;单个消息的最大长&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;度和系统中同时运行的消息队列的个数&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;sysctl-参数设置&#34;&gt;sysctl 参数设置
&lt;/h2&gt;&lt;p&gt;参数以文件的形式显示在 /proc/sys/ 目录中，配 置项就是目录名加文件名，值就是该文件中的内容&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl -a		# 显示所有
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl -p		# 重载参数
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl -w		# 设置参数
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 临时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@rocky9&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# echo 123 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@rocky9&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# cat /proc/sys/net/ipv4/ip_forward&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;mf&#34;&gt;123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;root&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;@rocky9&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;~]&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# sysctl net.ipv4.ip_forward&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ipv4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ip_forward&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;123&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# 写配置文件，永久有效&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;vim&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;conf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-p&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;系统在启动时&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;会按下列顺序加载配置文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;读取参数值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;usr&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lib&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lib&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/*.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;etc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sysctl&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;conf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121201526325.png&#34;
	width=&#34;800&#34;
	height=&#34;449&#34;
	srcset=&#34;https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121201526325_hu10346726270153725491.png 480w, https://www.l00n9.icu/p/linux%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%92%8C%E5%86%85%E6%A0%B8%E7%AE%A1%E7%90%86/pic/image-20241121201526325_hu7197734686968259755.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241121201526325&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;178&#34;
		data-flex-basis=&#34;427px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>进程，系统性能管理监视工具和计划任务</title>
        <link>https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/</link>
        <pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate>
        
        <guid>https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/</guid>
        <description>&lt;h1 id=&#34;内核cpu内存&#34;&gt;内核，CPU，内存
&lt;/h1&gt;&lt;h2 id=&#34;内核介绍&#34;&gt;内核介绍
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;内核&lt;/strong&gt; 是操作系统最基本的部分，功能强大：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;系统调用接口&lt;/li&gt;
&lt;li&gt;进程管理&lt;/li&gt;
&lt;li&gt;内存管理&lt;/li&gt;
&lt;li&gt;文件系统管理&lt;/li&gt;
&lt;li&gt;设备驱动&lt;/li&gt;
&lt;li&gt;硬件抽象&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cpu&#34;&gt;CPU
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;CPU 分片&lt;/strong&gt;（时间分片，轮转调度），确保了每个进程或线程都能获得一定的 CPU 时间。&lt;/p&gt;
&lt;p&gt;并发，并行&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118091713767.png&#34;
	width=&#34;2126&#34;
	height=&#34;611&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118091713767_hu7146144269107332689.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118091713767_hu11911931528665430893.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241118091713767&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;347&#34;
		data-flex-basis=&#34;835px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;寄存器&#34;&gt;寄存器
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;地址寄存器（AR），用来保存 CPU 当前所访问的主存单元的地址&lt;/li&gt;
&lt;li&gt;指令寄存器（IR），用来保存当前正在执行的一条指令&lt;/li&gt;
&lt;li&gt;程序计数器（PC），指出下一条指令在主存储器中的地址&lt;/li&gt;
&lt;li&gt;数据寄存器（DR），CPU 和主存、外设之间信息传输的中转站&lt;/li&gt;
&lt;li&gt;通用寄存器（x64，e 变 r，加新的通用寄存器：&lt;strong&gt;r8-r15&lt;/strong&gt;）
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;eax&lt;/strong&gt;: 通常用来执行加法，函数调用的返回值一般也放在这里面&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ebx&lt;/strong&gt;: 数据存取&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ecx&lt;/strong&gt;: 通常用来作为计数器，比如 for 循环&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;edx&lt;/strong&gt;: 读写 I/O 端口时，edx 用来存放端口号&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;esp&lt;/strong&gt;: 栈顶指针，指向栈的顶部&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ebp&lt;/strong&gt;: 栈底指针，指向栈的底部，通常用 &lt;code&gt;ebp+偏移量&lt;/code&gt; 的形式来定位函数存放在栈中的局部变量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;esi&lt;/strong&gt;: 字符串操作时，用于存放数据源的地址&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;edi&lt;/strong&gt;: 字符串操作时，用于存放目的地址的，和 esi 两个经常搭配一起使用，执行字符串的复制等操作&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;程序状态字寄存器（PSW），用来表征当前运算的状态及程序的工作方式。&lt;/li&gt;
&lt;li&gt;段寄存器：段基址+段内偏移段&lt;/li&gt;
&lt;li&gt;&amp;hellip;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;内存&#34;&gt;内存
&lt;/h2&gt;&lt;h3 id=&#34;page-frame页框&#34;&gt;Page Frame(页框)
&lt;/h3&gt;&lt;p&gt;物理内存管理中的一个基本单位。&lt;/p&gt;
&lt;p&gt;物理内存被划分为固定大小的块，这些块称为 &lt;strong&gt;页框&lt;/strong&gt;（Page Frame）。大小 4K，大页框 2MB。&lt;/p&gt;
&lt;p&gt;页框的状态通常分为以下几种：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;已分配（Allocated）
&lt;ul&gt;
&lt;li&gt;页框已分配给某个进程的虚拟页。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;未分配（Free）
&lt;ul&gt;
&lt;li&gt;页框当前未被使用，可以分配给新的虚拟页。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;脏页框（Dirty Page Frame）
&lt;ul&gt;
&lt;li&gt;页框中的数据被修改，但尚未写回磁盘。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;共享页框（Shared Page Frame）
&lt;ul&gt;
&lt;li&gt;页框被多个进程共享（如共享库或 IPC 中的共享内存）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;page页&#34;&gt;Page（页）
&lt;/h3&gt;&lt;p&gt;操作系统通过页表将虚拟内存中的 &lt;strong&gt;页（Page）&lt;/strong&gt; 映射到物理内存中的页框。&lt;/p&gt;
&lt;p&gt;脏页（Dirty Page）：内存中被修改过但尚未写回到磁盘上的页。减少 IO&lt;/p&gt;
&lt;h3 id=&#34;page-table页表&#34;&gt;Page table（页表）
&lt;/h3&gt;&lt;p&gt;页表实际上存储在 CPU 的 &lt;strong&gt;内存管理单元&lt;/strong&gt; （MMU ：Memory Management Unit）&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/f0b2affbe562eb61e561889adf880a2a.png&#34;
	width=&#34;935&#34;
	height=&#34;561&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/f0b2affbe562eb61e561889adf880a2a_hu3438205746178405855.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/f0b2affbe562eb61e561889adf880a2a_hu16677639710210819381.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;内存映射&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;166&#34;
		data-flex-basis=&#34;400px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;内存地址转换，其实就是这样三个步骤：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把虚拟内存地址，切分成页号和偏移量；&lt;/li&gt;
&lt;li&gt;根据页号，从页表里面，查询对应的物理页号；&lt;/li&gt;
&lt;li&gt;直接拿物理页号，加上前面的偏移量，就得到了物理内存地址。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;| 一级索引 (20 bits) | 页内偏移 (12 bits) |
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;页表大小：
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2^20 * 4bytes = 4MB
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/64d7c7b9c2dfb5585c12c2a41a252141.png&#34;
	width=&#34;1067&#34;
	height=&#34;797&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/64d7c7b9c2dfb5585c12c2a41a252141_hu1489902995742025213.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/64d7c7b9c2dfb5585c12c2a41a252141_hu7715889653639984672.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;内存分页寻址&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;321px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;多级页表&#34;&gt;多级页表
&lt;/h3&gt;&lt;p&gt;一级页表查找使用哪个二级页表&lt;/p&gt;
&lt;p&gt;二级页表查物理页号&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;| 一级索引 (10 bits) | 二级索引 (10 bits) | 页内偏移 (12 bits) |
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/8b47c4926fe6f498bd0a8c8c758f93e6.png&#34;
	width=&#34;1686&#34;
	height=&#34;1146&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/8b47c4926fe6f498bd0a8c8c758f93e6_hu6655933616985474105.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/8b47c4926fe6f498bd0a8c8c758f93e6_hu1329188748761856468.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;img&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;147&#34;
		data-flex-basis=&#34;353px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;优化多级页表的地址转换：TLB&lt;/p&gt;
&lt;p&gt;CPU 的 TLB（Translation Lookaside Buffer）来缓存页表条目：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;TLB 命中
&lt;ul&gt;
&lt;li&gt;如果虚拟地址的页表条目在 TLB 中，直接完成地址转换，无需访问多级页表。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;TLB 未命中
&lt;ul&gt;
&lt;li&gt;如果未命中，需要逐级查找页表获取地址映射，并将结果缓存到 TLB。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;页面换入换出page-swapping&#34;&gt;页面换入换出（Page Swapping）
&lt;/h3&gt;&lt;p&gt;当物理内存不足时，操作系统会将不常使用的页面从物理内存换出到磁盘（即页面置换），腾出空间给新页面。这种机制被称为 &lt;strong&gt;页面换入换出（Page Swapping）&lt;/strong&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;页表条目中会记录页面是否在磁盘上（有效位为 0）。&lt;/li&gt;
&lt;li&gt;如果程序访问一个在磁盘上的页面，会触发 &lt;strong&gt;缺页异常（Page Fault）&lt;/strong&gt;，操作系统会将页面换入物理内存并更新页表。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;buffer缓冲cache缓存&#34;&gt;buffer（缓冲），cache（缓存）
&lt;/h3&gt;&lt;p&gt;缓冲区是一个用于 &lt;strong&gt;临时存储数据&lt;/strong&gt; 的内存区域，其主要目的是协调数据生产者和消费者之间的速率差异，或在设备之间传递数据时作为中转。&lt;/p&gt;
&lt;p&gt;缓存区是一个用于 &lt;strong&gt;加速数据访问&lt;/strong&gt; 的高效存储区域，其主要目的是存储热点数据或最近使用的数据，以减少慢速设备或计算的频繁访问。&lt;/p&gt;
&lt;h3 id=&#34;堆heap栈stack&#34;&gt;堆（heap），栈（stack）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;栈（Stack）
&lt;ul&gt;
&lt;li&gt;一块连续内存区域，用于存储函数调用相关的数据（如局部变量、函数参数、返回地址等）。&lt;/li&gt;
&lt;li&gt;栈有一个 ESP 寄存器管理
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ESP（栈顶指针）&lt;/strong&gt;：指向当前栈顶的位置。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EBP（基址指针）&lt;/strong&gt;：指向当前函数栈帧的基址（底部）。通过 EBP，定位栈上的参数。
&lt;ul&gt;
&lt;li&gt;调用函数过程：
&lt;ul&gt;
&lt;li&gt;EBP 指 Main 函数栈底&lt;/li&gt;
&lt;li&gt;压入 func 参数，ESP 指栈顶&lt;/li&gt;
&lt;li&gt;call func：压入返回地址&lt;/li&gt;
&lt;li&gt;EBP 指 func 函数栈底&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;堆（Heap）
&lt;ul&gt;
&lt;li&gt;由程序员通过动态内存分配函数（如 &lt;code&gt;malloc&lt;/code&gt;、&lt;code&gt;new&lt;/code&gt;）显式申请的一块内存区域，大小和生命周期由程序员控制。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118201645506.png&#34;
	width=&#34;782&#34;
	height=&#34;779&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118201645506_hu3740069116201854098.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118201645506_hu4826004525902235181.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241118201645506&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;100&#34;
		data-flex-basis=&#34;240px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;代码段（.text）： 用来存放可执行文件的操作指令&lt;/p&gt;
&lt;p&gt;数据段（.data）： 用来存放可执行文件中已初始化全局变量&lt;/p&gt;
&lt;p&gt;BSS 段（.bss）： Block Started by Symbol”的缩写, 意为“以符号开始的块，BSS 段包含了程序中未初始化的全局变 量，在内存中 bss 段全部置零。&lt;/p&gt;
&lt;h3 id=&#34;内存问题&#34;&gt;内存问题
&lt;/h3&gt;&lt;h4 id=&#34;内存泄露-memory-leak&#34;&gt;内存泄露 Memory Leak
&lt;/h4&gt;&lt;p&gt;申请了内存，但使用完并未释放申请的内存。&lt;/p&gt;
&lt;p&gt;如果一致重复这样的申请，使用的内存会不断增加。&lt;/p&gt;
&lt;h4 id=&#34;内存溢出memory-overflow&#34;&gt;内存溢出：Memory Overflow
&lt;/h4&gt;&lt;p&gt;数据超出了其存储空间的范围，导致数据损坏或程序崩溃。：整数溢出和缓冲 区溢出&lt;/p&gt;
&lt;p&gt;申请了 20M 的空间，但是在这个空间写入 20M 以上字节的数据，就是溢出。&lt;/p&gt;
&lt;h4 id=&#34;内存不足oom&#34;&gt;内存不足：OOM
&lt;/h4&gt;&lt;p&gt;Out Of Memory 内存用完了。&lt;/p&gt;
&lt;p&gt;Java 会选一个进程杀死。&lt;/p&gt;
&lt;h3 id=&#34;内存淘汰策略&#34;&gt;内存淘汰策略
&lt;/h3&gt;&lt;p&gt;内存淘汰策略的核心目标是 &lt;strong&gt;在有限的内存资源下最大限度地减少缺页率&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&#34;先进先出fifo&#34;&gt;先进先出（FIFO）
&lt;/h4&gt;&lt;p&gt;按照页面进入内存的顺序进行淘汰，最早进入内存的页面最先被替换。&lt;/p&gt;
&lt;h4 id=&#34;最近最少使用lru---least-recently-used加权-lru&#34;&gt;最近最少使用（LRU - Least Recently Used）；加权 LRU
&lt;/h4&gt;&lt;p&gt;按时间&lt;/p&gt;
&lt;p&gt;淘汰最近最少使用的页面，假设最近使用过的页面在未来可能仍会被使用。&lt;/p&gt;
&lt;h4 id=&#34;最不经常使用lfu---least-frequently-used&#34;&gt;最不经常使用（LFU - Least Frequently Used）
&lt;/h4&gt;&lt;p&gt;按访问次数&lt;/p&gt;
&lt;p&gt;淘汰访问次数最少的页面，假设访问频率低的页面未来也不太可能被访问。&lt;/p&gt;
&lt;h4 id=&#34;时钟算法clock-algorithm改进型-fifo二级时钟&#34;&gt;时钟算法（Clock Algorithm，改进型 FIFO）；二级时钟
&lt;/h4&gt;&lt;p&gt;使用一个环形队列和访问位（Access Bit）。（二级时钟多一个修改位）&lt;/p&gt;
&lt;p&gt;每次访问页面时，将其访问位设置为 1；淘汰时跳过访问位为 1 的页面，并将其访问位清零，最终淘汰访问位为 0 的页面。&lt;/p&gt;
&lt;h4 id=&#34;最优页面淘汰opt---optimal无法在实际系统中实现&#34;&gt;最优页面淘汰（OPT - Optimal）无法在实际系统中实现
&lt;/h4&gt;&lt;p&gt;淘汰未来最长时间不会被访问的页面。（无法在实际系统中实现，因为未来的页面访问情况是未知的。）&lt;/p&gt;
&lt;h2 id=&#34;时间空间复杂度&#34;&gt;时间，空间复杂度
&lt;/h2&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118204654392.png&#34;
	width=&#34;1547&#34;
	height=&#34;590&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118204654392_hu3886422756393201790.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118204654392_hu248220541545616974.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241118204654392&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;262&#34;
		data-flex-basis=&#34;629px&#34;
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;进程&#34;&gt;进程
&lt;/h1&gt;&lt;h2 id=&#34;概览&#34;&gt;概览
&lt;/h2&gt;&lt;h3 id=&#34;进程概念&#34;&gt;进程概念
&lt;/h3&gt;&lt;p&gt;进程是 &lt;strong&gt;系统&lt;/strong&gt; 进行资源分配与调度的基本单位。&lt;/p&gt;
&lt;p&gt;进程是运行中的程序。&lt;/p&gt;
&lt;p&gt;进程是程序的一次执行过程，它包含了程序的 &lt;strong&gt;代码、数据和运行状态&lt;/strong&gt; 等信息。&lt;/p&gt;
&lt;p&gt;&lt;font size=6&gt; init：第一个进程（PID = 1），从 CentOS7 以后为 systemd &lt;/font&gt;&lt;/p&gt;
&lt;h3 id=&#34;进程分类&#34;&gt;进程分类
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;按资源使用划分&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU 密集型&lt;/li&gt;
&lt;li&gt;IO 密集型&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;按运行方式划分&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;守护进程：daemon，在系统引导中启动的进程&lt;/li&gt;
&lt;li&gt;前台进程：前台进程是直接与用户交互的进程&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;注意：两者可相互转化&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;进程结构&#34;&gt;进程结构
&lt;/h3&gt;&lt;p&gt;每个进程都有自己的资源，由操作系统分配，内存，栈，文件描述符等信息&lt;/p&gt;
&lt;p&gt;进程由程序、数据和进程控制块（Program Control Block，PCB）三部分组成。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;程序是进程要执行的指令集合，&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;数据是进程在执行过程中需要处理的信息&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;进程控制块则包含了进程的各种信息和控制信息，&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;进程标识符（PID）、&lt;/li&gt;
&lt;li&gt;状态、&lt;/li&gt;
&lt;li&gt;优先级、&lt;/li&gt;
&lt;li&gt;程序计数器、&lt;/li&gt;
&lt;li&gt;寄存器集合等。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118100901074.png&#34;
	width=&#34;1186&#34;
	height=&#34;470&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118100901074_hu16429536417461053069.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118100901074_hu16336209231416355033.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241118100901074&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;252&#34;
		data-flex-basis=&#34;605px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;线程&#34;&gt;线程
&lt;/h3&gt;&lt;p&gt;一个进程可以包含多个线程，线程是 **CPU ** 调度和执行的基本单位。&lt;/p&gt;
&lt;p&gt;线程由线程 ID、当前指令指针(PC)、寄存器和堆栈组成。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;线程共享进程资源&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;共享代码段、数据段和打开的文件。&lt;/li&gt;
&lt;li&gt;每个线程有自己的寄存器和栈，用于维护独立的执行流。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;进程与线程&#34;&gt;进程与线程
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118101940553.png&#34;
	width=&#34;1182&#34;
	height=&#34;818&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118101940553_hu12758907170593473097.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241118101940553_hu7778148858685118091.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241118101940553&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;144&#34;
		data-flex-basis=&#34;346px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;进程拥有独立的内存单元和资源，而线程则共享进程的资源。这使得线程在切换时开销较小，因为不需要 切换整个进程的上下文&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程的相关信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls /proc/PID
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程中的线程 - 包括进程本身&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;grep -i threads /proc/PID/status
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程的二进制文件（软链接）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ll /proc/PID/exe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程打开的文件（软链接）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ll /proc/PID/fd/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程，带pid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pstree -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;进程结构-1&#34;&gt;进程结构
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;核心数据结构：&lt;code&gt;task_struct&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;task_struct&lt;/code&gt; 是 Linux 中用来描述进程的主要结构体。它定义在内核源码的 &lt;code&gt;include/linux/sched.h&lt;/code&gt; 文件中，包含以下主要字段：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;基本信息&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;pid&lt;/code&gt;&lt;/strong&gt;：进程的唯一标识符（Process ID）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;tgid&lt;/code&gt;&lt;/strong&gt;：线程组 ID，在多线程程序中，所有线程共享同一个 &lt;code&gt;tgid&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;comm&lt;/code&gt;&lt;/strong&gt;：进程名称，通常是可执行文件的名称（15 字节长度限制）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;状态信息&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;state&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;：表示进程的当前状态，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TASK_RUNNING&lt;/code&gt;：正在运行或准备运行。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TASK_INTERRUPTIBLE&lt;/code&gt;：可被信号中断的睡眠状态。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TASK_UNINTERRUPTIBLE&lt;/code&gt;：不可被信号中断的睡眠状态。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TASK_STOPPED&lt;/code&gt;：进程已停止。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TASK_DEAD&lt;/code&gt;：进程已终止。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;exit_state&lt;/code&gt;&lt;/strong&gt;：当进程退出时记录其状态，如僵尸状态。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;父子关系&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;parent&lt;/code&gt;&lt;/strong&gt;：指向父进程的 &lt;code&gt;task_struct&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;children&lt;/code&gt;&lt;/strong&gt;：链表，包含当前进程的所有子进程。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;sibling&lt;/code&gt;&lt;/strong&gt;：指向同一父进程的兄弟进程。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;链表指针&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;tasks&lt;/code&gt;&lt;/strong&gt;：用于将所有进程组织成一个全局的双向循环链表，通过 &lt;code&gt;next&lt;/code&gt; 和 &lt;code&gt;prev&lt;/code&gt; 遍历。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;thread_group&lt;/code&gt;&lt;/strong&gt;：线程组链表，用于管理同一线程组的所有线程。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;调度信息&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;prio&lt;/code&gt;&lt;/strong&gt;：进程的优先级。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;static_prio&lt;/code&gt;&lt;/strong&gt;：静态优先级，用户指定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;normal_prio&lt;/code&gt;&lt;/strong&gt;：进程的普通优先级。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;rt_priority&lt;/code&gt;&lt;/strong&gt;：实时进程的优先级。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;sched_class&lt;/code&gt;&lt;/strong&gt;：调度类（如 CFS 调度器、实时调度器）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;记账信息&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;start_time&lt;/code&gt;&lt;/strong&gt;：进程创建的时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;utime&lt;/code&gt;&lt;/strong&gt;：用户态运行时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;stime&lt;/code&gt;&lt;/strong&gt;：内核态运行时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;real_start_time&lt;/code&gt;&lt;/strong&gt;：从系统启动到该进程开始运行的时间戳。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;内存管理&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;mm&lt;/code&gt;&lt;/strong&gt;：指向 &lt;code&gt;mm_struct&lt;/code&gt; 的指针，描述了进程的内存空间信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;active_mm&lt;/code&gt;&lt;/strong&gt;：用于内核线程，共享另一个进程的地址空间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;stack&lt;/code&gt;&lt;/strong&gt;：进程的内核栈。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;文件和 IO&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;files&lt;/code&gt;&lt;/strong&gt;：指向 &lt;code&gt;files_struct&lt;/code&gt; 的指针，描述进程打开的文件描述符表。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;fs&lt;/code&gt;&lt;/strong&gt;：指向 &lt;code&gt;fs_struct&lt;/code&gt; 的指针，包含当前工作目录和根目录的信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;io_context&lt;/code&gt;&lt;/strong&gt;：I/O 调度信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;信号&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;signal&lt;/code&gt;&lt;/strong&gt;：指向 &lt;code&gt;signal_struct&lt;/code&gt; 的指针，包含进程的信号处理信息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;blocked&lt;/code&gt;&lt;/strong&gt;：屏蔽的信号集合。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;pending&lt;/code&gt;&lt;/strong&gt;：挂起的信号集合。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;内核线程&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;flags&lt;/code&gt;&lt;/strong&gt;：用于标记进程的特殊状态，例如是否是内核线程。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;thread&lt;/code&gt;&lt;/strong&gt;：用于存储硬件上下文（如寄存器）信息，特别是在上下文切换时使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;用户空间和内核空间&#34;&gt;用户空间和内核空间
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;内存&lt;/strong&gt; 中一部分分配给 &lt;strong&gt;内核使用&lt;/strong&gt;，一部分分配给 &lt;strong&gt;应用程序使用&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;分别称之为 &lt;strong&gt;内核空间&lt;/strong&gt;，&lt;strong&gt;用户空间&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119090008870.png&#34;
	width=&#34;1495&#34;
	height=&#34;409&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119090008870_hu470283497423182259.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119090008870_hu15759080304839597747.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119090008870&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;365&#34;
		data-flex-basis=&#34;877px&#34;
	
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用户空间（User Space）：
&lt;ul&gt;
&lt;li&gt;应用程序的内存区域&lt;/li&gt;
&lt;li&gt;低地址位&lt;/li&gt;
&lt;li&gt;API（应用程序接口）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;内核空间（Kernel Space）：
&lt;ul&gt;
&lt;li&gt;内核运行的内存区域&lt;/li&gt;
&lt;li&gt;高地址位&lt;/li&gt;
&lt;li&gt;System Call Interface（系统调用接口）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;用户态user-mode和内核态kernel-mode切换&#34;&gt;用户态（User Mode）和内核态（Kernel Mode）切换
&lt;/h2&gt;&lt;p&gt;用户态是应用程序运行的环境，权限受限，不能直接访问硬件资源或内核功能。&lt;/p&gt;
&lt;p&gt;内核态是操作系统内核运行的环境，具有最高权限，直接控制硬件和管理系统资源。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;系统调用
&lt;ul&gt;
&lt;li&gt;用户空间进入内核空间的主要途径&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;中断和异常
&lt;ul&gt;
&lt;li&gt;中断是由硬件或外部事件触发的机制，内核通过中断处理程序响应这些事件。&lt;/li&gt;
&lt;li&gt;异常是由 CPU 执行指令时检测到的错误（Page Fault，Trap：用户态程序故意触发异常进入内核）触发的。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;上下文切换
&lt;ul&gt;
&lt;li&gt;进程切换，线程切换，用户态内核态切换，中断切换，异常切换&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发生条件&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;进程被抢占：时间片到期或更高优先级的任务需要执行。&lt;/li&gt;
&lt;li&gt;系统调用或中断：用户态程序主动进入内核态。&lt;/li&gt;
&lt;li&gt;I/O 等待：进程等待 I/O 完成，需要切换到其他任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保存当前状态&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;操作系统保存当前进程的 CPU 寄存器、程序计数器、栈指针等状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;切换到新任务&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;恢复另一个任务的状态，包括寄存器、栈、程序计数器等。&lt;/li&gt;
&lt;li&gt;CPU 开始执行新任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;进程状态&#34;&gt;进程状态
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;新建状态（New）
&lt;ul&gt;
&lt;li&gt;进程正在创建中，尚未被操作系统调度执行。
&lt;ul&gt;
&lt;li&gt;操作系统已为进程分配了必要的资源（如 PCB，Process Control Block）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;尚未进入调度队列&lt;/strong&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;就绪状态（Ready）
&lt;ul&gt;
&lt;li&gt;进程已分配必要资源，等待 CPU 调度运行。
&lt;ul&gt;
&lt;li&gt;位于 &lt;strong&gt;调度队列中&lt;/strong&gt;，随时可以获得 CPU。&lt;/li&gt;
&lt;li&gt;未占用 CPU。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;运行状态（Running）
&lt;ul&gt;
&lt;li&gt;进程正在 CPU 上运行，执行其指令。
&lt;ul&gt;
&lt;li&gt;只有一个进程（单核系统）可以处于运行状态。&lt;/li&gt;
&lt;li&gt;多核系统中，每个 CPU 核心可以运行一个进程。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;阻塞状态（Blocked / Waiting）
&lt;ul&gt;
&lt;li&gt;进程 &lt;strong&gt;等待某种事件完成（如 I/O 操作、信号或资源）&lt;/strong&gt;，暂时无法运行。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;阻塞进程不在调度队列中。&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;只有等待的事件完成后才能转入就绪状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;终止状态（Terminated）
&lt;ul&gt;
&lt;li&gt;进程已完成执行或被强制结束。
&lt;ul&gt;
&lt;li&gt;进程的资源被回收。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;挂起状态（Suspended）
&lt;ul&gt;
&lt;li&gt;阻塞 → 挂起
&lt;ul&gt;
&lt;li&gt;系统内存不足，进程被换出到外存。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;挂起 → 阻塞
&lt;ul&gt;
&lt;li&gt;系统资源恢复，挂起进程重新加载到内存，但仍等待事件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;状态转换&#34;&gt;状态转换
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119144245751.png&#34;
	width=&#34;865&#34;
	height=&#34;393&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119144245751_hu12373053158790357997.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119144245751_hu17554339764829255137.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119144245751&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;220&#34;
		data-flex-basis=&#34;528px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;子进程&#34;&gt;子进程
&lt;/h2&gt;&lt;h3 id=&#34;父子进程&#34;&gt;父子进程
&lt;/h3&gt;&lt;h4 id=&#34;父进程&#34;&gt;父进程
&lt;/h4&gt;&lt;p&gt;父进程可以通过系统调用 &lt;code&gt;fork()&lt;/code&gt; 创建子进程。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;fork()&lt;/code&gt; 函数&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;创建一个几乎完全相同的子进程。&lt;/li&gt;
&lt;li&gt;子进程从父进程的当前位置开始执行。&lt;/li&gt;
&lt;li&gt;返回值：
&lt;ul&gt;
&lt;li&gt;父进程中返回子进程的 PID。&lt;/li&gt;
&lt;li&gt;子进程中返回 0。&lt;/li&gt;
&lt;li&gt;如果创建失败，返回 -1。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#include&lt;/span&gt; &lt;span class=&#34;cpf&#34;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&#34;cp&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#include&lt;/span&gt; &lt;span class=&#34;cpf&#34;&gt;&amp;lt;unistd.h&amp;gt;&lt;/span&gt;&lt;span class=&#34;cp&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;kt&#34;&gt;pid_t&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;fork&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 创建子进程
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 子进程
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;        &lt;span class=&#34;nf&#34;&gt;printf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;This is the child process. PID = %d&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getpid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 父进程
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;        &lt;span class=&#34;nf&#34;&gt;printf&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;This is the parent process. PID = %d&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;getpid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;());&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 创建失败
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;        &lt;span class=&#34;nf&#34;&gt;perror&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;fork failed&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;子进程-1&#34;&gt;子进程
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;子进程的生命周期&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;创建
&lt;ul&gt;
&lt;li&gt;父进程调用 &lt;code&gt;fork()&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;执行
&lt;ul&gt;
&lt;li&gt;子进程可以执行父进程代码，也可以通过 &lt;code&gt;exec()&lt;/code&gt; 执行新程序。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;退出
&lt;ul&gt;
&lt;li&gt;子进程完成任务后调用 &lt;code&gt;exit()&lt;/code&gt; 终止。&lt;/li&gt;
&lt;li&gt;退出状态会保存在内核中，直到被父进程回收。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;回收子进程&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;父进程调用 &lt;code&gt;wait()&lt;/code&gt; 或 &lt;code&gt;waitpid()&lt;/code&gt; 获取子进程的退出状态，并释放子进程的资源。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wait()&lt;/code&gt; 函数
&lt;ul&gt;
&lt;li&gt;阻塞父进程，直到任意一个子进程退出。&lt;/li&gt;
&lt;li&gt;返回退出的子进程的 PID。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h2 id=&#34;waitpid-函数&#34;&gt;&lt;code&gt;waitpid()&lt;/code&gt; 函数
&lt;/h2&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;父进程使用 &lt;code&gt;SIGCHLD&lt;/code&gt; 信号处理子进程退出
&lt;ul&gt;
&lt;li&gt;当子进程退出或停止时，操作系统会向父进程发送 &lt;code&gt;SIGCHLD&lt;/code&gt; 信号。&lt;/li&gt;
&lt;li&gt;父进程可以捕获此信号，并在信号处理程序中处理子进程的退出状态。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;&lt;strong&gt;方式&lt;/strong&gt;&lt;/th&gt;
          &lt;th&gt;&lt;strong&gt;特点&lt;/strong&gt;&lt;/th&gt;
          &lt;th&gt;&lt;strong&gt;适用场景&lt;/strong&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;&lt;code&gt;wait()&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;阻塞父进程，等待子进程退出。&lt;/td&gt;
          &lt;td&gt;子进程较少，父进程无需执行其他任务。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;&lt;code&gt;waitpid()&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;支持非阻塞模式和指定等待的子进程，灵活性更高。&lt;/td&gt;
          &lt;td&gt;父进程需要并行处理其他任务或管理多个子进程。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;&lt;code&gt;SIGCHLD&lt;/code&gt; 信号&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;异步通知父进程子进程的退出事件，无需阻塞。&lt;/td&gt;
          &lt;td&gt;父进程需要实时响应子进程状态，且需管理大量子进程。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;僵尸进程&#34;&gt;僵尸进程
&lt;/h3&gt;&lt;p&gt;僵尸进程是指 &lt;strong&gt;已经终止运行，但其退出状态尚未被父进程回收&lt;/strong&gt; 的子进程。&lt;/p&gt;
&lt;p&gt;杀了，但没有死。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;形成原因&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;当子进程结束后，操作系统会通知父进程，父进程需要调用系统调用（如 &lt;code&gt;wait()&lt;/code&gt; 或 &lt;code&gt;waitpid()&lt;/code&gt;）回收子进程的退出状态。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如果父进程没有回收子进程状态，子进程就会变成僵尸进程。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;僵尸进程占用进程表条目（PID）。&lt;/p&gt;
&lt;h3 id=&#34;孤儿进程&#34;&gt;孤儿进程
&lt;/h3&gt;&lt;p&gt;孤儿进程是指 &lt;strong&gt;父进程已经终止，但子进程仍在运行&lt;/strong&gt; 的进程。&lt;/p&gt;
&lt;p&gt;孤儿进程会被操作系统的 &lt;strong&gt;&lt;code&gt;init&lt;/code&gt; 进程（PID 1）&lt;/strong&gt; 接管，成为其子进程。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;形成原因&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;父进程意外终止或正常结束，但子进程仍在运行。&lt;/li&gt;
&lt;li&gt;子进程未完成其任务，继续执行。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;进程调度&#34;&gt;进程调度
&lt;/h2&gt;&lt;h3 id=&#34;调度目标&#34;&gt;调度目标
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;最大化 CPU 利用率&lt;/strong&gt;：尽量减少 CPU 空闲时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最大化吞吐量&lt;/strong&gt;：单位时间内完成的任务数量。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最小化周转时间&lt;/strong&gt;：从提交任务到完成所需的总时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最小化等待时间&lt;/strong&gt;：进程在就绪队列中等待的总时间。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;最小化响应时间&lt;/strong&gt;：从请求提交到系统首次响应的时间。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;调度层次&#34;&gt;调度层次
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;长程调度（Long-term scheduling）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;决定哪些作业被加载到内存中。&lt;/li&gt;
&lt;li&gt;控制多道程序的数量，影响系统负载。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;中程调度（Medium-term scheduling）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;负责挂起或恢复进程，通常用于内存管理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;短程调度（Short-term scheduling）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;决定哪个进程获得 CPU，属于实时决策。&lt;/li&gt;
&lt;li&gt;调度频率高，需高效执行。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;进程调度策略&#34;&gt;进程调度策略
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;先来先服务（FCFS）
&lt;ul&gt;
&lt;li&gt;按照进程到达的顺序进行调度。
&lt;ul&gt;
&lt;li&gt;实现简单。&lt;/li&gt;
&lt;li&gt;可能导致“&lt;strong&gt;队头阻塞&lt;/strong&gt;”，使短进程等待时间过长。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;短作业优先（SJF）
&lt;ul&gt;
&lt;li&gt;优先调度预计运行时间最短的进程。
&lt;ul&gt;
&lt;li&gt;能最小化平均等待时间。&lt;/li&gt;
&lt;li&gt;需要准确估算运行时间，可能导致“&lt;strong&gt;饥饿问题&lt;/strong&gt;”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;时间片轮转（Round Robin）
&lt;ul&gt;
&lt;li&gt;分配固定时间片（Time Quantum）
&lt;ul&gt;
&lt;li&gt;公平、适合交互式系统。&lt;/li&gt;
&lt;li&gt;时间片过短会增加切换开销，过长则退化为 FCFS。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;优先级调度（Priority Scheduling）
&lt;ul&gt;
&lt;li&gt;根据优先级高低选择进程调度。
&lt;ul&gt;
&lt;li&gt;满足不同任务的优先级需求。&lt;/li&gt;
&lt;li&gt;可能导致低优先级进程“&lt;strong&gt;饥饿&lt;/strong&gt;”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;多级队列调度（Multilevel Queue Scheduling）
&lt;ul&gt;
&lt;li&gt;将进程分成多个队列，每个队列有不同的优先级和调度策略。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;多级反馈队列调度（Multilevel Feedback Queue Scheduling）
&lt;ul&gt;
&lt;li&gt;允许进程在不同队列间动态调整，根据其行为改变优先级。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;最短剩余时间优先（SRTF, Shortest Remaining Time First）
&lt;ul&gt;
&lt;li&gt;抢占式版本的 SJF，优先执行剩余时间最短的进程。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;进程同步&#34;&gt;进程同步
&lt;/h2&gt;&lt;p&gt;进程同步是指多个进程在共享资源时协调彼此的操作，以避免竞争条件、死锁或资源不一致等问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;同步的目标&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;互斥（Mutual Exclusion）&lt;/strong&gt;：确保同一时刻只有一个进程访问临界区。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;死锁避免（Deadlock Avoidance）&lt;/strong&gt;：防止进程永久等待资源。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;公平性（Fairness）&lt;/strong&gt;：确保每个进程都有机会访问资源。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;进度保证（Progress Guarantee）&lt;/strong&gt;：如果没有进程在临界区，则能迅速分配资源。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;进程同步的经典问题&#34;&gt;进程同步的经典问题
&lt;/h3&gt;&lt;h4 id=&#34;生产者-消费者问题&#34;&gt;生产者-消费者问题
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题描述&lt;/strong&gt;：生产者生产数据并放入缓冲区，消费者从缓冲区取数据，需保证缓冲区不溢出或空取。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;信号量实现（使用 &lt;code&gt;full&lt;/code&gt;、&lt;code&gt;empty&lt;/code&gt; 和互斥锁 &lt;code&gt;mutex&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;条件变量和锁实现。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;读者-写者问题&#34;&gt;读者-写者问题
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题描述&lt;/strong&gt;：多个读者可以同时读资源，但写者只能独占资源。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;优先读者策略：读者可以抢占写者。&lt;/li&gt;
&lt;li&gt;优先写者策略：写者优先访问，避免饥饿。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;哲学家进餐问题&#34;&gt;哲学家进餐问题
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;问题描述&lt;/strong&gt;：五位哲学家围坐圆桌，用餐时需拿起左右两边的筷子，可能导致死锁。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;限制最多允许四个哲学家同时拿筷子。&lt;/li&gt;
&lt;li&gt;哲学家必须先拿左筷子再拿右筷子。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;进程同步的实现方法&#34;&gt;进程同步的实现方法
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;锁（Locks）&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;互斥锁（Mutex）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;用于保证一个进程独占资源。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;示例操作：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;lock()&lt;/code&gt;: 加锁。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unlock()&lt;/code&gt;: 解锁。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;读写锁（Reader-Writer Locks）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;允许多个读者同时访问资源，但写者需独占。&lt;/li&gt;
&lt;li&gt;示例操作：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;read_lock()&lt;/code&gt; 和 &lt;code&gt;read_unlock()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;write_lock()&lt;/code&gt; 和 &lt;code&gt;write_unlock()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;信号量（Semaphore）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;定义：计数器，表示资源的可用数量。&lt;/li&gt;
&lt;li&gt;两种类型：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;计数信号量&lt;/strong&gt;：值可大于 1。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二值信号量&lt;/strong&gt;：值为 0 或 1，类似互斥锁。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;操作：
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;P(S)&lt;/code&gt;（Wait）：如果信号量值大于 0，减 1；否则等待。申请资源&lt;/li&gt;
&lt;li&gt;&lt;code&gt;V(S)&lt;/code&gt;（Signal）：信号量值加 1，唤醒等待队列中的进程。释放资源&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C&#34; data-lang=&#34;C&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Semaphore&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;full&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;// 表示缓冲区中已填充的槽位
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Semaphore&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;empty&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;N&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// 表示缓冲区中空的槽位
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Semaphore&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mutex&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// 用于互斥
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 生产者
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;P&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;P&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mutex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 放入数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;V&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mutex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;V&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;full&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 消费者
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;P&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;full&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;P&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mutex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 取出数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;V&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mutex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;V&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;条件变量（Condition Variables）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用于线程间的信号传递。
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wait(condition, mutex)&lt;/code&gt;: 释放锁并等待条件变量。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;signal(condition)&lt;/code&gt;: 唤醒等待该条件变量的线程。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自旋锁（Spinlock）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;锁空闲时，进程会忙等待。&lt;/li&gt;
&lt;li&gt;适用于临界区很短且多核系统中。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;管程（Monitors）&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;高级同步机制，封装了共享资源、条件变量和方法。&lt;/li&gt;
&lt;li&gt;支持条件等待和条件唤醒。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;进程通信&#34;&gt;进程通信
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;管道&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;普通管道&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;特点&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;单向通信。&lt;/li&gt;
&lt;li&gt;只能在具有亲缘关系的进程间使用（如父子进程）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;操作&lt;/strong&gt;：&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;创建：&lt;code&gt;pipe()&lt;/code&gt; 系统调用。&lt;/li&gt;
&lt;li&gt;管道有两个文件描述符：
&lt;ul&gt;
&lt;li&gt;读端：&lt;code&gt;fd[0]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;写端：&lt;code&gt;fd[1]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;命名管道&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;特点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;双向通信。&lt;/li&gt;
&lt;li&gt;可用于无亲缘关系的进程。&lt;/li&gt;
&lt;li&gt;持久化存在，直到被删除。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;操作&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;创建：&lt;code&gt;mkfifo&lt;/code&gt; 或 &lt;code&gt;mknod&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;打开：&lt;code&gt;open()&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkfifo myfifo   &lt;span class=&#34;c1&#34;&gt;# 创建命名管道&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Message&amp;#34;&lt;/span&gt; &amp;gt; myfifo  &lt;span class=&#34;c1&#34;&gt;# 写入数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat myfifo              &lt;span class=&#34;c1&#34;&gt;# 读取数据&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;消息队列&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;共享内存&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;特点&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;最快的进程通信方式。&lt;/li&gt;
&lt;li&gt;允许多个进程共享同一内存段。&lt;/li&gt;
&lt;li&gt;需要同步机制（如信号量）保护共享数据。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;信号量（Semaphore）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;信号（Signal）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;套接字（Socket）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;文件（File-Based IPC）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;进程优先级&#34;&gt;进程优先级
&lt;/h2&gt;&lt;p&gt;进程优先级是一个数 值，用于表示进程在系统中的执行顺序。&lt;/p&gt;
&lt;p&gt;PRI（系统优先级）：默认优先级，无法修改&lt;/p&gt;
&lt;p&gt;nice 值：-20 ~19（对系统优先级的修正）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;修改 nice 值
&lt;ul&gt;
&lt;li&gt;nice/renice&lt;/li&gt;
&lt;li&gt;进入 top 后按“r”–&amp;gt; 输入进程 PID–&amp;gt; 输入 nice 值&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实时优先级&lt;/strong&gt; 是操作系统中用于实时进程调度的一种高优先级机制，主要用于确保实时任务能够在规定的时间约束内得到处理。实时优先级的进程通常具有比普通进程更高的优先级，因此在调度时会被优先考虑。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nice&lt;/code&gt; 值越低，进程的优先级越高，获得更多的 CPU 时间；&lt;/p&gt;
&lt;p&gt;反之，&lt;code&gt;nice&lt;/code&gt; 值越高，进程的优先级越低，CPU 时间的分配就越少。&lt;/p&gt;
&lt;h1 id=&#34;管理工具&#34;&gt;管理工具
&lt;/h1&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/linux_observability_tools.png&#34;
	width=&#34;2400&#34;
	height=&#34;1800&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/linux_observability_tools_hu16267821144724510553.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/linux_observability_tools_hu1173484652523154098.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;img&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;进程-1&#34;&gt;进程
&lt;/h2&gt;&lt;h3 id=&#34;pidof--获取-pid&#34;&gt;pidof  获取 pid
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pidof &amp;lt;程序名&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pidof -x /usr/sbin/nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;pstree-进程树&#34;&gt;pstree 进程树
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pstree -p			&lt;span class=&#34;c1&#34;&gt;# 带pid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pstree -c			&lt;span class=&#34;c1&#34;&gt;# 不压缩显示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# {}内的为线程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;ps-进程状态&#34;&gt;ps 进程状态
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps aux
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# a 所有&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# u 显示所有者&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# x 包括不链接终端的进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p pid &lt;span class=&#34;c1&#34;&gt;#显示指pid的进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程的父子关系&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps auxf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;prtstat-特定进程状态信息&#34;&gt;prtstat 特定进程状态信息
&lt;/h3&gt;&lt;p&gt;psmisc 包&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;prtstat &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;options&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &amp;lt;PID&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;prtstat &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 输出类似于 /proc/&amp;lt;pid&amp;gt;/status 中的信息，并包含有关进程资源使用情况、权限、线程等的详细信息。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root@loong:~# prtstat &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Process: systemd                State: S &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;sleeping&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  CPU#:  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;              TTY: 0:0        Threads: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Process, Group and Session IDs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Process ID: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;           Parent ID: &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Group ID: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;          Session ID: &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  T Group ID: -1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Page Faults
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  This Process    &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;minor major&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:   &lt;span class=&#34;m&#34;&gt;134890&lt;/span&gt;       &lt;span class=&#34;m&#34;&gt;108&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Child Processes &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;minor major&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:  &lt;span class=&#34;m&#34;&gt;2535495&lt;/span&gt;      &lt;span class=&#34;m&#34;&gt;1183&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;CPU Times
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  This Process    &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;user system guest blkio&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:  14.22   9.30   0.00   0.00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Child processes &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;user system guest&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:       201.79 204.24   0.00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Memory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Vsize:       &lt;span class=&#34;m&#34;&gt;23&lt;/span&gt; MB     
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  RSS:         &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; MB                     RSS Limit: &lt;span class=&#34;m&#34;&gt;18446744073709&lt;/span&gt; MB
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Code Start:  0x628f1483d000            Code Stop:  0x628f14847b61
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Stack Start: 0x7ffc40dd9f60
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Stack Pointer &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;ESP&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:          &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;        Inst Pointer &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;EIP&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:          &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Scheduling
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Policy: normal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  Nice:   &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;              RT Priority: &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;non RT&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;nicerenice-优先级&#34;&gt;nice/renice 优先级
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nice -n &amp;lt;priority&amp;gt; &amp;lt;command&amp;gt;				&lt;span class=&#34;c1&#34;&gt;# 以特定nice值运行命令&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;renice -n &amp;lt;priority&amp;gt; &amp;lt;pid&amp;gt;					&lt;span class=&#34;c1&#34;&gt;# 更改进程的nice值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;pgrep-条件查找-pid&#34;&gt;pgrep 条件查找 PID
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pgrep &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;options&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &amp;lt;pattern&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pgrep -at pts/1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -t 指定终端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -a 显示详细完整的进程信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -l 完整进程名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -u 根据用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pgrep -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;.*sshd.*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;top-实时显示系统的运行状况&#34;&gt;top 实时显示系统的运行状况
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top -n &amp;lt;num&amp;gt;		&lt;span class=&#34;c1&#34;&gt;# 刷新几次&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top -d &amp;lt;num&amp;gt;		&lt;span class=&#34;c1&#34;&gt;# 刷新间隔（秒）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top -p &amp;lt;pid&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top -H				&lt;span class=&#34;c1&#34;&gt;# 线程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top -b				&lt;span class=&#34;c1&#34;&gt;# 所有进程&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;查看状态
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;root@rocky9 ~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# top&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;top - 20:45:41 up &lt;span class=&#34;m&#34;&gt;35&lt;/span&gt; min,  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; user,  load average: 0.00, 0.00, 0.00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tasks: &lt;span class=&#34;m&#34;&gt;287&lt;/span&gt; total,   &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; running, &lt;span class=&#34;m&#34;&gt;286&lt;/span&gt; sleeping,   &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; stopped,   &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; zombie
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;%Cpu&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;s&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MiB Mem :   1743.4 total,    480.6 free,    826.2 used,    609.4 buff/cache
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MiB Swap:   2064.0 total,   2064.0 free,      0.0 used.    917.3 avail Mem
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;字段解析
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    us 用户空间 sy 内核空间 ni 调整 nice 时间   id 空闲
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    wa 等待 IO 时间 hi 硬中断 si 软中断（模式切换） st 虚拟化消耗占比
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119171106289.png&#34;
	width=&#34;1328&#34;
	height=&#34;658&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119171106289_hu5339273568160943407.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119171106289_hu472885765991971782.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119171106289&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;201&#34;
		data-flex-basis=&#34;484px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;htop-交互式的系统监视工具&#34;&gt;htop 交互式的系统监视工具
&lt;/h3&gt;&lt;p&gt;比传统的top命令更丰富的信息和功能，并以彩色方式展示进程列表，使得用户可以更直观地了解系统的运行 状态。&lt;/p&gt;
&lt;p&gt;注意：htop 是增强版的 top 命令，在 centos 中来自于 epel 源&lt;/p&gt;
&lt;h3 id=&#34;pmap-进程内存映射关系&#34;&gt;pmap 进程内存映射关系
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pmap &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;options&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &amp;lt;pid&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p			&lt;span class=&#34;c1&#34;&gt;# 显示路径&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /proc/1134/maps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;vmstat-监测系统的整体负载情况&#34;&gt;vmstat 监测系统的整体负载情况
&lt;/h3&gt;&lt;p&gt;监测系统的整体负载情况:&lt;/p&gt;
&lt;p&gt;​		了解系统的CPU、内存、磁盘、网络等性能指标，以及进程数量和状态等信息。&lt;/p&gt;
&lt;p&gt;分析系统性能问题:&lt;/p&gt;
&lt;p&gt;​		通过观察系统的CPU使用率、内存占用、磁盘I/O等指标，快速定位系统的性能瓶颈，找到导致系统负载 过高、响应变慢等问题的原因。&lt;/p&gt;
&lt;p&gt;监测系统的稳定性:&lt;/p&gt;
&lt;p&gt;​		通过连续监测系统的负载情况，识别出系统的周期性波动，以及系统负载变化的规律，从而更好地管理系 统资源，保证系统的稳定性&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vmstat
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-d &lt;span class=&#34;c1&#34;&gt;# 磁盘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-D &lt;span class=&#34;c1&#34;&gt;# 磁盘综合&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;procs -----------memory---------- ---swap-- -----io---- -system-- -------cpu-------
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st gu
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;      &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2632984&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;53788&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;949184&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;     &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;108&lt;/span&gt;    &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;  &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;lsof-查看进程打开文件&#34;&gt;lsof 查看进程打开文件
&lt;/h3&gt;&lt;p&gt;lsof：list open files&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsof
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-p	&lt;span class=&#34;c1&#34;&gt;# pid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-c  &lt;span class=&#34;c1&#34;&gt;# 程序 &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-u	&lt;span class=&#34;c1&#34;&gt;# 用户&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-n	&lt;span class=&#34;c1&#34;&gt;# 不解析&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-i	&lt;span class=&#34;c1&#34;&gt;# 筛选&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-t	&lt;span class=&#34;c1&#34;&gt;# 只显示 pid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看当前哪个进程正在使用此文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsof /var/log/messages
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lsof -i : &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 查看进程打开文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ll /proc/6037/fd/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;kill-信号发送&#34;&gt;kill 信号发送
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGHUP 无须关闭进程而让其重读配置文件
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGINT 中止正在运行的进程；相当于 Ctrl+c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGQUIT 相当于 ctrl+&lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;&lt;/span&gt;9&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGKILL 强制杀死正在运行的进程, 可能会导致数据丢失, 慎用!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;15&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGTERM 终止正在运行的进程，默认信号
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;18&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGCONT 继续运行
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;19&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; SIGSTOP 后台休眠
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 显示信号&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; -l 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fuser -ki -9 80/tcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;jobsfgbg-前后台任务&#34;&gt;jobs，fg，bg 前后台任务
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使程序停于后台&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Ctrl+z
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使程序后台运行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;COMMAND &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119182708838.png&#34;
	width=&#34;1349&#34;
	height=&#34;625&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119182708838_hu95711051652953050.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119182708838_hu13423144339062791142.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119182708838&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;215&#34;
		data-flex-basis=&#34;518px&#34;
	
&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用&amp;amp;将多命令置于后台运行&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sleep &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sleep &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sleep &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;wait&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# wait 会阻塞程序，等待所有后台执行完成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 进程 ID（PID）：指定要等待的特定进程。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 作业 ID（Job ID）：指定作业号（通常以 % 开头，如 %1）。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 无参数：如果不指定任何参数，wait 会等待当前 Shell 中所有的后台任务完成。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;内存-1&#34;&gt;内存
&lt;/h2&gt;&lt;h3 id=&#34;free-显示内存使用情况&#34;&gt;free 显示内存使用情况
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;free -h				&lt;span class=&#34;c1&#34;&gt;# 友好显示&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-s &amp;lt;num&amp;gt;			&lt;span class=&#34;c1&#34;&gt;# 刷新间隔&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-c &amp;lt;num&amp;gt;			&lt;span class=&#34;c1&#34;&gt;# 刷新次数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;清理缓存&#34;&gt;清理缓存
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ABAP&#34; data-lang=&#34;ABAP&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;向&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;drop_caches&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;中写入相应的修改值&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;会清理缓存&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;建议先执行&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;sync&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;（&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sync&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;命令将所有未写的系统缓冲区写到磁盘中&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;，&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;包含已修改的&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;node&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;已延迟的块&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;I&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;O&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;和读写映射文件&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;）。&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;执行&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;、&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;至&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;drop_caches&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;达到不同的清理目的&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;To&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;free &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;pagecache&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;use&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;nv&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;drop_caches&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;To&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;free &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;dentries&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;inodes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;use&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;nv&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;drop_caches&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;To&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;free &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;pagecache&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;dentries&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;inodes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;use&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;nv&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;vm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;drop_caches&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;cpu-1&#34;&gt;CPU
&lt;/h2&gt;&lt;h3 id=&#34;uptime-cpu负载&#34;&gt;uptime CPU负载
&lt;/h3&gt;&lt;h3 id=&#34;w-显示当前登录到系统的用户信息以及系统的负载情况&#34;&gt;w 显示当前登录到系统的用户信息以及系统的负载情况
&lt;/h3&gt;&lt;h3 id=&#34;mpstat-用于监控多核cpu性能和使用情况&#34;&gt;mpstat 用于监控多核CPU性能和使用情况
&lt;/h3&gt;&lt;p&gt;sysstat软件包&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-P &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-P &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-P ALL
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 指定 CPU 核心&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 每 5 秒采集一次信息，共采集三次&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mpstat -P ALL &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;磁盘&#34;&gt;磁盘
&lt;/h2&gt;&lt;h3 id=&#34;iostat-磁盘使用情况和磁盘性能的实时统计信息&#34;&gt;iostat 磁盘使用情况和磁盘性能的实时统计信息
&lt;/h3&gt;&lt;p&gt;sysstat 包&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;默认显示 CPU 信息和所有设备信息：iostat
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;只显示 CPU 的信息：iostat -c
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;每隔 &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; 秒显示一次设备统计信息，总共输出 &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; 次：iostat -d &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;每隔 &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; 秒显示一次 sda 及上面所有分区的统计信息，共输出 &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; 次：iostat -p sda &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;以 MB 为单位显示所有信息：iostat -m
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;显示指定硬盘信息：iostat -d sda
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;显示设备的详细信息：iostat -x sda
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;iotop-监视磁盘io使用状况&#34;&gt;iotop 监视磁盘I/O使用状况
&lt;/h3&gt;&lt;p&gt;iotop 软件包&lt;/p&gt;
&lt;h2 id=&#34;网络&#34;&gt;网络
&lt;/h2&gt;&lt;h3 id=&#34;iftop-显示网络带宽使用情况&#34;&gt;iftop 显示网络带宽使用情况
&lt;/h3&gt;&lt;p&gt;iftop软件包在 epel-release源里面&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;iftop -nNP
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-i	&lt;span class=&#34;c1&#34;&gt;# 接口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-P	&lt;span class=&#34;c1&#34;&gt;# 端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-n	&lt;span class=&#34;c1&#34;&gt;# 不解析 ip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-N	&lt;span class=&#34;c1&#34;&gt;# 数字端口&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;nload-网络实时吞吐量&#34;&gt;nload 网络实时吞吐量
&lt;/h3&gt;&lt;p&gt;nload软件包在 epel-release源里面&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-m # 所有设备
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;nethogs-查看进程网络带宽的使用情况&#34;&gt;nethogs 查看进程网络带宽的使用情况
&lt;/h3&gt;&lt;p&gt;nethogs软件包在 epel-release源里面&lt;/p&gt;
&lt;h3 id=&#34;iptraf-ng-图形窗口网络监视工具&#34;&gt;iptraf-ng 图形窗口，网络监视工具
&lt;/h3&gt;&lt;p&gt;实时展示关于IP流量的各种信息。&lt;/p&gt;
&lt;h2 id=&#34;综合监控&#34;&gt;综合监控
&lt;/h2&gt;&lt;h3 id=&#34;dstat&#34;&gt;dstat
&lt;/h3&gt;&lt;p&gt;实时监测和报告系统的性能指 标，包括CPU、内存、磁盘I/O、网络等方面的使用情况。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119185650284.png&#34;
	width=&#34;766&#34;
	height=&#34;324&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119185650284_hu12298164005659667319.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119185650284_hu8087644437566001317.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119185650284&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;236&#34;
		data-flex-basis=&#34;567px&#34;
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;glances&#34;&gt;glances
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;glances
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;cs模式&#34;&gt;C/S模式
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;服务端配置，在 &lt;span class=&#34;m&#34;&gt;12&lt;/span&gt; 主机上进行服务端的部署
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;root@rocky9 ~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# glances -s -B 10.0.0.12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;新开一个终端，模拟客户端连接服务端
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;root@rocky9 ~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;# glances -c 10.0.0.12&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;cockpit-基于web的linux服务器管理工具&#34;&gt;cockpit 基于Web的Linux服务器管理工具
&lt;/h2&gt;&lt;p&gt;9090端口&lt;/p&gt;
&lt;h1 id=&#34;计划任务&#34;&gt;计划任务
&lt;/h1&gt;&lt;h2 id=&#34;at计划任务一次性任务&#34;&gt;at计划任务，一次性任务
&lt;/h2&gt;&lt;p&gt;依赖于atd服务，需要启动才能实现at任务&lt;/p&gt;
&lt;p&gt;at队列存放在/var/spool/at目录中，ubuntu存放在/var/spool/cron/atjobs目录下&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;作业执行命令的结果中的标准输出和错误以执行任务的用户身份发邮件通知给root&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;apt install at -y&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Ctrl+D 退出&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;at 0:05
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;at now+1min
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 任务列表&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;at -l
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 具体任务内容&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;at -c &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;cron计划任务周期性任务&#34;&gt;cron计划任务，周期性任务
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;每个用户都有专用的cron任务文件：/var/spool/cron/crontabs/USERNAME&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;默认标准输出和错误会被发邮件给对应的用户，如：mage创建的任务就发送至mage的邮箱&lt;/li&gt;
&lt;li&gt;root能够修改其它用户的作业&lt;/li&gt;
&lt;li&gt;用户的cron中默认 PATH=/usr/bin:/bin，如果使用其它路径，在任务文件的第一行加PATH=/path或 者加入到计划任务执行的脚本中&lt;/li&gt;
&lt;li&gt;第六个字段指定要运行的命令。 该行的整个命令部分，直至换行符或“％”字符，指定的shell执行，除非使用反斜杠（\）进行转义，否则该命令中的**“％”**字符将变为换行符，并且第一个％之后的所有数据将作为标 准输入发送到该命令。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/crontab 		&lt;span class=&#34;c1&#34;&gt;#添加系统级的 cron 任务，写在此文件中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/cron.d/ 		&lt;span class=&#34;c1&#34;&gt;#配置文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/cron.hourly/ 	&lt;span class=&#34;c1&#34;&gt;#脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/cron.daily/ 	&lt;span class=&#34;c1&#34;&gt;#脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/cron.weekly/ 	&lt;span class=&#34;c1&#34;&gt;#脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/etc/cron.monthly/ 	&lt;span class=&#34;c1&#34;&gt;#脚本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119193500044.png&#34;
	width=&#34;1312&#34;
	height=&#34;784&#34;
	srcset=&#34;https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119193500044_hu11086915861654056113.png 480w, https://www.l00n9.icu/p/%E8%BF%9B%E7%A8%8B%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E7%AE%A1%E7%90%86%E7%9B%91%E8%A7%86%E5%B7%A5%E5%85%B7%E5%92%8C%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1/pic/image-20241119193500044_hu5846983022319601416.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;image-20241119193500044&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;167&#34;
		data-flex-basis=&#34;401px&#34;
	
&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;特定关健字
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @yearly 	&lt;span class=&#34;c1&#34;&gt;#每年 1 月 1 日执行一次，相当于 0 0 1 1 *&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @annually 	&lt;span class=&#34;c1&#34;&gt;#每年 1 月 1 日执行一次，相当于 0 0 1 1 *&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @monthly 	&lt;span class=&#34;c1&#34;&gt;#每月 1 日执行一次，相当于 0 0 1 * *&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @weekly 	&lt;span class=&#34;c1&#34;&gt;#每周日执行一次，相当于 0 0 * * 0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @daily 		&lt;span class=&#34;c1&#34;&gt;#每天 0 时执行一次，相当于 0 0 * * *&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @hourly 	&lt;span class=&#34;c1&#34;&gt;#每小时 0 分执行一次，相当于 0 * * * *&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    @reboot 	&lt;span class=&#34;c1&#34;&gt;#重启后执行一次&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -l		&lt;span class=&#34;c1&#34;&gt;#列出所有任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -e		&lt;span class=&#34;c1&#34;&gt;#编辑任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -r		&lt;span class=&#34;c1&#34;&gt;#移除所有任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -i		&lt;span class=&#34;c1&#34;&gt;#同-r 一同使用，以交互式模式移除指定任务&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -u		&lt;span class=&#34;c1&#34;&gt;#管理特定用户的 cron, 仅 root 有权限操作&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;面试题：11月每天的6-12点之间每隔2小时执行/app/bin/test.sh&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;#在 6,8,10,12 点整共 4 次分别执行 test.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0 6-12/2 * 11 * /app/bin/test.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        
    </channel>
</rss>
