
内存不能为written或read的解决方案(比较全)
该内存不能为written或read的解决方案
运行某些程序的时候,有时会出现内存错误的提示,然后该程序就关闭。
“0x”指令引用的“0x”内存。该内存不能为“read”。
“0x”指令引用的“0x”内存,该内存不能为“written”。
以上的情况相信大家都应该见到过,甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。
出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。
一:先说说硬件:
一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存,从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度。
二、如果都没有,那就从软件方面排除故障了。
先说原理:内存有个存放数据的地方叫缓冲区,当程序把数据放在缓冲区,需要 *** 作系统提供的“功能函数”来申请,如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的光标,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。若应用程序没有检查这个错误,它就会按照“思维惯性”认为这个值是给它分配的可用光标,继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用。在没有保护机制的 *** 作系统下(如DOS),写数据到这个地址会导致立即当机,而在健壮的 *** 作系统中,如Windows等,这个 *** 作会马上被系统的保护机制捕获,其结果就是由 *** 作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的内存不能为“read”错误,并指出被引用的内存地址为“0x00000000“。内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于 *** 作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统档案之后。
在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的光标已经失效了。有可能是“忘记了”向 *** 作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写 *** 作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被 *** 作终止执行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG,你往往可在特定的 *** 作顺序下重现错误。无效光标不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其它随机数字。
首先建议:
1、 检查系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致 *** 作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。
2、 更新 *** 作系统,让 *** 作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候 *** 作系统本身也会有BUG,要注意安装官方发行的升级程序。
3、 尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。
4、 删除然后重新创建 Winnt\System32\Wbem\Repository 文件夹中的文件:在桌面上右击我的电脑,然后单击管理。 在"服务和应用程序"下,单击服务,然后关闭并停止 Windows Management Instrumentation 服务。 删除 Winnt\System32\Wbem\Repository 文件夹中的所有文件。(在删除前请创建这些文件的备份副本。) 打开"服务和应用程序",单击服务,然后打开并启动 Windows Management Instrumentation 服务。当服务重新启动时,将基于以下注册表项中所提供的信息重新创建这些文件: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs
下面搜集几个例子给大家分析:
例一:IE浏览器出现“08ba9ef”指令引用的“0x03713644” 内存,或者“0x70dcf39f”指令引用的“0x00000000”内存。该内存不能为“read”。要终止程序,请单击“确定”的信息框,单击“确定”后,又出现“发生内部错误,您正在使用的其中一个窗口即将关闭”的信息框,关闭该提示信息后,IE浏览器也被关闭。解决方法:
1、 开始-运行窗口,输入“regsvr32 actxprxydll”回车,接着会出现一个信息对话 框“DllRegisterServer in actxprxydll succeeded”,确定。再依次运行以下命令。(这个方法有人说没必要,但重新注册一下那些dll对系统也没有坏处,反正多方下手,能解决问题就行。)
regsvr32 shdocvwdll
regsvr32 oleaut32dll
regsvr32 actxprxydll
regsvr32 mshtmldll
regsvr32 msjavadll
regsvr32 browseuidll
regsvr32 urlmondll
2、 修复或升级IE浏览器,同时打上系统补丁。看过其中一个修复方法是,把系统还原到系统初始的状态下。建议将IE升级到了60。
例二:有些应用程序错误: “0x7cd64998” 指令参考的 “0x14c96730” 内存。该内存不能为 “read”。解决方法:Win XP的“预读取”技术这种最佳化技术也被用到了应用程序上,系统对每一个应用程序的前几次启动情况进行分析,然后新增一个描述套用需求的虚拟“内存映像”,并把这些信息储存到Windows\Prefetch文件夹。一旦建立了映像,应用软件的装入速度大大提高。XP的预读取数据储存了最近8次系统启动或应用软件启动的信息。建议将虚拟内存撤换,删除Windows\Prefetch目录下所有PF文件,让windows重新收集程序的物理地址。
例三:在XP下双击光盘里面的“AutoRunexe”文件,显示“0x77f745cc”指令引用的“0x00000078”内存。该内存不能为“written”,要终止程序,请单击“确定”,而在Windows 98里运行却正常。 解决方法:这可能是系统的兼容性问题,winXP的系统,右键“AutoRunexe”文件,属性,兼容性,把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”。win2000如果打了SP的补丁后,只要开始,运行,输入:regsvr32 c:\winnt\apppatch\slayeruidll。右键,属性,也会出现兼容性的选项。
例四:RealOne Gold关闭时出现错误,以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存。该内存不能为“read” 的提示。 解决方法:当使用的输入法为微软拼音输入法2003,并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这个问题。
例五:我的豪杰超级解霸自从上网后就不能播放了,每次都提示“0x060692f6”(每次变化)指令引用的“0xff000011”内存不能为“read”,终止程序请按确定。 解决方法:试试重装豪杰超级解霸,如果重装后还会,到官方网站下载相应版本的补丁试试。还不行,只好换就用别的播放器试试了。
例六:双击一个游戏的快捷方式,“0x77f5cd0”指令引用“0xffffffff”内 存,该内存不能为“read” ,并且提示Clientdat程序错误。解决方法:重装显卡的最新驱动程序,然后下载并且安装DirectX90。
例七:一个朋友发信息过来,我的电脑便出现了错误信息:“0x772b548f”指令引用的“0x00303033”内存,该内存不能为“written”,然后QQ自动下线,而再打开QQ,发现了他发过来的十几条的信息。 解决方法:这是对方利用QQ的BUG,发送特殊的代码,做QQ出错,只要打上补丁或升级到最新版本,就没事了。您好。
在您的问题介绍中,没有说明当A01 ping B01时,是否会出现丢包现象,若同样出现丢包现象,则故障在A交换机与B交换机链路连接环节的可能性极大。
根据我的工作经验推测,若您的交换机采用光电模块,则故障可能就是尾纤熔接问题。若采取传统的交换机-网线-收发器-网线-交换机的连接方式,则需要同时检查网线部分。
至于问题忽然解决,应该是和雷击无关,而是您或其他同事在雷击后检查设备时无意动了线路造成的。
希望能对您有所帮助。楼主好
问: 终端服务和终端服务器之间有何区别?
答: 终端服务是 Windows Server 2003 的一个内置的特性,它允许您使用范围广阔的设备,通过任何一种形式的网络连接,远程访问运行在 Windows 服务器上的应用程序。当一个服务器被配置为终端服务器角色,该角色更加严格名称应该是终端服务应用程序服务器模式,这个服务器也就被称为终端服务器(TS)。
问: 如何才能获得终端服务器的许可证?
答: T您在获取 Windows Server 许可证的同时,就已经获得了终端服务功能的使用权利。但是,如果一个用户或者设备需要访问终端服务器的话,根据该项产品的许可条款,他们必须在 Windows CAL 之外还要拥有 TS CAL 许可证。
问: 将它们分发到桌面系统的时候,是否需要将 TS CAL 添加到终端服务器许可证发放管理(TSLM)之中?
答: 是的。TS CAL 令牌将通过 Windows Server 2003 TSLM 进行管理。 Windows Server 2003 之中接收 TS CAL 的过程与 Windows 2000 Server 之中的完全相同。
问: 我拥有不同版本的 *** 作系统运行在我的终端服务器以及我的终端服务器许可证管理系统上。哪种 *** 作系统能够支配我的许可证权限?
答: 许可证权限受您的终端服务器支配。
问: 对于 TS 客户端访问许可我拥有有效的升级权力(企业协议,升级优先权,或者软件保障)。我应该如何执行我的升级权力呢?
答: 通过使用终端服务器许可证工具时,根据 Windows Server 2003 终端服务器客户端访问许可要的提示,您只需要简单地 输入信息即可。您输入的信息应当是有效的,并且终端服务器许可证的标记是正版的。
问: 桌面等价是什么意思?
答: 桌面等价是与终端服务许可证发放相关的一个概念。当终端服务成为 Windows Server 的一个内置功能之后,它对于许可证发放便具有了特殊的要求。具体来说,如果想要使用终端服务器,那就必须获取终端服务器客户机访问许可证(TS CAL)。然而,当一个设备访问 Windows NT® Server 40终端服务器的时候,如果它拥有一个有效的Windows NT工作站桌面许可证,对它的 TS CAL 要求就可以免除。同样,当一个设备访问 Windows 2000 终端服务器的时候,如果它拥有一个有效的 Windows 2000 Professional 许可证,对于它的 TS CAL 要求也可以免除。换句话说,这些设备具有桌面等价的权利。更进一步,当一个设备访问 Windows 2000 终端服务器的时候,如果它拥有一个有效的 Windows XP Professional 许可证,这个设备也将获得桌面等价的权利,因为 Windows XP Professional 是比 Windows 2000 Professional 更新的桌面 *** 作系统。
问: 为什么 Windows XP Professional 桌面需要 TS CAL?
答: 任何访问 Windows Server 2003 终端服务器的设备和用户都必须拥有一个 TS CAL。这与过去使用终端服务的许可证发放要求没有什么区别。然而,对于 Windows XP Professional 许可证的持有者,仍然要求拥有 TS CAL,因为它的桌面等价权利已经被去除。
问: 对于 Windows Server 2003,Microsoft 为什么要取消桌面 *** 作系统的等价权利?
答: Microsoft 取消桌面 *** 作系统的等价权利,主要有两个原因:
在全新的 Microsoft 软件许可证发放框架之中获得更好的一致性。 终端服务器(TS)许可证发放模式的改变,与Microsoft 对于 Windows Server 2003 许可政策进行改进的其它各种努力是一致的。
• Microsoft 从客户那里接收到许多反馈,他们认为终端服务器的许可政策容易造成混乱,这些混乱主要是因为 *** 作系统(OS)的等价规定所引起的。因为在使用 Microsoft Windows 终端服务器的时候,同时需要 Microsoft Windows CAL 和 Microsoft Windows Server TS CAL,拥有同样的许可证结构可以降低与此相关的许可政策的复杂性。保持 *** 作系统的等值规定在新的 Windows Sevrver 2003 许可证选项中进行了介绍,这将导致客户不得不进行复杂的计算来确定他们能够得到什么以及什么时候获得。
• *** 作系统等价规定很容易使客户处于违反许可证使用条款的尴尬境地。在过去,如果客户使用最新版本的桌面 *** 作系统,他们的设备就被赋予访问 Microsoft Windows Server *** 作系统上的 Microsoft Windows 终端服务器的权利。但是,如果他们升级到新的服务器 *** 作系统,而没有相应地升级到新的桌面 *** 作系统,他们就必须获取 Microsoft Windows Server TS CAL 才能进行终端服务器的访问。在不同的桌面OS升级周期之中,客户将会发现他们时而符合许可证条款,时而又不符合。这将导致诸多的麻烦和混乱。
• Microsoft 服务器和桌面 *** 作系统具有不同的发布日程。而在过去,Microsoft 服务器和桌面 *** 作系统一般具有相同的发布日程。举例来说,Windows 2000 Server 和 Windows 2000 Professional 就是同时发布的。从 Windows XP Professional (桌面) *** 作系统的发布开始,桌面和服务器软件的发布周期不再同步。这种发布周期的不同步,使得客户更加难以理解桌面 *** 作系统的等价规定,他们不能肯定某个桌面 *** 作系统对于某一个终端服务器是否直接具有访问的权利,而不必单独购买终端服务器 CAL 许可证。
取消桌面等价还可以反映出终端服务增长了的价值。Microsoft公司在Windows Server 2003的发布之中对于终端服务增加了新的功能,与以前版本的发布相比,它向客户提供了更多的价值和更好的开箱即用解决方案。通过这些新的特性,Microsoft 相信客户将能够节省管理和实施费用,体验到更多的商业价值。相关详细信息,请查阅Windows Server 2003 终端服务技术概述。
问: Microsoft 有什么举措帮助现有的客户过渡到 Windows Server 2003 TS CAL 吗?
答: Microsoft 意识到桌面等价规则的取消将会影响到现有的客户,所以公司尽力为所有愿意享受 Windows Server 2003 所能带来的好处的现有 Microsoft 客户提供周到的过渡方案。
• 如果客户在购买 *** 作平台或者 *** 作系统组成部分时签署的企业协议(EA),升级优惠(UA),或者软件保障(SA)涵盖了他们的 Windows 桌面计算机,对于这些计算机他们都将有权获得 Windows Server 2003 TS CAL。客户于 2003 年 4 月 24 日为其拥有的桌面系统所获得的 TS CAL,都将继续被软件保障(SA)所涵盖。
• 如果客户拥 Windows XP Professional 许可证,但是不具备升级的权利(也就是说没有 EA、UA 或者 SA),客户也可以于 2003 年 4 月 24 日为其拥有的每一个桌面系统获得一个 Windows Server 2003 TS CAL,但是这些 TS CAL 不再拥有继续升级的权利。
如果需要了解关于 TS CAL 转换提出的普遍问题的解答,请访问 终端服务器客户端访问许可转换计划:常见问题
问: 在2003年4月24日的时候,我就拥有 Windows XP Professional 许可证。我应该如何免费获得 TS 客户端访问许可?
答: 这个过程是根据以前获得 Windows XP Professional 许可证方式的不同而有所区别的。以下提到了二种场景。
场景 1:Windows XP Professional 许可证是通过批量许可证计划采购获得的 使用终端服务器许可证管理工具中的安装许可证功能,客户需要提供由计划类型确定的批量许可证计划信息(注册号,协议号,或者许可证和授权号码),以及终端服务器客户端访问许可标识被要求的数量和类型。输入到终端服务器许可证管理工具中的信息将会被提交到 Microsoft Clearinghouse 进行验证,并且请求的数量需要在权力界限以内,这时许可证标识将会被安装到终端服务器许可证管理服务器上。
场景 2:Windows XP Professional 许可证是通过零售或者 OEM 渠道获得的 通过这些渠道获得 Windows XP Professional 许可证的客户,将会与他们的软件同时得到一个产品注册序列号。客户可以访问 转换 Web 站点并使用 Install Client Access License Tokens 选项来输入这个产品注册序列号。合格的序列号将会通过转换 Web 站点的验证。一旦验证发生,客户就会收到一个许可证序列号包(通过 Web 站点),并将其输入到终端服务器许可证管理工具中。
问: 为什么 Microsoft 不再采用并发的或者以会话为单位发放TS许可证?该模式曾经在 Release Candidate 1(RC1)之中采用。为什么现在将它取消了?
这些问题比较常见 ,希望对楼主有帮助这个问题相对复杂些,首先要排除机房环境可能存在的问题,诸如电压不稳造成服务器瞬间断电、机房线路维护等情况。
排除这些因素之后,再着手你的服务器本身问题,硬件的,诸如CPU温度、机箱温度,可安装硬件检测工具。排除硬件问题,再着手研究病毒问题,通常机房这种环境病毒都极其猖獗,防火墙和杀毒工具必不可少。
确定以上没有问题,另外tomcat在运行时会产生许多日志文件,需定期清除,并且,将tomcat本身带的管理端口屏蔽,再检查最近是否打了其它补丁,通常对服务器的任何 *** 作都要记录,以便分析故障发生的原因。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)