XP硬盘读写速度很慢的解决方法
05购入的电脑,今日仍在发挥余热,但系统速度慢得出奇。今日检测了硬盘读写速度还不到2m/s,实在令人难以接受。一查之下,硬盘被置为PIO模式了,难怪。
用以下方法得以解决:
1、对桌面“我的电脑”右键选择“属性”,选择“硬件”->“设备管理器”。
2、展开“IDE ATA/ATAPI 控制器”节点,双击“主要IDE控制器”。
3、点击“高级设置”,查看“设备0”的传输模式为“DMA(若可用)”,再下面“当前传输模式”居然是PIO。
说明系统因为收到过多的超时或循环冗余检验(CRC) 错误后,将硬盘传送模式从DMA降级为PIO了。
4、在“设备管理器”中直接卸载“主要IDE控制器”,重启计算机。
5、重启后XP自动重装硬盘驱动,然后再次要求重启。
重启完成后检查传输模式已经变为Ultra DMA Mode 5,测试读写速度恢复回27m/s。
说明:
在Windows 2000/XP/2003中有这样一个设定:Windows IDE/ATAPI 端口驱动程序(Atapi.sys) 累积收到总共6个超时或循环冗余检验(CRC) 错误后,驱动程序将把通信速度(传送模式)从最快的直接内存访问(DMA) 模式分步骤降为较慢的DMA 模式。如果驱动程序继续收到超时或CRC 错误,则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。
问题就在这里!一般来说一个正常的硬盘很少会有超时或循环冗余检验(CRC) 错误,但是当我们使用这些系统里的挂起(也有叫休眠)并恢复计算机后就很容易造成超时或循环冗余检验(CRC) 错误。因为系统设定的超时值为4秒,当系统向ATA 磁盘发出读取请求时如果硬盘回应时间超过4 秒的超时值时才会产生超时或循环冗余检验(CRC) 错误,但因为系统在挂起(也有叫休眠)时硬盘是在停转状态中,恢复计算机时硬盘有个从停止到运动的过程,这就很容易造成大部分硬盘回应时间超过4 秒的超时值。也就是说当我们使用计算机挂起6次后系统就会把通信速度(传送模式)从最快的直接内存访问(DMA) 模式分步骤降为较慢的DMA 模式。如果挂起6次以上则驱动程序最终将把传送模式降为最慢的模式(PIO 模式)。这就是Windows 系统突然变慢的原因。
接下来调整上面说的硬件超时时间:
6、 单击“开始”,单击“运行”,键入Regedit,然后单击“确定”。
7、 在注册表中找到并单击以下项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E96A-E325-11CE-BFC1-08002BE10318}\中查找DriverDesc 值是包含字符串值“主要IDE 通道”的项目。
8、找到后在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”,建立ResetErrorCountersOnSuccess项目,值填入数字 1,单击“确定”完成。
这三步的目的是使Windows向ATA 磁盘发出读取请求时的4 秒的超时值更改为10 秒。还实现了一种较不严格的变通策略以在发生超时错误和CRC 错误时降低传送模式(从较快的DMA 模式到较慢的DMA 模式,最终降为PIO 模式)。以前的情况是,在每当累积发生的超时错误或CRC 错误的总数达到6 次时,IDE/ATAPI 端口驱动程序(Atapi.sys) 将降低传送模式。当我们建立以上注册表键值实现新的策略后,Atapi.sys 仅在连续发生6 次超时错误或CRC 错误后才降低传送模式。这一新的策略实现后将大大降低系统降低或关闭DMA传送模式的机会。
最后加大磁盘缓存:
9、打开注册表编辑器。依次展开HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER\MEMORY MANAGEMENT分支。
10、在右侧窗口中单击鼠标右键,选择“新建”、“DWORD”值,将新值命名为“Iopagelocklimit”,并将其值设置为“4000”(16进制,即16M或“8000”即32M),这样硬盘的读写频率会降低不少,如果内存足够大还可以试试10000 即64MB 。
现在放心享受系统吧。
XP硬盘读写速度很慢的解决方法的更多相关文章
- linux 手动挂载硬盘没有移到回收站解决方法
linux 手动挂载硬盘没有移到回收站解决方法 修改挂载硬盘的文件夹权限为当前用户即可 或者 修改读写权限 chmod 777 mount-disk-path
- form表单中控件较多,加载完成后切换页面都很慢的解决方法
form表单中控件较多,加载完成后点击都很慢,为什么?我一页面中form表单里面上百个控件(如input.select.radio.checkbox等),还有一些js脚本,加载速度还可以,都能全部显示 ...
- PHP5.3后在本机运行很慢的解决方法
方法一:这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost ...
- 微信小程序开发——点击按钮获取用户授权没反应或反应很慢的解决方法
异常描述: 点击按钮获取用户手机号码,有的时候会出现点击无反应或很久之后才弹出用户授权获取手机号码的弹窗,这种情况下,也会出现点击穿透的问题(详见:微信小程序开发——连续快速点击按钮调用小程序api返 ...
- Openwrt挂载NTFS硬盘提示“只读”错误的解决方法!
Openwrt是基于Linux代码编写,只支持NTFS格式硬盘的只读权限,否则当挂载的NTFS硬盘写入超过2M左右,就会出现"error:read-only file system" ...
- ios svn无法连接xp或者win7系统svn的解决方法
找到服务器svn的安装目录,或者直接查找httpd.conf,找到端口号,复制到ios系统的svn端口号,就ok了,如图 这是其他人的解决方法 Subversion有两种不同的配置方式,一种基于它自带 ...
- 当Thread.Sleep的暂停时间参数设置过小时,精度很差的解决方法
一.问题产生 在C#和C++中有这样一个函数:void Sleep(int Timeout),可以让线程暂停指定的毫秒数. 但是我在win8下调用这个函数实现按照固定频率发送udp数据包时,会有一个问 ...
- 谷歌的ajax.googleapis.com被墙导致访问很多国外网站很慢的解决方法
比如访问StackOverflow, 更比如flexerasoftware.com(导致Visual Studio的打包程序InstallShield Limited Edition不能注册和下载) ...
- python-docx 添加表格时很慢的解决方法
我们做监控系统的时候常需要给客户发送邮箱报告,附带一个word的文档,文档中插入表格给用户更直观的数据. 我用的时python-docx库操作文档,最近碰到,当往文档中插入表格时,随着表格行数的增多, ...
随机推荐
- 蓝桥杯练习系统— 算法训练 Beaver's Calculator
问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...
- 正则匹配url中的query参数信息
var url = 'name=xiaoming&age=10&school=xinhua'; var reg = /([^&=]+)=?([^&]*)/g;
- 安装supervisor
机器版本 centos 6.5 python 版本 2.6.6 在终端输入 easy_install supervisor 并回车,linux会自动联网并下载supervisor源码解压并安装 安装成 ...
- 前段篇:HTML
<!DOCTYPE html> 文件开头统一的标准! HTML包含了两部分: head与body 固定的格式. 一.head部分: head部分分为两部分:meta标签与非meta标签: ...
- HTML5中的Web Notification桌面通知
大家在做一些浏览器端的聊天功能的时候,或者在一些网站跟在线客服咨询的时候,会看到一些消息通知的提示,常见的有浏览器标签页的闪烁和屏幕右侧的消息通知.本篇博客就在这里简单的介绍一下如何实现这样的功能. ...
- python多线程限制并发数示例
#coding: utf-8 #!/usr/bin/env python import Queue import threading import time prolock = threading.L ...
- Java设计模式——模板方法模式
转载自:https://www.cnblogs.com/zplogo/p/6428593.html 用抽象基类定义算法框架 RefreshBeverage package com.pattern.te ...
- 洛谷 [P4016] 负载平衡问题
贪心做法 第一眼看见觉得和均分纸牌差不多,然而因为这是环形的,并不能用均分纸牌的方法做,但是均分纸牌的思想仍然适用 首先我们假设平均数为sum1. 那么对于第1个人,我们假设他给第N个人K个糖果, 第 ...
- bzoj 4826: [Hnoi2017]影魔 [主席树 单调栈]
4826: [Hnoi2017]影魔 题意:一个排列,点对\((i,j)\),\(p=max(i+1,j-1)\),若\(p<a_i,a_j\)贡献p1,若\(p\)在\(a_1,a_2\)之间 ...
- getHibernateTemplate() VS getSession()
如题所示,对于这个问题,官网文档已给出答案,详见: /** * Obtain a Hibernate Session, either from the current transaction or * ...