Red Hat AS2.1:在大于4G内存环境下负载过重会导致系统挂起
适用机型:
所有服务器
文档内容:
故障现象:
操作系统在配置了多于4G内存(一般在8-16G之间)并在运行了繁重的I/O负载后占据了CPU和内存的大量资源,系统有可能会挂起。这实际上是Linux内核速度低导致系统无法响应。系统此时没有完全宕机而是继续尝试ping和debug的命令。
受到影响的配置:
Red Hat Advanced Server, version 2.1
故障解决:
减少内存容量到4G或更少,重新启动系统来矫正错误直到过载访问重新开始。联系Red Hat的AltSysRq信息来获得问题的描述和细节,在内存用法情况(或"cat /proc/meminfo") 中来确定这是否是内存耗尽的问题。基于内存的数量和平均负载,Red Hat将推荐可调节的虚拟内存参数和页面文件容量参数,这样可以帮助调整内存正确使用来防止内核挂起的情况。
附加信息:
内核挂起是因为内核的所有有效内存的buffer header 和/或inode slab caches几乎都被使用了。kswapd将会占用大量的CPU周期来释放没有使用的内存给系统内核。Kswapd 被触发因为某个时钟触发了了低内存的限制。但是Kswapd不能交换buffer headers或者inodes。这个情况是无法改变的,但是当触发Kswapd时会为page文件清掉每个内存时钟来释放页面空间,但会保留重要的内存时钟。期间,每个进程围绕着这些时钟获取更多的内存。这导致计算机显示操作系统挂起。虚拟内存和页面cache参数将提供一种机制来告诉内核限制内存的使用。这也将导致kswapd daemon在内存耗尽之前(<3MB)开始尽早释放没用的内存以避免造成系统挂起。Red Hat正在着手写白皮书来解释他们的正确的调整虚拟内存/页面文件cache参数的方法来帮助服务器配置大于4GB的内存,避免由于内存用尽导致系统挂起。
>>>
>>>
相关学习园地栏目:
>>>
相关文档: