最近服务器出现了如下的系统错误日志(系统win 2000srv):
服务器无法通过系统非页面共享区来进行分配,因为共享区当前是空的
产生这个日志之后的一段时间会出现机器濒死的状况,打开程序或者我的电脑等程序时会提示:磁盘配额不足,无法打开的报错。
而机器重新启动之后会又会转好,一段时间之后又会发生
问题分析:
“服务器无法通过系统非页面共享区来进行分配,因为共享区当前是空的 ”其中的‘非页面共享区’也就是 nonpagepool,导致这个发生的原因是由于内存泄漏
内存泄漏又是由于应用程序或进程分配占用内存,但是完成之后却不释放内存,而导致内存存满而漏
是什么程序占用内存而不释放呢?
本人的个案是,由于服务器中某程序一直访问TCP一不存在的端口而导致占用内存而不释放。查了一下网上各网友的问题留言,其他人的大致可能也是这个原因
解决方案:
内存泄漏的根本,找到出错程序修改程序
其次,可以通过修改注册表而使内存占用达到一个较低程度是去整理内存,系统默认是内存达到80%时整理内存,可以手工修改注册表
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management
添加DWORD PoolUsageMaxium 值为十进制的40,修改为50也可以 视不同情况而定