当前位置: 华文问答 > 数码

使用内存超过32G(含)的电脑是种怎样的体验?

2019-11-21数码

最近有了一点新的体验,看到电脑内存占用率到了80%,就觉得是不是程序开的太多了,应该关掉一点释放内存,然后看了一下剩余内存18G,哦,那就没事了

其他答主似乎都是公款消费,自费超过32G的似乎不多……

自己家里的电脑

96G内存

TR 2920X 12核24线程

电脑配置

自己业余写了一个项目赚外快,因为架构需要大量的电脑,于是用Hyper-V 跑生产

这台电脑上除了这些VM,我还用来做开发(python为主)

玩WoWS

看电影

最初配置32G内存,没想到不到一个星期就发现不够用,但是自己傻逼买了个4插槽的主板又配了8G*4的内存条,于是只好重新买了16G*4的内存条回来升级

前几个月因为业务需要开更多的虚拟机,于是乎64G也不够用了,只好又买了2根32G内存回来

所以……巴黎地区出64G内存,价格好商量 >_<!

这个故事教育我们买内存条不要买8G的,最好一步到位

这个故事教育我们买内存条不要买8G的,最好一步到位

这个故事教育我们买内存条不要买8G的,最好一步到位

至于体验:

古人云:要想程序跑得快,数据全部进内存

有一次要写个程序处理一个12GB的文件

先写了一个传统程序

f = fopen () line = f . readline while line : line = f . readline () my_method ( line ) close ( f )

这样浪费大量时间在硬盘IO上面,python底层的C代码调用的windows API应该是以32M的缓存去硬盘上读取数据的,即使用的是SSD,跑一遍要好几个小时

然后反应过来了,我TM内存大啊!数据全部进内存啊!

于是乎

f = fopen () data = f . readlines () close ( f ) for line in data : my_method ( line )

M.2 SSD的连续数据读取速度在2G/s以上,所以12G数据只要不到10秒就可以全部加载到内存里

改进后的程序只要十几分钟就可以跑完