Mysql

如果您用完 RAM 並交換會發生什麼?

  • April 22, 2012

在具有 32 GB RAM 的機器上執行 MySQL。交換已滿 99%,並且有大約 200 MB 的可用 RAM。MySQL當然是罪魁禍首。當 RAM 和 swap 都被完全填滿時會發生什麼?謝謝!

9/10 OOM Killer會過來殺掉記憶體消耗最大的程序。否則你的系統會崩潰。

我假設你在 Linux 上。

這取決於作業系統,但是當你真正用完時,某些東西就會死掉。更具體地說,有些東西對作業系統說“請給我更多記憶體”,而作業系統說“不”。

(這可能是因為僅僅觸摸了一些已經被告知已分配的記憶體,導致頁面在寫入時複製,所以它不像“呼叫核心記憶體分配器”那麼簡單)

從技術上講,該過程可以處理這些故障並恢復,但實際上它會導致崩潰。

Linux 努力猜測什麼是一個好的候選者,我認為 Windows 也會這樣做,但在你完全達到那種狀態之前 - 殺死一些更乾淨的東西,以便釋放記憶體。

引用自:https://serverfault.com/questions/369742