为什么打开一个大文本文件会挂起我的整个系统,而不是编辑器?

为什么打开一个大文本文件会挂起我的整个系统,而不是编辑器?

最近,我犯了一个错误,在 Kedit 中打开了一个很大的文本文件(~100MB)。这使得我的系统完全没有响应,我不得不使用 REISUB 方法重新启动它。

我想知道为什么这会导致整个系统挂起,而不仅仅是应用程序(Kedit)挂起,以及如何防止将来发生这种情况?

我的 CPU 是 i5-7600k,有 8GB RAM,并且运行 3TB HDD。

答案1

100MB 并不算大,我读过千兆字节大小的日志文件。

但是,如果文件由许多细小的行组成,并且编辑器将它们加载到更大的缓冲区中,这将使结果的 RAM 占用空间更大。我不知道,kedit但是kate,例如,在 1.3G RAM 中加载一个 ~100MB 文件(10M 10 字节行),所以我假设它使用 128 字节缓冲区。

一旦 RAM 不足,整个系统就会交换,这会影响所有应用程序。

但要确认这个答案,请使用ksysguard并检查总 RAM/交换使用情况以及编辑器的内存使用情况。

相关内容