1
lichao 2013-08-15 07:56:23 +08:00 1
能,但是很慢很慢很慢
|
2
windfi 2013-08-15 08:07:14 +08:00 via Android 1
一直都是当做内存调用的啊……
|
4
lichao 2013-08-15 08:22:06 +08:00
@a7898585 可以,但是慢到爆。
字里行间里可以看出你没明白虚拟内存是什么。虚拟内存就是从硬盘上划出一块空间当内存用,但是硬盘的读写速度比真实的内存条慢很多,就这么简单。 |
5
ybbswc 2013-08-15 08:24:00 +08:00
试试readyboost功能呢?
我记得有个软件支持XP的readyboost,把U盘当内存用。 |
7
ybbswc 2013-08-15 08:29:54 +08:00
|
8
wog 2013-08-15 08:30:03 +08:00 1
可以,不过速度和你的硬盘速度有关
这个大学里不是连如何寻址都学过么 |
10
ybbswc 2013-08-15 08:36:26 +08:00
1 Plug in the flash drive to the USP port on the computer.
2 Click "Start" on the desktop and then right-click "My Computer." 3 Wait for the drop-down menu to appear, then scroll down and click "Properties." The "System Properties" window opens. 4 Click the "Advanced" tab. 5 Click the "Settings" button under the "Performance" heading. The "Performance Options" window opens. 6 Click the "Change" button in the virtual memory section. 7 Click the flash drive in the drive section and then click the custom size section. Increase the maximum size for the virtual memory as much as you need. 8 Click "OK" to close the window. Then click the "OK" button for the next two windows that open. You have now set the virtual memory size for the flash drive. |
11
shinwood 2013-08-15 08:46:08 +08:00 via iPhone
如果用 SSD 就无此方面的顾虑了,把硬盘当内存,其实还是很影响效率的,具体表现在开程序过多内存不够时,硬盘灯会狂闪当内存来读写,也就是那个 pagefile.sys 文件。
|
12
zhujinliang 2013-08-15 08:52:30 +08:00
实际上不能吧,硬盘又不能被CPU直接寻址。
比如有512M内存,程序A运行中,吃掉了500M,此时需要运行B的话,B要求分配200M内存,系统发现可用内存不够,而且此时A不是前台活动的程序,于是把A挂起,把A在内存中的数据放入虚拟内存,清理A占的空间,分出200M给B。 如果你此时再切换到A程序,系统会有个较长时间的卡顿,此时,系统重新分配500M内存给A,然后将数据从虚拟内存再读回物理内存,然后激活A。而分配500M内存给A时,又出现内存不够用的情况,又需要挂起B,将B的数据放入虚拟内存。。。 通过这样反复交换,看起来可用内存被扩大了。 |
13
nybux 2013-08-15 09:04:13 +08:00
另一个名字叫交换内存swap,这样解释你应该就清楚了
|
14
gdm 2013-08-15 17:38:21 +08:00
即使用ssd当虚拟内存,速度还是远远不如物理内存的。更何况机械硬盘呢。
|
16
miaoever 2013-08-15 18:07:41 +08:00
这个『当』要看对谁来讲,对于应用层的程序来看,你访问的始终是逻辑地址,这个地址空间是可以大于实际内存的,而超出物理内存的部分会由 OS 负责在内存和磁盘间进行换入换出。而对于 OS 而言,直接面对的是物理内存,所以就没有虚拟内存这一层的抽象了,能够使用的内存空间就只有物理内存那么大。
|
17
Sdhjt 2013-08-15 18:12:27 +08:00
其实虚拟内存就是给人心理安慰的
|
18
timonwong 2013-08-15 18:43:41 +08:00
虚拟内存概念在物理内存之上,你该指的是页面文件。
|
19
Golevka 2013-08-15 22:39:20 +08:00
楼主需要脑补一下虚拟地址, MMU, paging以及swapping
|
20
scusjs 2013-08-15 22:41:41 +08:00
废话。。。要不然玩大型游戏怎么办。。。
但是虚拟内存调用很慢,相当于文件读写。 |
21
hedaors 2013-08-16 08:59:26 +08:00
@sophy 为神马我向 u 盘拷东西的时候都不超过 20 M/s, 往移动硬盘拷的时候 都 30+ M/s 啊? (usb 2.0)
|
23
slixurd 2013-08-16 10:11:28 +08:00
@hedaors U盘的质量参差不齐,SLC、MLC什么的,而且有的U盘为了保证稳定和良品率会限速(所以就有了焊掉某个引脚加速的神U盘出现..
硬盘什么的普遍不存在这个问题,毕竟现在的硬盘速度远超过usb2.0的极限速度了(当然2.0下40M/s都很难达到 |
25
zhttty 2013-08-16 15:38:08 +08:00
@hedaors
@wog @miaoever @hedaors 1、U盘快的在于随机读取,突发读取快,其实就是省掉了机械硬盘机械部分寻址寻道和移动的过程,但是对于连续的读写,2.0的u盘远远慢于5400转的机械硬盘,3.0的u盘基本和7200转的机械硬盘相当。 2、swap是交换分区,不能说是内存,虚拟内存的叫法也不太妥当,操作系统仅有在虚拟内存不足的时候才会将内存中比较不活跃的数据移到swap中,好空出内存空间,这种反复交换的过程是非常消耗IO的,会很慢,相当于大批量的随机读写机械硬盘。 3、ssd固态硬盘和u盘都是无机械结构的,只不过ssd硬盘的算法比较先进,位宽也打很多,所以传输数据是3.0u盘的8~12倍,随机的读能力特别强,写能力稍一般,总体快过机械硬盘; 4、如果能有4块ssd做raid,然后将raid作为swap,速度勉强能达到ddr3 1333内存的速度,不过这成本和性价比只是比内存稍低罢了,应用价值不高。 |
27
Shieffan 2013-08-16 15:41:34 +08:00
真实内存访问延时 100clk more or less(2GHZ CPU 1clk不到1纳秒),i3 CPU内存带宽 25.6GB/s
硬盘平均寻道时间几毫秒,SATA3 带宽6Gb/s 速度600MB/s。 就算是SSD,latency也在几毫秒... 所以基本就不是在一个数量级的 |
28
Kvm 2013-08-16 16:29:55 +08:00
死磕硬盘。。。。。
|