由注册表引起的 I/O 操作发生了不可恢复的错误修复方法_win服务器

服务器出现此问题:
很多使用Windows Server 2003系统的用户都会收到如下错误:
事件类型: 错误
事件来源: Application Popup
事件种类: 无
事件 ID: 333
日期: 2007-8-11
事件: 8:48:03
用户: N/A
计算机: LZ_YQ
描述:
由注册表引起的 I/O 操作发生了不可恢复的错误。 注册表将不能读取、写出或刷新包含注册表系统图像的其中一个文件。
然后系统失去响应,需要重新启动。
事件ID是333,英文日志为
Event Type: Error
Event Source: Application Popup
Event Category: None
Event ID: 333
Date: date
Time: time
User: N/A
Computer: computer name
Description: An I/O operation initiated by the Registry failed unrecoverably. The Registry could not read in, or write out, or flush, one of the files that contain the system's image of the Registry.
该错误原因是:在非分页内存或在分页的池内存不足暂时可能会出现此问题。 系统保留录制类事件,直到重新启动计算机时或相关的配置单元是卸载,即使在临时内存 insufficiency 停止。
请参看如下kb,由于该补丁处于测试阶段,因此需要通过邮件下载对应补丁:
http://support.microsoft.com/kb/970054
这问题主要是有内存耗尽出现的问题,请加大内存或者查找耗内存的元凶

服务器开始阶段性的出现死机状态了。隔一段时间就无法连接了。重启后正常,过一段时间又是同样的问题。

事件查看器中有大量的同样报错:
事件ID:2020
描述:服务器无法通过系统页面共享区来进行分配,因为共享区当前是空的。

事件ID:333
描述:由注册表引起的 I/O 操作发生了不可恢复的错误。 注册表将不能读取、写出或刷新包含注册表系统图像的其中一个文件。

尝试用以下方法解决这个问题,效果还有待观察:
1、启动注册表编辑器(开始->运行->Regedt32.exe)。
2、在注册表中找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Memory Management
3、在编辑菜单上,单击添加数值,然后添加下面的注册表值(如果下面的注册表值已经存在,那么按照以下的参考值进行调整):
(1)、数值名称:PoolUsageMaximum
数据类型:REG_DWORD
基数:十进制
数值数据:40
将该值设置为 40 可以通知内存管理器在达到 PagedPoolMax 的 40% 而不是默认设置 80% 时开始修整过程。

(2)、数值名称:PagedPoolSize
数据类型:REG_DWORD
基数:十六进制
数值数据:0xFFFFFFFF
将 PagedPoolSize 设置为 0xFFFFFFFF (-1) 可为计算机分配最大的页面缓冲池以取代其他资源。

4、退出注册表编辑器。

后记(2011年7月28日):
按照以上进行调整以后,在第二天的早上,服务器照样出现死机状况。怀疑是不是服务器中毒了,进行查毒,发现服务器中毒了,清理病毒后,进行了数据库的重装。

后记(2011年7月30日):
服务器又挂掉了,网上了查了333问题,尝试按照http://support.microsoft.com/kb/970054进行处理。
第一步:下载安装补丁程序,要应用此修补程序,计算机必须安装有 Windows Server 2003 Service Pack 1 或 Service Pack 2。

微软官方下载378286_CHS_i386_zip.exe

本站下载378286_CHS_i386_zip

第二步:要启用此修补程序,请添加以下注册表项,然后将值设置为 1 或 2。
位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
名称:RegistryFlushErrorSubside
类型:REG_DWORD
数值:1 或 2
如果您将 RegistryFlushErrorSubside 注册表项的值设置为 1,则系统在发生临时内存不足时仅记录一次 333 事件。如果将该值设置为 2,则系统会触发 Stop 错误以进行诊断。

后记(2011年8月1日):
最后的解决办法,也是最无奈、最有效的解决办法。试了N种办法,都没法解决,以前好好的,怀疑是不是系统升级了什么补丁引起的问题,一怒之下,把6月份以后的系统补丁删个干净,结果世界安静了,服务器也不死机了。

时间: 2024-09-22 03:22:09

由注册表引起的 I/O 操作发生了不可恢复的错误修复方法_win服务器的相关文章

Linux系统中操作文件数过多导致的错误解决方法

  linux 打开文件数 too many open files 解决方法 too many open files出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值. 查看每个用户最大允许打开文件数量 代码如下: ulimit -a fdipzone@ubuntu:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 2

iis支持asp.net4.0的注册命令使用方法_win服务器

32位的Windows: 1. 运行->cmd 2. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 3. aspnet_regiis.exe -i 64位的Windows: 1. 运行->cmd 2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 3. aspnet_regiis.exe -i

C#中对注册表的操作

注册表 Windows 操作系统的注册表包含了很多有关计算机运行的配置方式,打开注册表我们可以看到注册表是按类似于目录的树结构组织的,其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG. 下面我们来分别解释这5个类的作用 HKEY_CLASSES_ROOT该主键包含了文件的扩展名和应用程序的关联信息以及Window Shell和OLE用

.Net的注册表操作

注册表 重要的类和操作: Microsoft.Win32.Registry : 提供访问注册表中的值和子项的基 Registrykeys, 主要的几个方法有 CurrentUser(对应注册表的HKEY_CURRENT_USER), LocalMachine(对应注册表的HKEY_LOCAL_MACHINE) Microsoft.Win32.RegistryKey :封装了对注册表项的操作. 常用的方法属性有: 1) 对项的操作: OpenSubKey, CreateSubKey, Delete

C# 注册表 操作实现代码_C#教程

其中第二级目录包含了五个预定义主键分别是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG. 下面我们来分别解释这5个类的作用 HKEY_CLASSES_ROOT该主键包含了文件的扩展名和应用程序的关联信息以及Window Shell和OLE用于储存注册表的信息.该主键下的子键决定了在WINDOWS中如何显示该类文件以及他们的图标,该主键是从HKEY_LCCAL_MACHIN

How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置

原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置   if (SYSINFO.bIsWow64) then //如果为64位操作系统         REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY ;   //则为注册表操作进行64位特殊设置     endif; /**底下照常操作注册表即可*/

安全基础之DOS下操作注册表的部分命令

1.导出注册表 格式:re gedit /l:system /R: user /e filename.reg regpath 含义:/l system 指定system.dat文件的路径. /R user 指定user.dat文件的路径. /E filename.reg指定表编辑器要进行导出到那个REG文件中的操作. Regpath:指定要导出哪个注册表的分支,若省略则表示导出整个注册表. 2.导入注册表 格式:regedit /l:system /R:user 含义:同上. 3.重建注册表 格

DOS下使用注册表完全手册

1.导出注册表 格式:regedit /l:system /R:user /e filehttp://www.aliyun.com/zixun/aggregation/11696.html">name.reg regpath 含义:/l system 指定system.dat文件的路径 :/R user 指定user.dat文件的路径 :/E filename.reg指定表编辑器要进行导出到那个REG文件中的操作 Regpath:指定要导出哪个注册表的分支,若省略则表示导出整个注册表 2.

用asp修改注册表!!!!!!!!!!!!

注册表 看完了这个你就可以用asp修改注册表了!大名鼎鼎的WSH听说过吗? 它就是Windows Script Host的缩写形式,WSH是Windows平台的脚本指令,它的功能十分强大,并且它还是利用语法结构简单.易学易用且功能强大的JScript和VBScript脚本语言,来实现其卓越的功能的,除了本文介绍的修改注册表之外,它还可以访问Excel文件,也能与网络沟通,当然它最大的优势莫过于它能与操作系统沟通,而修改注册表只是它与操作系统沟通的冰山一角.正是它有如此诸多的优点与实用性,正倍受很