在32 G内存的盒子上运行MySQL。交换是99%满,有大约200 MB的RAM空闲。当然,MySQL是罪魁祸首。当RAM和交换空间都被完全填满时会发生什么?谢谢!
发布于 2012-03-14 19:00:40
9/10 奥姆杀手将以最大的内存消耗来终止程序。否则你的系统会崩溃。
我假设你在Linux上。
发布于 2012-03-14 19:01:29
这取决于操作系统,但当你真的用完的时候,有些东西会死掉。更具体地说,有东西对操作系统说“请给我更多的内存”,而操作系统说“不”。
(这可以仅仅是通过触摸一些它已经被告知已被分配的内存,从而导致页面在写上复制,所以它并不像“调用内核内存分配器”那么简单)。
从技术上讲,这个过程可以处理这些故障并恢复,但实际上它会导致崩溃。
Linux试图猜测一个好的候选程序是什么,我认为Windows也会这样做,在您完全达到这种状态之前--稍微清除一些更干净的东西,以便释放内存。
发布于 2012-03-14 19:38:56
由于空闲RAM浪费了RAM,所以Linux试图尽可能多地使用它。仅仅因为有空间,就可能有许多缓存的磁盘页和其他东西保存在RAM中。运行free -m查看内存是如何在您的机器上使用的。它还将显示应用程序在需要时可以使用的megs数量(列'free',第二行)。
https://serverfault.com/questions/369742
复制相似问题