diff --git a/Background-settings/The-Calamity-Codex/codex-decentralisation.md b/Background-settings/The-Calamity-Codex/codex-decentralisation.md new file mode 100644 index 0000000..28f0231 --- /dev/null +++ b/Background-settings/The-Calamity-Codex/codex-decentralisation.md @@ -0,0 +1,334 @@ +# 丙卷·灵界大天劫(分布式诸大陆)·十二回 + +## 第一回 界壁忽断真如裂 两洲各说各为天(分区劫) + +**天道判词** + +> 界脉一断因果裂,东洲言是西洲非。 +> 同一符文分两解,谁家天机不成灰。 + +**渡劫段落模板** +却说诸大陆本以 TCP/IP 为界脉,昼夜传音不断;忽然界壁一裂,传音或通或断,东洲所见与西洲所闻竟成两套天机。众修各执一词,都以为对方入魔,实则是“分区”使因果各自闭环。此时最忌硬求“全知全能”,越强求越混乱;须先承认界壁之实,再以观脉之术(抓包、路由观测、重传观测)辨裂口所在,方能止住“真如裂”。 + +**案牍注解(旁批)** + +* **分区**:界脉断续,非人力可保证永不断。 +* **两套天机**:同一消息在两洲产生不同“已知”。 +* **观脉**:`tcpdump`/`ss -ti`/路由监测,先求“知断在何处”。 + +--- + +## 第二回 浊气成潮吞万里 越催越堵自崩摧(拥塞崩坏劫) + +**天道判词** + +> 浊气一起千山闷,重传如雨夜不收。 +> 越催越堵终成劫,万里传音化断喉。 + +**渡劫段落模板** +只见界脉忽然迟重,RTT 如潮起落,重传条条似血丝缠在空中。众修急催传音,反叫浊气更厚:拥塞窗口缩了又涨,涨了又缩,终至吞吐坠地。此劫破法不在“更快”,在“更清”:以队列之法疏浊(qdisc/AQM),以入口净坛减噪(tc/XDP),再以观天术量其重传与延迟,方能止住“越催越堵”的反噬。 + +**案牍注解(旁批)** + +* **拥塞崩坏**:重传与排队互相放大。 +* **队列之法**:`tc -s qdisc` 是看“浊气厚薄”的简镜。 +* **入口净坛**:XDP/过滤/整形,先减无谓之流。 + +--- + +## 第三回 天机失准命线乱 先后颠倒各惊疑(时钟劫) + +**天道判词** + +> 天盘各转无同刻,一息偏差万事歧。 +> 先后若乱皆成妄,真伪难分笑与悲。 + +**渡劫段落模板** +灵界里最易生疑的,不是刀兵,是“时间”。诸洲时钟各自漂移,校时又有缓急,便叫“先发生者后记载,后发生者先到达”。众修凭时序断因果,越断越错,终至互相猜忌。破此劫,当以稳校时为正法(chrony/NTP 平滑),以单调时钟守内心,以墙钟作外相;先让天机有一条不跳的脊梁,诸术才不致乱套。 + +**案牍注解(旁批)** + +* **漂移**:诸洲各有天盘,必偏。 +* **跳时**:大步校时最伤“因果顺序”。 +* **守正**:单调时钟不倒退,适合作“内心天机”。 + +--- + +## 第四回 界脉忽左忽右跳 万里行踪不可寻(路由震荡劫) + +**天道判词** + +> 今日此路明如昼,明日彼途暗如渊。 +> 界脉震荡魂难定,一步千回不见天。 + +**渡劫段落模板** +忽有一日,传音同去同回,却忽远忽近;tracepath 一查,路径时左时右,似有人在暗中挪移界门。路由震荡一起,拥塞与重传往往随之而来,像连环劫。此时当先观界脉之跳(`ip monitor`、路由表变动、traceroute),再稳其收敛与策略,使路径不再日日更换;路既定,浊气方可疏。 + +**案牍注解(旁批)** + +* **路由震荡**:路径频变,延迟与丢包都呈潮汐。 +* **观跳**:`ip route`/`ip monitor` 是看“界门迁移”的记簿。 +* **连环劫**:震荡常引发拥塞崩坏,须先止震。 + +--- + +## 第五回 大符可通小符断 黑洞无声吞一切(PMTU 黑洞劫) + +**天道判词** + +> 小符能过大符死,黑洞无声最可怖。 +> 天外回音不肯来,万里只余半句书。 + +**渡劫段落模板** +此劫最会骗人:小包传音无碍,大包一出便泥牛入海。修士只见连接似成非成,进展忽停,仿佛被无形黑洞吞噬。其因多在路径 MTU 发现失灵,ICMP 之回音被界壁遮断,分片之道又不通。破法在“让天道回音可达”(必要 ICMP 放行),或以 MSS 之术钳其翼(mss clamp),再以抓包验其真相,方能照见黑洞之口。 + +**案牍注解(旁批)** + +* **PMTU**:本欲自适应路径之宽,回音断则成灾。 +* **黑洞**:不是全断,是“到某尺寸就断”。 +* **钳翼**:MSS 调整能绕开黑洞,但需知其尺度。 + +--- + +## 第六回 邻籍翻涌名册乱 未见强敌自乱兵(ARP/NDP 风暴劫) + +**天道判词** + +> 邻籍一乱门牌废,喊名不应各惊惶。 +> 不见刀光先见乱,万家争问路何方。 + +**渡劫段落模板** +诸洲近域原靠邻居名册(ARP/NDP)认门牌,一旦广播域过大或邻项频失,名册翻涌如潮。于是你喊其名,他不应;你递符,他不收;软中断忙得发烫,界脉却愈发不稳。此劫破法在“缩域”“分层”“稳邻”:控制广播域规模、合理邻居表参数、必要时隔离之;名册稳了,近域方不自乱。 + +**案牍注解(旁批)** + +* **邻居表**:近域名录,翻涌则近域失明。 +* **广播风暴**:最会让软中断火起。 +* **分层隔离**:小界小域,胜过一锅粥。 + +--- + +## 第七回 队深如海迟如山 明明通达却难行(缓冲肥肿/Bufferbloat 劫) + +**天道判词** + +> 队深不是路更宽,迟重方知祸在绵。 +> 看似通达皆可渡,回首已隔万重天。 + +**渡劫段落模板** +有时并非丢包,并非断路,而是“队列太好心”:包都收下不肯丢,排成千丈长队,叫你延迟重如山。众修只觉“能通”,却不知“迟”本身就是劫。破法在“该丢就丢、该整就整”:以 qdisc/AQM 断其肥肿(如 fq 类、AQM 类),以统计观其队深,令界脉不再以“拖”代“通”。 + +**案牍注解(旁批)** + +* **bufferbloat**:队列过深,延迟飙升而吞吐未必高。 +* **AQM**:以小丢换大稳,乃清浊之术。 +* **观队深**:`tc -s qdisc` 可见“浊气是否堆墙”。 + +--- + +## 第八回 乱流重排疑鬼影 虚重虚传乱人心(重排/伪重传劫) + +**天道判词** + +> 乱流一至先后换,鬼影重重似故书。 +> 未必真断偏疑断,虚传虚重最伤夫。 + +**渡劫段落模板** +灵界界脉多经多门,包有时先后错位,重排一多,TCP 便疑似丢失而早早重传。众修见重传增多,便以为界壁将断,实则是“乱流”在作祟:包没死,只是晚到。此劫破法在“辨真伪”:以抓包与 TCP 观测(retrans、SACK、reordering)分清是真丢还是晚到;再从路径与队列处止乱,使先后有序。 + +**案牍注解(旁批)** + +* **重排**:包顺序乱,非同于丢包。 +* **伪重传**:误判丢失导致重传,徒增浊气。 +* **SACK**:天道回执可减少误判,亦需路径配合。 + +--- + +## 第九回 天关忽塞万符止 半开半闭最磨人(监听队列/半连接劫) + +**天道判词** + +> 天关不破偏不死,半开半闭最销魂。 +> 一门拥塞千门弱,未见强敌自伤身。 + +**渡劫段落模板** +此劫常现为“门口挤满”:SYN 如雪片飘来,半连接堆成山,监听队列被挤爆。表面看似还有回应,实则新来者不得其门。它可以是自然洪峰,也可以是魔界探门(SYN flood);但在灵界,天关塞就是天关塞。破法当先观队列与丢弃(`ss -lnt`、SYN backlog、drops),再以参数与护法(syncookies、合理 backlog、限速/过滤)稳住门关,莫让半开之门磨死全界。 + +**案牍注解(旁批)** + +* **SYN backlog / accept queue**:门前两重队列,一满则新人止步。 +* **syncookies**:临时护法,能救急,非万全。 +* **探门之术**:限速/过滤/XDP 可提前拦浊。 + +--- + +## 第十回 界壁记账忽爆裂 因果不存乱杀生(Conntrack/NAT 表溢出劫) + +**天道判词** + +> 界壁账簿原为护,记满翻时反噬身。 +> 因果一断皆成错,乱杀无辜最伤神。 + +**渡劫段落模板** +灵界界壁多设“记账簿”(conntrack/NAT 状态),以便识因果、护出入;谁知账簿写满之日,反成大祸:新因果记不住,旧因果又乱退,界壁便开始“乱杀”。众修只觉连接莫名其妙断,像被阴风割喉。破此劫,先查账簿之满与超时之乱,再调其容量与寿命,更要治其源:减少不必要之状态爆炸、分层隔离、入口净化;不然你抄再厚的账簿,也终有写满时。 + +**案牍注解(旁批)** + +* **conntrack**:界壁“状态账本”。 +* **表溢出**:不是断网,而是“记不住因果”。 +* **治源**:限速、减少连接风暴、缩短无用状态寿命。 + +--- + +## 第十一回 万界名录起迷雾 呼名不应路成空(命名混乱/DNS 劫) + +**天道判词** + +> 名若不真路何在,呼来不应更添疑。 +> 一纸名录生万祸,千洲同陷雾中迷。 + +**渡劫段落模板** +诸洲相识,先靠“名录”指路;名录一乱,便是大雾罩界:你呼其名,回音却指向别处;你循名而去,走到空门。此劫可以是缓存与递归之乱,也可以是路径受阻导致解析变慢,最终让诸术“以为对方失联”。破法当先分清“名错、路断、还是回音迟”:抓取解析链路、比对上游、观测缓存与 TTL;名录清明,诸洲方能互认门庭。 + +**案牍注解(旁批)** + +* **DNS**:灵界名录;名不正则路皆偏。 +* **缓存/TTL**:旧名残影久不散,最易生“鬼门”。 +* **辨三因**:名错 / 路断 / 回音迟,先分清再下手。 + +--- + +## 第十二回 法度不一裂成界 同符不同各自灵(版本裂界劫) + +**天道判词** + +> 同符写法各不同,一界成真一界空。 +> 法度若裂争端起,修到高深也难通。 + +**渡劫段落模板** +灵界最怕“道统不一”:东洲内核法度新,西洲仍守旧章;拥塞控制、队列策略、驱动习性皆有差别。于是同一符文(同一协议/同一参数)在此洲灵验,在彼洲失效,众修争论不休,仿佛各自都对。破此劫,须定“基线法度”:统一关键内核版本与 sysctl/qdisc 策略,明确哪些大陆允许异构、哪些必须同法同度;并以观测验其一致,免得“同符不同灵”酿成道统之争。 + +**案牍注解(旁批)** + +* **版本裂界**:细节差异积累成“不可互信”。 +* **关键基线**:TCP 拥塞控制、qdisc、驱动与核心 sysctl。 +* **以测证法**:不靠嘴争,用观测与复现定真伪。 + +--- + +# 丙卷附录·天象总览图(灵界诸劫分宗归档) + +> **总纲判词** +> 界有界脉,脉有浊清;名若不正,法必自争。 +> 灵界灵气纵无尽,天劫更密不由人。 + +--- + +## 一、【界壁司】——断脉与改道之灾(Connectivity & Routing) + +> **司印判词**:界壁一裂,因果两分;界门一迁,万里失魂。 + +* **① 分区劫**(第一回) + **天象**:一断两真,各洲各说。 + **旁批**:断不是错,错在不认断。 + +* **④ 路由震荡劫**(第四回) + **天象**:路径忽左忽右,RTT 潮汐。 + **旁批**:先止震,后谈清浊。 + +* **⑤ PMTU 黑洞劫**(第五回) + **天象**:小可通,大必死;无声吞包。 + **旁批**:回音不达,天道难自适应。 + +--- + +## 二、【清浊司】——浊气堆积与队列肥肿之灾(Congestion & Queueing) + +> **司印判词**:浊气不清,越催越堵;队深如海,通亦成苦。 + +* **② 拥塞崩坏劫**(第二回) + **天象**:重传如雨,吞吐坠地。 + **旁批**:净入口,疏队列,勿以蛮力催命。 + +* **⑦ 缓冲肥肿(Bufferbloat)劫**(第七回) + **天象**:不丢不死,却迟如山。 + **旁批**:迟即是劫,非“能通”二字可掩。 + +* **⑧ 重排/伪重传劫**(第八回) + **天象**:包未死而疑死,虚重虚传。 + **旁批**:先辨真伪,勿把乱流当断流。 + +--- + +## 三、【近域司】——邻籍翻涌与广播骚动之灾(L2/L3 Neighboring) + +> **司印判词**:近域名册一乱,喊名不应;未见强敌,自乱其兵。 + +* **⑥ ARP/NDP 风暴劫**(第六回) + **天象**:邻项失稳,软雷起火,近域失明。 + **旁批**:缩域分层胜于强撑广域。 + +--- + +## 四、【巡关司】——天关拥塞与门庭失序之灾(TCP Handshake & Backlog) + +> **司印判词**:门若半开半闭,最磨人心;关口一塞,百术皆停。 + +* **⑨ 监听队列/半连接劫**(第九回) + **天象**:SYN 如雪,半连接成山;门口挤满。 + **旁批**:救急有 cookies,治本在门规与限流。 + +--- + +## 五、【界账司】——因果记账溢出与界壁反噬之灾(State Tracking / NAT) + +> **司印判词**:记账为护,记满为祸;因果不存,乱杀无辜。 + +* **⑩ Conntrack/NAT 表溢出劫**(第十回) + **天象**:连接莫名断,新因果记不住。 + **旁批**:抄厚账簿只延寿,削因果爆炸方治根。 + +--- + +## 六、【名录司】——呼名不应与鬼名残影之灾(Naming / DNS) + +> **司印判词**:名不正则路不通;雾起则万洲皆迷。 + +* **⑪ 命名混乱/DNS 劫**(第十一回) + **天象**:呼名不应,指路偏斜;旧影久不散。 + **旁批**:先辨“名错/路断/回音迟”,莫一概归罪。 + +--- + +## 七、【法度司】——道统裂界与同符不同灵之灾(Version / Policy Divergence) + +> **司印判词**:同符不同灵,争端必起;法度若裂,高修亦难通。 + +* **⑫ 版本裂界劫**(第十二回) + **天象**:同参数此洲灵、彼洲空;行为细节各异。 + **旁批**:立基线如立宗规;以测证法,不以口舌争。 + +--- + +## 八、【天机司】——时间与因果错位之灾(Time & Ordering) + +> **司印判词**:天盘各转无同刻,先后颠倒皆成妄。 + +* **③ 时钟劫**(第三回) + **天象**:顺序错乱,跳时改命,疑云丛生。 + **旁批**:稳校时为正法;单调为骨,墙钟为皮。 + +--- + +# 灵界十二劫“速查索引”(便于写作调度) + +* **断脉类**:分区、路由震荡、PMTU 黑洞 +* **浊气类**:拥塞崩坏、Bufferbloat、重排/伪重传 +* **近域类**:ARP/NDP 风暴 +* **关口类**:半连接/监听队列塞 +* **账本类**:conntrack/NAT 表溢出 +* **名录类**:DNS/命名混乱 +* **法度类**:版本裂界 +* **天机类**:时钟劫 + +--- diff --git a/Background-settings/The-Calamity-Codex/codex-kernel.md b/Background-settings/The-Calamity-Codex/codex-kernel.md new file mode 100644 index 0000000..d437e7c --- /dev/null +++ b/Background-settings/The-Calamity-Codex/codex-kernel.md @@ -0,0 +1,178 @@ +# 乙卷·天道诸劫(Kernel/法则层)·八回 + +## 第一回 天怒一降万物寂 判词如碑刻穹苍(Kernel Panic 雷劫) + +**天道判词** + +> 一线天心忽自裂,万法俱空夜色长。 +> 雷书不为凡情改,断处回溯是遗章。 + +**渡劫段落模板** +却说洞府上界忽现异光,先是软锁如缚、RCU 如喘,继而天幕一黑,万物齐寂。串口与屏幕留下一道道栈回溯,似天道亲手刻碑:哪一处法则被触怒,哪一处经脉已崩塌。主角知此非人界小祸,乃天怒之雷;若无后手(kdump/pstore/netconsole)存得雷痕,便只能在黑暗里猜。待捧得“天书残页”(oops trace + vmlinux 符号),方可循章溯源,寻得那一粒致命的魔种。 + +--- + +## 第二回 天锁既成群雄困 万力齐施也不行(死锁与锁竞争劫) + +**天道判词** + +> 锁锁相扣成天网,英雄到此亦低头。 +> 非关气短功不济,只怪因循结旧愁。 + +**渡劫段落模板** +那日主角修为已至化境,偏偏一动便觉寸步难行:吞吐如坠深井,火焰图上尽是锁影与 futex 哀鸣。更有 hung task 警示如冷风穿堂,似有天锁将众生绑在一处。此劫不靠蛮力,靠改道——分片、减共享、缩临界、定锁序;再以 lockdep/perf lock 或 eBPF 观锁魂,查谁持锁如抱丹不放。若只在旧锁外再加新锁,便是以绳缚绳,越缚越死。 + +--- + +## 第三回 宽限不至天机滞 一念不让万界迟(RCU Stall 劫) + +**天道判词** + +> 宽限如潮终须至,有人不退便成灾。 +> 一念长执遮天道,万灵齐等夜徘徊。 + +**渡劫段落模板** +忽闻上界传来警示:RCU stall。众人初不解其意,只觉洞府像被定身——并非全死,却处处拖慢。主角知 RCU 之道在“众生皆须一让”,宽限期方能过去;若有人在临界之地久不放手(禁抢占/关中断/长临界),便如以一念遮天,令天机停滞。于是他循迹追索:是哪个路径占着天道不肯让步;用 tracepoint/ftrace 或 eBPF 观其停滞之时长,斩断那段过长的执念,宽限潮水方能再度回流。 + +--- + +## 第四回 天刑巡夜锁魂急 软硬皆判不容情(Soft/Hard Lockup 劫) + +**天道判词** + +> 看门神犬昼夜巡,久不应声便是刑。 +> 软判尚留回头路,硬裁一落断今生。 + +**渡劫段落模板** +却说洞府里忽现“watchdog”谕令:soft lockup 先鸣,似告诫“尚可回头”;若仍不醒,hard lockup 便如重锤,直接裁决。其因多在某核久不调度、久不应钟:或长循环不让出,或关中断太久,或锁劫缠身。主角若要破此天刑,须先分清是“应钟不灵”还是“被天锁困死”,再沿调度与中断之线追到源头。此劫最忌以为“偶发无妨”,因为天刑巡夜,第二次往往更重。 + +--- + +## 第五回 仙骨暗腐无声噬 瓦解从来不见刀(SLAB 泄漏劫) + +**天道判词** + +> 不见刀兵见骨瘦,仙骨空空自成伤。 +> 一滴一滴吞灵去,回头已是万山荒。 + +**渡劫段落模板** +有一类天道劫最阴:洞府表面风平浪静,内里仙骨(slab)却在悄悄变薄。主角只觉可用之物日渐稀少,却在用户态查不出分毫端倪;原来吞灵者藏在内核堆里,拿了对象不还,或引用不断。此时须翻开 slab 之谱(/proc/slabinfo、slabtop 等),看哪一族缓存增长如草;再借调试护体(如 KASAN/trace)追其来路。此劫最适合写“慢性心魔”:不痛不响,却把寿元一点点掏空,直到突然引爆更大的天罚。 + +--- + +## 第六回 回收成狂无寸进 吐纳千回亦枉然(回收活锁/Thrashing 劫) + +**天道判词** + +> 吐纳千回仍见空,回收无功反自穷。 +> 脏潮未退砂仍碎,一劫牵连百劫重。 + +**渡劫段落模板** +忽然之间,洞府像中了“反复吐纳”的邪咒:CPU 忙得团团转,回收与压缩不断,却换不来真正的可用灵气。主角一看便知是回收活锁:脏页回写不畅、碎片化顽固、高阶需求不停,三者互相牵扯,吐纳越急越乱。要破此劫,须先退脏潮(稳回写水位),再治碎砂(减连续分配/调整 THP/compaction 行为),最后把吞灵之源关进界内(cgroup 限制)。若只加大回收力度,等同逼人强行运功,往往先把自己累死。 + +--- + +## 第七回 天时不与英才绝 饥饿一至万念空(调度饥饿/优先级反转劫) + +**天道判词** + +> 天时若偏千般巧,英雄无用也成愁。 +> 一高一低相牵制,反转回环断去留。 + +**渡劫段落模板** +此劫来时,最像“被天命冷落”:有的生灵明明该动,却久久得不到一丝天时;有的却霸占时辰,行走如风。其因或在优先级反转,或在实时之法被滥用,或在绑核/配额使天时偏斜。主角若要破关,须把“谁拿走了天时”查得明白——从调度观测入手(perf/ftrace 的调度轨迹),再调回天秤:让不该独占的归还,让该得到片刻的得片刻。此劫最适合写“强者受困”:不是修为不够,而是天时不与。 + +--- + +## 第八回 大页似舟翻作浪 塑脉成灾震一城(THP/Compaction 震荡劫) + +**天道判词** + +> 大页原为渡劫舟,碎浪翻时反作仇。 +> 强塑经脉天地颤,一震三惊不肯休。 + +**渡劫段落模板** +有宗门喜用“透明大页”以求气机通畅,奈何洞府经脉碎时,大舟反成浪。THP 与 compaction 一旦频繁出手,便像强行塑脉,震得人界一阵阵抽搐。主角若要止震,不能只喊“关或开”,须先观其震源:究竟是分配模式碎、还是高阶需求逼迫,抑或内存压力把 compaction 推到前台。待查明后,或调 THP 策略、或改分配形态、或把高阶需求移道,方能令洞府不再“每逢塑脉便震三震”。 + +--- + +# 乙卷·天道诸劫(Kernel/法则层)·案牍注解(旁批) + +## 第一回 Kernel Panic 雷劫 — 案牍注解 + +* **“天怒(panic)”**:法则自知不可续,遂令万物归零;非人界可挽。 +* **“oops trace”**:天道失手时的血书,最可贵者在“调用之链”,非在最后一句。 +* **“kdump / pstore / netconsole”**:留雷痕之法;无痕则无从问罪,无从破关。 +* **“vmlinux 符号”**:解碑文之钥;无符号则碑上皆是天书。 + +--- + +## 第二回 死锁与锁竞争劫 — 案牍注解 + +* **“死锁”**:两法相制,各不相让;多因锁序错、临界长、交错取。 +* **“锁竞争”**:非死亦苦;众生争一门,门虽开却一人一入。 +* **“futex”**:人界与天道相接之锁门;火焰图见其影,常是瓶颈明证。 +* **“lockdep”**:锁狱簿册,记诸锁因果;启之可见天网,亦耗灵气。 +* **“perf lock / eBPF 观锁”**:量其持锁之时、争锁之众,方能对症下药。 + +--- + +## 第三回 RCU Stall 劫 — 案牍注解 + +* **“RCU”**:以“先行后补”换读之畅;其要在“宽限期”(grace period)。 +* **“stall”**:宽限不至;多因有人久不让步(长临界、禁抢占、关中断)。 +* **“synchronize_rcu”**:求宽限之令;若久不应,便知天机受阻。 +* **“tracepoint / ftrace”**:观“谁不让步”的照妖镜;寻得元凶,劫自可解。 + +--- + +## 第四回 Soft/Hard Lockup 劫 — 案牍注解 + +* **“watchdog”**:巡夜官也;久不闻钟,便判“天道凝死”。 +* **“soft lockup”**:尚能喘息,或可回头;多见于长计算/长禁抢占。 +* **“hard lockup”**:钟声不入,往往更凶;常因关中断过久或死锁入骨。 +* **“NMI”**:天道外使,强行探查诸核;其至则判词多可信。 +* **“应钟”**:调度与中断之应答;失其应,则天刑必下。 + +--- + +## 第五回 SLAB 泄漏劫 — 案牍注解 + +* **“slab / kmalloc”**:天道用器之库;对象如砖,取用当归还。 +* **“泄漏”**:取而不还,或引用不断;阴毒在无声无息。 +* **“/proc/slabinfo”**:仙骨谱;看哪一族缓存肥长异常,即知吞灵所在。 +* **“KASAN”**:护体罡气,专照越界与破坏;重则耗灵,轻则救命。 +* **“模块/驱动”**:最常藏魔处;旁门法器多,归还之道杂。 + +--- + +## 第六回 回收活锁/Thrashing 劫 — 案牍注解 + +* **“reclaim”**:回收使者之行;本为救急,久行则耗命。 +* **“direct reclaim”**:众生自下场回收,故万事皆慢;此乃“逼人强行运功”。 +* **“thrashing”**:吐纳无功、往复空转;常与脏页、碎片、高阶分配互为因果。 +* **“kswapd”**:回收行者;其忙与不忙,皆可作天象判读。 +* **“cgroup memory”**:小洞天之界;先圈祸源,后谈根治。 + +--- + +## 第七回 调度饥饿/优先级反转劫 — 案牍注解 + +* **“starvation”**:天时不至;非死却比死更磨人。 +* **“优先级反转”**:低者握钥,高者久候;天时虽在,因果却倒。 +* **“RT(实时)”**:夺时之术;用之不慎,众生皆贫天时。 +* **“CPU 绑核/配额”**:天时分封之法;封得不均,则一洲富、一洲饥。 +* **“sched trace”**:天时簿;看谁得时、谁失时,方能正其偏。 + +--- + +## 第八回 THP/Compaction 震荡劫 — 案牍注解 + +* **“THP”**:透明大页;本欲通脉,脉碎则舟翻。 +* **“compaction”**:强塑经脉以求连续;频繁则震,震久则伤。 +* **“高阶页”**:大器之材;需连续之地,故最怕碎片。 +* **“震荡”**:多非单点之罪,常是分配形态与压力策略相冲。 +* **“取舍”**:THP 关开皆非究竟,先观其震源,再定其法度。 + +--- + diff --git a/Background-settings/The-Calamity-Codex/codex-userspace.md b/Background-settings/The-Calamity-Codex/codex-userspace.md new file mode 100644 index 0000000..bfc1965 --- /dev/null +++ b/Background-settings/The-Calamity-Codex/codex-userspace.md @@ -0,0 +1,145 @@ +# 甲卷·人界诸劫·天道判词(章回体) + +## 第一回 灵池忽竭天门冷 夺魂一斩不回头(OOM 夺魂劫) + +**天道判词** + +> 灵池见底天门闭,回收使者夜敲门。 +> 一纸碑文书“内尽”,玄天斩落不留魂。 + +**渡劫段落模板(3–5句)** +却说洞府中诸役奔走如常,忽觉万事皆缓,似有无形之手扼住气机;回收使者(kswapd)披风而起,翻卷旧页,仍填不满那无底丹田。再看灵压(PSI)渐高,众生呼吸皆成断续。须臾之间,天道碑文(dmesg)冷冷一行:“Out of memory”。紧接着玄天斩灵剑(SIGKILL)落下,某一魂魄无声湮灭,余者方知:此劫非人力可硬扛,只可早立界、早观象、早治根。 + +--- + +## 第二回 脏潮如海地火旺 回写成风尽作泥(回写风暴劫) + +**天道判词** + +> 脏潮一起千炉热,地火无情烧到迟。 +> 写回若成惊雷阵,一步三喘尽成泥。 + +**渡劫段落模板** +但见洞府丹炉(存储)忽然发热,脏页如潮漫上岸,起初尚可忍,渐渐便成潮汐般的迟钝。众人只见 iowait 如阴云压顶,落盘之事每每要等。忽有一阵“集中回写”似地火喷涌,连带回收也被牵扯,气机愈发紊乱。若不早控水位(dirty* 参数)、分炉分灶(cgroup IO)、寻出狂炼之人,便要在泥沼里慢慢耗尽寿元。 + +--- + +## 第三回 钥尽门封千事绝 槽满法废万灵愁(FD 枯竭劫) + +**天道判词** + +> 万门皆锁因钥尽,一槽既满百术休。 +> 不是灵枯难运转,只缘漏尽不回收。 + +**渡劫段落模板** +忽闻弟子来报:新门皆不开——open、socket 俱失其效,或曰 EMFILE,或曰 ENFILE。洞府灵力未见枯竭,偏偏法则之门处处紧闭,似有人将钥匙尽数藏起。主角抬眼望去,只见 `/proc//fd` 如锁链成林,原来有物漏而不收。此时只调大钥囊(ulimit)不过延命,若不寻漏、教其归还、改其复用之法,终要再遇更大一回崩塌。 + +--- + +## 第四回 气虽未绝丹难聚 脉已成沙器不成(碎片化劫) + +**天道判词** + +> 灵气尚在难凝丹,经脉成沙不成团。 +> 强塑一回天地颤,碎处依旧碎中残。 + +**渡劫段落模板** +却说洞府灵气看似充盈,偏偏要铸大器时屡屡失败:高阶页求之不得,compaction 反复,震得洞府一阵阵抽搐。旁人只道“加灵石便可”,主角却知此乃经脉碎裂——气散成砂,聚不成团。若不改炼器法门,少求连续之大块,或另择路径(vmalloc 等),纵使灵石再多,也只是一地碎玉。 + +--- + +## 第五回 界门号簿忽耗尽 尸海未消又起潮(端口耗尽劫) + +**天道判词** + +> 界门册薄号难取,尸海连绵尽是候。 +> 欲借新身通万里,先清旧影再开州。 + +**渡劫段落模板** +忽然之间,传音之术(connect)频频失手,EADDRNOTAVAIL 如冷箭穿喉;细查方知 TIME_WAIT 堆作尸海,临时端口号簿已翻到尽头。主角立于界门之前,见旧影未散,新魂不生,便知此劫不在算力,而在“因果未销”。当扩界门(port range)为权宜,终须改法——少造短身,多行复用,使旧影有去处,方能让界门常开。 + +--- + +## 第六回 轮回牌尽新魂断 千线不收旧业缠(PID 枯竭劫) + +**天道判词** + +> 轮回牌尽魂难续,一念繁生万缕缠。 +> 不是天道嫌新客,只怜旧业不肯还。 + +**渡劫段落模板** +那日洞府忽现异兆:fork/clone 俱报 EAGAIN,仿佛轮回之门被人紧锁。众人惊疑“天道薄情”,主角却翻看牌簿(pid_max 与线程数),见万线并生而不收,旧业堆叠,轮回牌被占得满满当当。此时若早设 pids 小洞天,便可免全府同灾;若再治本,需改繁衍之术:能复用者复用,能归还者归还,方可续命。 + +--- + +## 第七回 地契既尽丹难落 寸土无余万事空(磁盘/ inode 枯竭劫) + +**天道判词** + +> 地契一尽丹无处,寸土虽存亦成空。 +> 大海不关小沙害,先枯往往是灵虫。 + +**渡劫段落模板** +洞府中忽然落笔无字,写入皆报 ENOSPC;更怪者,`df -h` 尚有余地,偏偏新卷难生——原来 inode 先枯,地契虽在,门牌已绝。此劫最爱藏身小物之间:碎文件如虫,啮尽名册。若只搬走大石,不扫细沙,必是徒劳;须一边清杂、一边立规,让临时之物有界有量,方不至再被“寸土无余”逼到绝境。 + +--- + +## 第八回 天钟不息人间乱 软雷如潮百脉昏(IRQ/Softirq 风暴劫) + +**天道判词** + +> 天钟乱响惊三界,软雷如潮没一城。 +> 不见刀兵先见倦,万灵奔走也无功。 + +**渡劫段落模板** +只听洞府外钟声如雨(interrupts),敲得人心发麻;`ksoftirqd` 似夜巡不眠,吞吐反落,延迟反涨。此非人界功法所能硬顶,乃天道入口拥塞,钟声压过万术。主角先看钟谱(/proc/interrupts),再调钟位(亲和/队列),必要时在门前设净坛(tc/qdisc 或 XDP),让浊物不入、杂音不传,方能止此雷鸣不止之灾。 + +--- + +## 第九回 天机忽改命线错 昼夜颠倒因果迷(时钟/时基劫) + +**天道判词** + +> 天盘一动人心乱,命线微偏万事差。 +> 昨日未终明日到,因果倒悬笑与嗟。 + +**渡劫段落模板** +那时日志忽然倒走,超时忽然失灵,众人皆道“妖术作祟”。主角却知:天盘(clocksource)不稳,或校时之手过猛,墙钟一步跳过,因果链便撕成两半。于是他令校时改为缓行,令要紧处用单调时钟守正,墙钟只作外相。天机既稳,诸术方能循序,不至“昨日未终明日到”。 + +--- + +## 第十回 灵根既枯法自滞 一滴真随机难求(熵不足劫) + +**天道判词** + +> 灵根不发符难就,一滴真机值万金。 +> 纵有宝库无穷尽,偏教等到夜沉沉。 + +**渡劫段落模板** +洞府中忽有术法迟滞,仿佛有人按住咽喉;细看竟是取随机之法卡在门前,entropy_avail 低得可怜。此劫最会磨人:不痛不死,只叫你等。主角一面换用合宜之源(莫滥用阻塞随机),一面引外灵补根(硬件 RNG 或 rngd),灵根稍复,符箓便自转圜,不再“夜沉沉里空等待”。 + +--- + +## 第十一回 灵台裂纹符难刻 万纹成障道自穷(映射枯竭劫) + +**天道判词** + +> 灵台万纹成罗网,一笔难添又难删。 +> 非是气穷丹未足,只缘裂处不曾缝。 + +**渡劫段落模板** +却说主角灵气未减,偏在结印铺阵(mmap)时屡屡失败,口中只回一句“Cannot allocate memory”,听来像缺灵气,实则是灵台(VMA)裂纹满布。翻开 `/proc//maps`,长卷无尽,纹路碎到天道不许再添。此时若只把 `vm.max_map_count` 一味抬高,犹如在裂镜上再刻花,越刻越乱;须先合纹、减碎、治根,方可再行延寿之举。 + +--- + +## 第十二回 耳目符尽风声断 山门无人夜入侵(inotify 枯竭劫) + +**天道判词** + +> 耳目符尽山河寂,风过无声鸟不惊。 +> 明明仓廪犹丰足,偏报“无地可安营”。 + +**渡劫段落模板** +洞府守山哨符(inotify)忽然尽碎,监视之术尽报“无地可安营”(No space left on device),众人忙去清仓廪,清了却仍不灵。主角一查方知:不是地契不足,而是 watch/instance 上限已到,耳目符箓耗尽。此劫最宜写暗袭:敌人从门前过,你却听不见半点风声;唯有缩监视之疆、查泄漏之源,再合理增符上限,方能令守山再明。 + +--- \ No newline at end of file