Memory and hard disk
Many novices often confuse physical memory with hard disk, because the capacity of both is expressed in MB or GB. The best analogy of the relationship between physical memory and hard disk is a small office with a desk and a filing cabinet.
A filing cabinet is like a hard disk, where programs and data can be safely stored for a long time. Desktop represents physical memory, allowing people who work on the desktop (with the same function as the processor) to directly use any files (programs and data) placed on the desktop. In order to operate on a specific file, you must first take the file out of the filing cabinet and put it on the desktop. If the desktop is large enough, you can open multiple files on the desktop at the same time. Similarly, if you have more physical memory, you can run more or larger programs and process more or larger data.
Adding hard disk space to a computer is like putting a bigger filing cabinet in the office, while adding memory is like getting a bigger desk, which can operate more programs and data at the same time.
First of all, this is how Windows uses memory.
If you want to know why the speed increase of the system is no longer obvious, you must first understand how Windows uses memory. Here is a concept-resources.
This is not the usual CPU resource, memory resource or unified "system" resource. The "resources" we are going to discuss next are Windows objects that programs can manipulate. For example, every window displayed on the screen is a resource, and every picture can also be a resource. If an application opens a file on disk, the opened file is also a resource. By analogy, if an application needs to use a resource, it will ask the operating system to create a new resource or call it from memory.
1. Scene Reproduction: Dialogue between Program and System
The program said, "Hi, Windows, I want to create a new window with a width of 300 pixels and a height of 200 pixels, can I?" So, Windows immediately creates or calls this resource into memory as required, and then gives the application a code name: "Well, I have created the window you want, and its code name is #387 10." Later, when the newly created window needs to be used, the application will use the code fed back by Windows to represent this resource. "Windows, please display #387 10 in the upper left corner of the display screen." "good!" Finally, when the application doesn't need the resource, it will ask Windows to delete the resource. "Ok, please delete #387 10." "good!" .
2. Pointer-postal code in memory
So what standard is this code generated according to? In most operating systems, it is determined by something called a pointer. You can imagine the whole memory as a post office. The postman sorts the letters that need to be sent to different places and puts them in many different mailboxes. Mailboxes one after another, fully occupied a wall. Everyone who is careful has some letters containing information sent to a specific area. Moreover, just like every region has a postal code, every memory space that can store data also has an address-a pointer. A string of numbers representing this storage space. A "pointer" to some data in memory, that is, the address of the first memory space occupied by these data. So, if I am an ordinary operating system and an application asks me to call a window, I will call the window into memory as it tells me. If the address of the data stored in the memory of this resource starts from # 1234567, then I will return a message to the application: "Well, I called this window, and it is # 123457.
3. Solve the problems caused by pointers
In a PC, this pointer is 4 bytes long. Therefore, if an application needs to allocate a pointer to some data in memory, it needs 4 bytes of memory space. This way of working brought a lot of trouble to early Windows designers, because the production technology was not developed at that time and the memory was expensive. A computer with 8MB of memory is enough for users to laugh from their dreams countless times, while most computers can only prepare 4MB of memory. When memory is so tight, an application usually needs to use millions of resources. In order to use these resources, it is necessary to assign a pointer to each resource. Each pointer takes up 4 bytes, and millions of pointers will consume an objective amount of memory space. It's like a small sum of money, but if you want to give everyone in the country a sum of money, you should at least13 million.
Therefore, Windows designers adopted another alternative. They created a resource table. Register the information of all resources currently transferred to memory into a list. In this way, when an application requests the system to call a resource, the system will not assign a pointer to it after the call, but directly tell the application the serial number of the resource in the resource table. "Well, I have called the resource you need, and its serial number in the resource table is #383." Because what is needed is not a memory address, it can be represented by a number that only takes up 2 bytes. This is just a difference of two bytes. But when you only have a few MB of memory, and the program you are running calls a lot of resources, the gap between these two words will bring great advantages.
In 32-bit Windows 2000/XP, the maximum memory is 4GB, and each application can only use 2GB at most, because the other half of the memory is also reserved for the system. In 64-bit WindowsXP, this restriction is gone, and each program can fully use 4GB of memory. In addition to Windows, Microsoft is developing 64-bit versions of SQL Server 2000 and Windows Server2003, but to run these applications, your computer must have at least 1GB of memory.
Time has changed, even the brilliant plan has become a defect.
But this method also has its disadvantages-two bytes can represent a very limited number of different numbers.
We can do an experiment: please write different numbers. If you are only allowed to write one number, you can only write ten different numbers. If you limit your writing to two digits, you can write more, but the total is still limited. By analogy, the more digits allowed, the more different numbers can be written. But as long as the number of digits is limited, the total number of different numbers written is always limited. Similarly, if the system is allowed to use a 4-byte serial number, there can be billions of different serial numbers available under this "bit limit". However, if the system only allows the use of 2-byte serial numbers, the available serial numbers will be drastically reduced to 65,536. Therefore, the list of resources we talked about earlier cannot be stretched indefinitely. There are only 65536 serial numbers at most.
So here's the question. After calling 65536 resources, if more resources are called, even if the memory space is still 1GB, which is enough to store tens of billions of resources, a 2-byte resource table cannot generate more serial numbers! No serial number means that resources can't be distinguished, and applications can't use these resources without an "account"! In fact, because no serial number is available, the system cannot call more than 65536 resources at the same time.
But in the era when 10MB memory is extravagant, it is simply "nonsense" to call hundreds of thousands of resources at the same time. So at that time, the designer of Windows did not take this problem to heart, and decisively chose the resource table and the 2-byte serial number.
Today, the operating system gets what it deserves. Memory is cheap, resource list and 2-byte serial number still save us memory space, but the disadvantages far outweigh the advantages. We have enough memory space to call millions of resources, but there are only 65536 serial numbers in the resource table! So at the same time, the memory can only have 65536 resources! Is there still 1GB memory space available? Wait!
5. Who really "consumes resources"?
Understand the above truth, it is not difficult to distinguish between large files and large programs, which programs really consume system resources:
★ Call many small resources to decorate the desktop with fancy software.
★ Various multimedia playing software
★ Monitoring system tool software
★ You can preview the font application (such as MS Office) in the font menu.
In addition, when running 16-bit programs (such as DOS programs) in Windows 9x n/Me, Windows will designate a memory for all such programs. The memory will not be released unless all 16-bit programs are closed.
6. What are the advantages of large memory?
Isn't large memory useless? Memory vendors are cheating money? Of course not. When an application starts, some components of Windows will also start, which is very common. Windows will keep these components open when the application is closed, because they may be used again soon. Similarly, some resources transferred to memory when the program is started will not exit the memory when the program is closed.
At this time, large memory can sometimes be reflected. On the one hand, large memory can hold a large amount of data at one time, which reduces the probability of using hard disk with much worse performance as virtual memory and improves the speed of data call. On the other hand, after closing the program, more commonly used data will have enough space to stay in memory and will not be cleared. Once you restart the program, you will find that it is obviously faster than when you use small memory!
Second, the use of large memory essentials
1. Put the memory into your hard disk.
If your memory is really rich, you can use RAMDISK specially designed by Microsoft for Windows2000, which can virtualize part of the memory into a hard disk and the data originally stored in the hard disk into the memory. For example, put temporary files of Windows and Internet on this virtual disk. As we all know, the speed of memory is much faster than that of hard disk, which can greatly improve the data reading speed and make Windows run more efficiently. At the same time, because the data is actually stored in memory, the data in it will disappear after shutdown, so the system security can be strengthened to some extent.
Step 1: Download RAMDISK from. And unzip it to a temporary folder, such as C:\RAMDISK.
Step 2: Click "Start Setting Control Panel", double-click to open "Add/Remove Hardware", then select "Add/Remove Device Faults" and click "Next"; In the "Select Hardware Device" window, select the item "Add New Device" and click the "Next" button; In the next window, select "No, I want to select hardware from the list" and click "Next" button; Then in the "Hardware Type" list, select "Other Devices" and click "Next"; Click the "Install from Disk" button in the window that appears, and in the "Install from Disk" window that pops up, set "Copy the source file of the manufacturer's file" to "c:\RAMDISK". After confirmation, a selection window will appear. Select Ramdisk Driver in the Model list, and then click Next. During this process, the Digital Signature Not Found dialog box will appear in Windows.
Step 3: Open Notepad, enter text and save it as Ramdisk.reg
Windows registry editor version 5.00
[HEY _ LOCAL _ MACHINE \ SYSTEM \ CurentControlSet \ Servioes \ Ramdisk \ Parameters]
" BreakOnEntry"=dword:00000000
" DebugLevel"=dword:00000000
" DebugComp"=dword:ffffffff
"Disk size" =dword:0 1f00000
" DriveLetter"="R
" RootDirEntries"=dword:00000200
" SectorsPerCluster " = dowrd:00000002
[HKEY _ LOCAL _ MACHINE \ SYSTEM \ current Control set \ Control \ Session Manager \ Environment]
" TEMP"="R:\\ "
" TMP"="R:\\ "
[HKEY _ Current _ User \ Environment]
" TEMP"=R:\\ "
" TMP"="R:\\ "
[HKEY _ Current _ User \ Software \ Microsoft \ Windows \ Current Version \ Explorer \ Shell Folder]
" Cache"="R:\\ "
[HKEY _ Current _ User \ Software \ Microsoft \ Windows \ Current Version \ Explorer \ User Shell Folder]
" Cache"="R:\\ "
[HKEY _ user \. Default \ Environment]
" TEMP"=R:\\ "
" TMP"="R:\\ "
[HKEY _ user \. Default \ software \ Microsoft \ Windows \ Current version \ Explorer \ shell folder]
" Cache"="R:\\ "
[HKEY _ user \. Default \ Software \ Microsoft \ Windows \ Current Version \ Explorer \ User Shell Folder]
" Cache"="R:\\ "
When finished, double-click Ramdisk.reg to import it into the registry. The above registry data can be downloaded from.
skill
The keys in the Ramdisk.reg file indicate:
Parameters: Set Ramkisk's drive letter as R and its size as 30.9MB.
Session Manager\Environment: set the TEMP and TMP environment variables of the system to virtual drive R.
Heky _ current _ user \ environmentnet: set the TEMP and TMP environment variables of the current user as virtual drive R.
Two HKCU Shell folders: set the temporary Internet files of the current user to the virtual drive R.
HKY\。 Default key: set the TEMP, TMP and Internet temporary files of the default user to the virtual drive R.
Step 4: Shut down and restart Windows2000.
skill
Of course, the RAMDISK function provided by Microsoft is relatively simple. At present, there are some powerful memory virtual software on the Internet, such as RamDisk.
2. Modify the registry to make use of large memory.
Now, please open the registry editor, find [HKEY _ local _ machine \ system \ current control set \ control session manager \ memory management], and modify the key values in the right pane (note, the premise of setting is that the memory is preferably more than 5 12MB, only for Windows 2000/XP).
(1) "largesystem cache": opens a large memory space in memory for read-ahead operation of disk file system. When the data continuously requested by the program increases, Windows will automatically pre-read it through the system cache, so that the program can get the required data as quickly as possible. Because enabling this system buffer will take up more physical memory, the available physical memory that the program can use will be reduced. Set its value to 1. In this way, the system cache is increased from 4MB to 8MB.
(2) "second leveldatacache": the processing speed of CPU is much faster than the access speed of memory, and the memory is much faster than the hard disk. So there is a bottleneck effect between CPU and memory, and between memory and disk. The previous "LargeSystemCache" was designed to alleviate the bottleneck between memory and disk, and the CPU also set up a buffer mechanism L2 cache (secondary cache) to quickly get the processed data from memory. Adjusting this key value can make Windows better cooperate with CPU, and use this caching mechanism to obtain a higher data pre-reading hit rate. The recommended setting is 5 12.
(3) DisablePagingexecutive: Change its value to 1 (hexadecimal), which will force all programs and data to run in physical memory instead of using virtual memory. Obviously, when there is enough physical memory to complete the required tasks, this will definitely greatly improve the system performance. Enabling it may be a disaster for users with only 64MB of memory-the system often makes mistakes until it crashes.
(4) "iopagelocklimit" (user-defined input/output buffer size): the input/output system is the channel for data transmission between the device and the microprocessor, and the data transmission will be smoother after the buffer size is enlarged. Similarly, the specific setting size depends on the size of physical memory and the number of running tasks. Generally speaking, if the memory is 64MB, the binary value of the double-byte key can be set to 400( 1MB), 800(2MB) or 1000(4MB). 256MB memory 4000( 16MB) or 8000(32MB). Of course, if the memory is large, it can be set to 10000(64MB) or more. When set to 0, the window will be automatically configured.
skill
It is said that this setting can also effectively solve the problem that BT downloads damaged disks.
3. yes, 3. Windows98/Me uses 1GB memory?
Windows98/Me does not support memory exceeding 1GB. At the same time, when the memory exceeds 128MB, special adjustment is needed to make the system manage and use the memory better and avoid system failure caused by excessive memory. All key settings revolve around Vcache (Virtual High Speed Memory).
Do you know that?/You know what? Do you know that?/You know what?
What is a Vcache?
It is the physical memory allocated by Windows for the hard disk as a cache, which can greatly improve the reading and writing speed of the hard disk, similar to the use of Smartdrv under DOS. To put it simply, Vcache is a space automatically allocated by Windows in physical memory to save used codes and data that Windows thinks will be used again, so that when new programs need to use these codes and data, they don't need to read them from hard disk, but directly from memory, which will be much faster, thus greatly improving system performance.
( 1) 128 MB ~ 5 12MB
According to experts, if the memory is 128MB~5 12MB, it is best to open the c:\windows\system.ini section with notepad to find [Vcache], find a line starting with "MaxFilecache=", and set its value to 70% of the physical memory (because the value used here is in KB, so For example, if your memory is 128MB, it should be128 * 0.7 *1024 = 91750kb (.
More than two 5 12MB memories
Some friends will find that when the memory increases above 5 12MB, when starting Windows98/Me or opening a DOS window, the system will prompt "insufficient memory".
This is mainly because Windows98/Me has defects when dealing with memory larger than 5 12MB, so it is best to set the MaxFileCache value of Vcache to 512mb (524,288kb), that is, "max file cache = 524,288".
(3) 1GB memory
If the memory reaches 1GB or higher, Windows98/Me will have the failure of continuous restart, crash or continuous restart when using Windows Update.
To solve this problem, you should also open the System.ini file and add "MaxPhysPage=40000" in the [386Ehh] field. This will limit the memory read by Windows to less than 1GB.
If you can't get into Windows, you can hold down the Ctrl key until the startup menu appears, and then select the "Command Prompt Only" item. At the command prompt, enter "edit system.ini" and press enter, and then add "MaxPhysPage=40000" in the [386Ehh] field.
Turn off hibernation
Many users like the hibernation function, which can realize the quick startup function. However, for computers with large memory, if they don't read and write frequently, it's best to turn off the hibernation function of the hard disk, because sometimes it will cause crashes for no reason.
If you have a lot of memory, you don't need virtual memory.
I often read many articles about disabling virtual memory after having large memory. Actually, it is not! For example, Windows98/Me is inherently short of more than 5 12MB of memory. If the memory is larger than this amount, Windows98 will be unstable and start slowly. If you use large memory and disable virtual memory, it will further increase instability.
In addition, the design of Windows itself is that once a process is found to be inactive, it will map the memory space allocated to it to the swap file, so that other active processes can use physical memory as much as possible, instead of starting to use the swap file after the physical memory runs out. Because if you wait until the physical memory runs out, it will be too late. It is bound to cause data transmission and processing stagnation on low-configuration computers. Therefore, in principle, prohibiting virtual memory is the most likely to cause Windows exceptions, and there will be no failure in time, which will frequently prompt that virtual memory is insufficient. Please reset it.
Do you know that?/You know what? Do you know that?/You know what?
According to ASUS experts, when using the motherboard of INTEL 850/850E chipset, if it is matched with 2GB RAMBUS memory, the computer will be unstable. This is due to the limitation of Intel850/850E chipset. Intel's suggestion is: number of memory banks * number of chips per memory ≤24. At present, the number of chips in RAMBUS 256 memory sold in China is 8, and the number of chips in Rambus5 12MB memory is 16, so when users use too much memory, instability may occur.
6. Let the large memory help the hard disk.
If you have more than 5 12MB of memory, and you also have a Maxtor quantum hard disk, then Maxtor's MaxBoost is worth a try. It is said that it can greatly improve the performance of hard disk, up to about 60%. This software is actually a disk drive, replacing the disk drive of Windows2000/XP. It can automatically set a cache with appropriate size in the system memory for different application software, which plays the role of pre-reading and buffering before reading and writing data. It uses disk to read and write data with "advanced algorithm" that refuses to disclose technical details, thus effectively improving the speed of hard disk reading and writing, and achieving the purpose of improving the speed of application and system. According to some experts, although the software is not as magical as the official claim, it does show its talent in file copying and other operations. Of course, because MaxBoost is still in the testing stage, there are still some problems, so it is recommended that ordinary players use it after the software is officially launched.