想问下 windows 7 开发, 8G 内存提升到 16G 的话,这种提升感受明显吗?

2017-01-17 13:47:06 +08:00
 inkWave
系统是 win7 64 位,硬盘是固态。一上班就打开的就是 eclipse (可能会开两个), chrome (一般 15 个 tab 左右), QQ,微信,网易云音乐。
个别时候会另外同时开 sqlserver 2008 和 vs 。想问下我这种情况,如果把内存从 8G 升到 16G ,这种提升会在开发的时候明显感受到吗?
2856 次点击
所在节点    问与答
15 条回复
loading
2017-01-17 13:56:57 +08:00
你看看内存占用吧……

cpu 如何呢?
canfoderiskii
2017-01-17 14:09:06 +08:00
32G 路过
inkWave
2017-01-17 14:19:32 +08:00
@loading
内存一般 70%多 80%。
CPU 是 i5-4590@ 3.30GHz
gam2046
2017-01-17 14:25:51 +08:00
Eclipse 是吃内存的大户
Chrome 是吃内存的大户
Visual Studio 是吃内存的大户
SQL Server 是吃内存的大户

这些都能理解,但是 QQ 音乐和网易云音乐一起开,是什么鬼?左耳听一个,右耳听一个?貌似也没这功能......

你可以在现有配置上,打开那些并使用一段时间(特别是 Eclipse 、 Chrome 、 VS ),如果使用一段时间后,可用内存较少,比如不到 1.5G 甚至更少,可以加内存,并且会有感知上的提升。因为此时希望已经将很大一本数据丢到虚拟内存了。

通常在开发阶段,只是敲代码, CPU 是不太会成为瓶颈的。通常 IDE 的反应慢了,或者智能提示很卡,都是硬盘或者内存的锅。
liuzhiyong
2017-01-17 14:31:47 +08:00
@gam2046 哈哈,我猜他应该是有的歌曲是某平台独有的—— QQ 有,网易没有;或者网易有 QQ 没有。
D3EP
2017-01-17 14:44:23 +08:00
公司笔记本 8g , 256g win7 , IDEA chrome 卡的不行。换成 win10 ,好了很多。
hack
2017-01-17 14:57:22 +08:00
32 吧
honeycomb
2017-01-17 15:14:52 +08:00
@inkWave

已经到 70~80%了
那是很值得加一根内存条的

举个不太恰当的例子:

固态硬盘未使用的空间分别是 50%, 25%, 12.5%时,随机写入性能,写入放大系数(等于因垃圾回收,损耗平衡等造成的额外读写的比例)相差很大。

类似的,在只剩下 2G 空闲内存与只剩下 10G 空闲内存时,分配内存的压力肯定是不一样的。
何况目前的 Windows 也会像其它系统一样,把常用的数据预读到内存里,如:

16G 内存
已用 6.0GB ,可用 9.3GB ,在那 9.3GB 里还缓存者 6.0GB 的数据。
如果系统需要申请内存,就会优先卸载掉相应缓存,从中分配。
如果申请的内存正好是缓存的内容时,系统便能直接返回结果。
mazyi
2017-01-17 15:49:19 +08:00
不能说明显,效果肯定有
ppwangs
2017-01-17 15:49:37 +08:00
记得关掉虚拟内存,爽的一笔。
iloveayu
2017-01-17 15:59:00 +08:00
@gam2046
@liuzhiyong
楼主就打错一个逗号,你们这么黑他,我只好手动眼斜。
inkWave
2017-01-17 17:16:07 +08:00
@iloveayu 没明白为什么会看成 QQ 音乐和网易云音乐,中间还有个微信吖。
inkWave
2017-01-17 17:17:05 +08:00
@honeycomb 学到了,非常感谢!
ryd994
2017-01-17 18:58:12 +08:00
@honeycomb 到 70%加内存是对的,但你说的不全对,写入放大也不是你说的那样
操作系统会用空闲内存做缓存,所以空闲内存少了,硬盘 IO 多,体验就差。这里的缓存是磁盘缓存,是所有用过的文件内容,并不是你说的 9 和 6 ,不然缓存和已用内存有什么区别?
写入缓存也是与内存压力有关的,内存压力高,系统会增加刷缓存的频率,来尽可能回收可用内存
写入放大是 SSD 4k 不对齐的时候的问题,和分区有关,和空闲空间无关
SSD 剩余空间少会减寿是因为冷数据占着位置,热数据只能反复读写剩余空间,根本没法磨损平衡
honeycomb
2017-01-18 02:08:20 +08:00
----操作系统会用空闲内存做缓存,所以空闲内存少了
----不然缓存和已用内存有什么区别

并不是这样的,已缓存的内存依然被视作空闲内存(以 taskmgr 的可用内存为例)
如果已缓存的内存只占空闲内存的一小部分时(比如总内存 32G , 64G 甚至更多),分配内存时,系统自然会更倾向于不丢弃这些缓存而已。

----写入放大是 SSD 4k 不对齐的时候的问题
写入放大的原因有 2 :
1 ,闪存随机写的粒度能精细到块(与非叠瓦式硬盘一致),而随机删除的能力更差,只有页的程度,这是根本原因。
2 ,磨损平衡的要求,冷数据占用多也会增加写入放大。

4K 未对齐会加大写入放大,但它是一个次要原因

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/335142

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX