如何在Linux上捕获双页故障(内存映射文件读取错误)



我在Docker中的Linux上随机读取文件。为了更好的速度,我具有映射的文件内存,因此实际读取只是Span.Copyto。但是,当发生IO失败时会发生什么,整个应用程序将会崩溃,但是我想捕获此错误并可能在以后重试。另一方面,我只想在特定跨度内发生此错误时才能捕获此错误,因此Global Sigsegv处理程序不能仅仅忽略错误并至少不总是继续。

失败的概率可能更高,因为它实际上在云中运行(Azure),并且磁盘不是本地的(因此网络故障也可能导致此崩溃)。

使用的应用程序还使用了Chakracore和Chakracore的信号处理程序,违反了Sigsegv的Dotnetcore信号处理程序,该核心sigsegv崩溃了,而不仅仅是抛售accessViolationException。

最新更新