



不知道能帮忙不 转来的
内存溢出已经是软件开发历史上存在了近40年的“老大难”问题,象在“红色代码”病毒事件中表现的那样,它已经成为黑客攻击企业网络的“罪魁祸首”。 如在一个域中输入的数据超过了它的要求就会引发数据溢出问题,多余的数据就可以作为指令在计算机上运行。据有关安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的,其中大多数与微软的技术有关。 S( V f# p$ W, G, [" P4 @8 s: ]
0 d& q, z) ?" }/ w% {3 o' b U需要注意内存溢出和缓冲区溢出的区别 $ }7 t# V. y& J# f9 t7 i
. j ?+ x6 |5 F; V+ z: W1 s) \$ f内存溢出是指系统内存全部被占用,没有可用内存分配给新启动的任务的情况,通常不会导致系统崩溃。
9 @* h3 A; ^1 r# n* d1 M4 k& G) a. ]" d' c
缓冲区溢出是指程序的缓冲区无限制的使用导致数据超出范围覆盖了其他程序的代码、数据等内容,如果被覆盖的内容是系统数据或代码就会导致系统崩溃
& q3 V1 o P& r: r0 a/ `5 c! N# f, `+ y
重新设置并增大虚拟内存的大小。 9 c* u s0 d2 E( r; Q
虚拟内存设置
, F* m Y% ^& U3 f+ `- b
4 V y+ ]6 L# v9 {虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用,这部分硬盘空间就叫虚拟内存。Windows 98中采用Win386.swp文件的形式,而Windows 2000/XP则采用页面文件pagefile.sys的形式来管理虚拟内存。
7 y+ \2 R( K" U% [一、大小情况 1 t) t% p% P, R# g) r6 y; b$ D- y. q
1.一般情况
2 F. w. A3 U# b9 g/ P0 G. W, u: q一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。 $ J( W0 D. c3 U3 d( n/ G
2.关于最小值
, `/ w) q4 K2 p* U( n3 aWindows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些:
) `6 {+ e% H1 t$ W6 r4 d% c①使用128MB或者更少内存的用户,建议将当前物理内存容量的1.75倍设置为页面文件的最小值。
0 h9 m( }4 i4 F6 ^②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的1.5倍设置为页面文件的最小值。 ! l* a) M) ?/ ^; n8 z" I# O+ O
3.关于最大值 4 l! [* i+ B- {8 K. e, ~, v" k3 O
一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。
. u- M. Q0 x0 @$ r. M$ j* w4.极端情况 0 |. N! f9 ?# l/ Q& V) v
假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。
2 y5 A4 y0 ?7 S+ h- U* x" l( R4 {3 ^$ D
如果物理内存很大(大于512MB),则可以将虚拟内存禁用。(上海 任亚维)
& x3 }! l- Z) N* p# `4 V5.根据不同的任务环境设置 3 b& Y0 G" g- }% q
①以3D游戏为主的环境
6 u6 A) X" j& }& S( ? ?: F7 `3 b3D游戏对CPU、显卡和内存要求都很高,如果物理内存小于256MB,建议把虚拟内存预设得大一点,这对提高游戏的稳定性和流畅性很有帮助。 5 @+ {9 g$ q" r0 J+ T& m( ~4 L
②以播放视频为主的环境
) C) Y3 @$ F8 C# o" A4 h2 E视频应用对硬盘空间的“胃口”很大,不过千万不要像在3D游戏环境中一样把虚拟内存设得很大,尤其是Windows XP的用户。因为Windows XP不会自动把不需要的空间释放掉,也就是说那个Pagefiles.sys文件会越来越大。如果你把虚拟内存和Windows XP放在同一分区,播放RM、ASF等视频流文件以后,系统经常会提示你虚拟内存设得太小或是磁盘空间不足。查看此时的页面文件,已经足有1GB大小了。所以建议经常欣赏视频文件的Windows XP用户,把初始数值设小一点,或者将虚拟内存转移到系统盘以外的分区。 & G6 X$ _2 y- r# i6 _- e: ]
二、设置方法
4 k9 f$ }2 Z! L1 ^6 o下面以在Windows XP下转移虚拟内存所在盘符为例介绍虚拟内存的设置方法:进入“打开→控制面板→系统”,选择“高级”选项卡,点击“性能”栏中的“设置”按钮,选择“高级”选项卡,点击“虚拟内存”栏内的“更改”按钮,即可进入“虚拟内存”窗口;在驱动器列表中选中系统盘符,然后勾选“无分页文件”选项,再单击“设置”按钮;接着点击其他分区,选择“自定义大小”选项,在“初始大小”和“最大值”中设定数值,然后单击“设置”按钮,最后点击“确定”按钮退出即可。