diff --git a/Observability/dumps.md b/Observability/dumps.md index 13a59261..5b05c103 100644 --- a/Observability/dumps.md +++ b/Observability/dumps.md @@ -14,12 +14,10 @@ A small number of signals which cause abnormal termination of a process ... ``` -上面的大致意思是:**当程序异常终止时,Linux 系统会将程序的关键运行状态(如程序计数器、内存映像、堆栈跟踪等)导出到一个核心文件(core file)中**。使用调试器(如 gdb)打开核心文件,开发者可以查看程序崩溃时的内存状态、变量值和函数调用堆栈情况,从而更容易地定位问题。 +上面的大致意思是:**当程序异常终止时,Linux 系统会将程序的关键运行状态(如程序计数器、内存映像、堆栈跟踪等)导出到一个“核心文件”(core file)中**。工程师使用调试器(如 gdb)打开核心文件,便可以查看程序崩溃时的内存状态、变量值和函数调用堆栈情况,从而更容易地定位到问题。 :::tip 注意 - -核心文件会占用大量磁盘空间,复杂应用程序崩溃时甚至能生成几十 GB 的核心文件。默认情况下,核心文件的大小可能会受到 Linux 系统的限制。如果你想要为特定的程序生成一个无限制大小的核心文件,须通过命令 ulimit -c unlimited,告诉操作系统不要对核心文件的大小进行限制。 - +复杂应用程序崩溃时甚至能生成几十 GB 大小的核心文件。默认情况下,核心文件的大小会受到 Linux 系统的限制。如果你想要为特定的程序生成一个无限制大小的核心文件,须通过命令 ulimit -c unlimited,告诉操作系统不要限制核心文件的大小。 ::: 此外,CNCF 发布的可观测性白皮书中仅提及了 core dump。实际上,dumps 范围应该扩展到 Heap dump(Java 堆栈在特定时刻的快照)、Thread dump(特定时刻的 Java 线程快照)和 Memory dump(内存快照)等等。 diff --git a/consensus/raft-ConfChange.md b/consensus/raft-ConfChange.md index 868c506b..58863ab7 100644 --- a/consensus/raft-ConfChange.md +++ b/consensus/raft-ConfChange.md @@ -1,6 +1,6 @@ # 6.4.3 成员变更 -前面的讨论中,我们假设的都是集群的成员是固定的,也就是集群的 Quorum 是固定的。但生产环境中,有很多集群节点变更的情况,如服务器故障需要移除、集群扩容增加节点等等。 +前面的讨论中,我们假设集群节点数是固定的,也就是集群的 Quorum 是固定的。但生产环境中,有很多集群节点变更的情况,如节点故障需要移除、扩容增加节点等等。 讨论如何实现成员动态变更之前,先理解 Raft 中“配置”(configuration)的概念。