28 123
发新话题
打印

什么是虚拟内存?真的是使用硬盘上的空间吗?

本主题由 fangqi1638 于 2008-6-28 12:09 设置高亮

什么是虚拟内存?真的是使用硬盘上的空间吗?

http://nbbbs.enet.com.cn/thread-2916594-3-1.html

在Vista版的一篇帖子,引发了关于虚拟内存是否可以关闭的争论。
但本帖不讨论虚拟内存对性能的影响。

我的问题是:
1.究竟“虚拟内存”是什么?
2.如果一个程序占用了400MB虚拟内存,是否意味着,400MB程序自认为在内存中的数据,被存储在了硬盘上?
3.明明已经关闭了“虚拟内存”(大小0MB),为何仍有虚拟内存占用?




看图
附件: 您所在的用户组无法下载或查看附件
呜哈哈
呜哈哈
呜哈哈鲁哈
(耳熟不?)

fanqi

TOP

再看另一图,这是Fedora Core 6 (Linux)中

【虚拟内存加起来】比整个【物理内存+交换分区】还要大
但是【交换分区】只使用了几百KB

以前我一直以为这只是Linux的特殊情况
但是今天发现,Windows也是这样:明明已经设置关闭了虚拟内存【大小为0MB】,硬盘上也找不到PF文件了。但是,各程序仍然可以看得到虚拟内存占用。


所以我就有疑问:难道,“虚拟内存”,并不像我以前理解的那样,占用硬盘空间来假冒物理内存?

[ 本帖最后由 fanqi1234 于 2007-8-8 15:26 编辑 ]
附件: 您所在的用户组无法下载或查看附件
呜哈哈
呜哈哈
呜哈哈鲁哈
(耳熟不?)

fanqi

TOP

当我把C盘虚拟内存大小设置为2-2,D盘也2-2之后,系统提示虚拟内存太低,自动调整。重启后,C盘出现1.7G的文件。

把C盘设置为100MB - 100MB, D盘设置为2M-2M之后,重启,C盘PF大小100MB,D盘未见PF。


从任务管理器可以看出此时的虚拟内存要比页面文件大很多。


图:
附件: 您所在的用户组无法下载或查看附件
呜哈哈
呜哈哈
呜哈哈鲁哈
(耳熟不?)

fanqi

TOP

...................

TOP

翻译一下:楼上的意思是鼓励灌水。 :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao :jianxiao
呜哈哈
呜哈哈
呜哈哈鲁哈
(耳熟不?)

fanqi

TOP

说实在,我看不懂这些。虚拟内存对我而已就是缓存在硬盘的一点数据区而已,当然理解正不正确我也从来没有考证,希望这次能看到有人来PK,讨论个结果出来
改签名。。。请刷新。。。。。。

TOP

之所以有虚拟内存,是因为电脑同时拥有存取速度不同的储存介质,然而高速的存储介质容量不够大.

虚拟内存并不是一定存在,这个取决于操作系统,但如果对内存读取或写入错误,很可能导致系统崩溃!

你所遇到的情况是:操作系统建议长期在硬盘占用一定的空间,以避免崩溃的可能,但如果你放弃那么做,在内存不够用时,操

作系统将自动寻找可用的空间来使用,从而避免崩溃或程序无法运行.假设硬盘无地方可用,内存也满了,那操作系统只有自杀

一条路了!

TOP

引用:
原帖由 whxrory 于 2007-8-9 12:19 发表
你所遇到的情况是:操作系统建议长期在硬盘占用一定的空间,以避免崩溃的可能,但如果你放弃那么做,在内存不够用时,操

作系统将自动寻找可用的空间来使用,从而避免崩溃或程序无法运行.
也就是说,实际上,在XP系统中,硬盘有空闲空间的情况下,“关闭虚拟内存”只不过是一种心理安慰,实际上操作系统仍然在自动处理虚拟内存问题?
呜哈哈
呜哈哈
呜哈哈鲁哈
(耳熟不?)

fanqi

TOP

刚刚看到这个帖子。我晚点来恢复这个帖子。
LZ的问题,我大概了解了。

主要问题出现在对“虚拟内存”,“Page file”的理解上。

TOP

3个问题:
1.究竟“虚拟内存”是什么?
2.如果一个程序占用了400MB虚拟内存,是否意味着,400MB程序自认为在内存中的数据,被存储在了硬盘上?
3.明明已经关闭了“虚拟内存”(大小0MB),为何仍有虚拟内存占用?

第一个问题:
虚拟内存:为了提供比实际物理内存还多的内存容量以供使用,操作系统占用了硬盘上的一部分空间作为虚拟内存。

第二个问题基本上也解释了。
如果是占用了400MB虚拟内存,因为虚拟内存是在硬盘上开辟的,当然是存储在硬盘上的。

第三个问题,我不太理解。关闭了“虚拟内存”,怎么还会有虚拟内存暂用?
LZ可能没有分清“虚拟内存”和“页面文件(Pagefile)”

TOP

 28 123
发新话题