Mac me664 8G 内存是不是够用呀。

metal · March 25, 2013 · Last by garychang replied at April 01, 2013 · 8525 hits

中午下了一单。也没多想。

刚刚搜索了一下,大家似乎觉得 8G 好像不够用一样,非得 665?

一般长期在运行的有一个图形处理软件,一个 IDE,一个虚拟机,至于后台的运行的服务,大家应该都差不多吧,mysql 肯定是在跑的,还有 apache 什么的,我是从来都不关软件的人。现在在用的机器 4G 还没有太大压力。

买个 4G 的,自己换 8G 内存,现在自己买内存比从苹果那买便宜多了

#1 楼 @NonTwitter 664 是焊接的,无法拆卸。

你说的是 mbp 664 吧?开虚拟机然后开一大堆软件的话,8g 确实不够。chrome 都吃掉我将近 1g 的内存了

#3 楼 @AlphaLiu chrome 启动就要 1G?

#4 楼 @metal 刚刚开不会,我开多了 tab,插件也多。 反正一开虚拟机,最悲惨的时候内存只剩 12m

你们在 Mac 下是怎么查看内存使用情况的?是直接通过 top 或者 Activity Monitor 查看 Free memory 的么?

Mac 跟 Linux 不一样,他的内存分配模式不是即时把内存释放给操作系统的,所以查看内存使用不是看还有多少 Free memory 而是看当前所有进程总共用了多少实际内存?虽然内存越大越好,但是我真心怀疑你当前所有进程使用的内存总量远远没有 8G,也远远没有达到系统需要频繁做磁盘 IO 交换的程度。

用下面这个脚本可以验证一下当前内存实际消耗:

#!/usr/bin/python

import subprocess
import re

# Get process info
ps = subprocess.Popen(['ps', '-caxm', '-orss,comm'], stdout=subprocess.PIPE).communicate()[0]
vm = subprocess.Popen(['vm_stat'], stdout=subprocess.PIPE).communicate()[0]

# Iterate processes
processLines = ps.split('\n')
sep = re.compile('[\s]+')
rssTotal = 0 # kB
for row in range(1,len(processLines)):
    rowText = processLines[row].strip()
    rowElements = sep.split(rowText)
    try:
        rss = float(rowElements[0]) * 1024
    except:
        rss = 0 # ignore...
    rssTotal += rss

# Process vm_stat
vmLines = vm.split('\n')
sep = re.compile(':[\s]+')
vmStats = {}
for row in range(1,len(vmLines)-2):
    rowText = vmLines[row].strip()
    rowElements = sep.split(rowText)
    vmStats[(rowElements[0])] = int(rowElements[1].strip('\.')) * 4096

print 'Wired Memory:\t\t%d MB' % ( vmStats["Pages wired down"]/1024/1024 )
print 'Active Memory:\t\t%d MB' % ( vmStats["Pages active"]/1024/1024 )
print 'Inactive Memory:\t%d MB' % ( vmStats["Pages inactive"]/1024/1024 )
print 'Free Memory:\t\t%d MB' % ( vmStats["Pages free"]/1024/1024 )
print 'Real Mem Total (ps):\t%.3f MB' % ( rssTotal/1024/1024 )

最后 Real Mem Total 将告诉你所有进程实际消耗的内存总量。

#6 楼 @lgn21st 这脚本是好东西。我内存剩 12m 的时候,磁盘交换就非常频繁了,完全感觉得到的...可能是我开机就启动的软件太多了...

#6 楼 @lgn21st 这个结果和 istat meau 显示的结果差不多

换了 8G 一样不够用,等到内存差不多占满开始用 swap 的时候还是会卡,换 SSD 效果比加内存显著多了

推荐直接上 ME665,我们团队里面 16G 的都很爽,8G 的都表示不够用。rMBP 不能自己加内存,所以选配置的时候直接上 16G 吧。

#6 楼 @lgn21st 这个挺好。

#6 楼 @lgn21st 好东西!感谢 Wired Memory: 1151 MB Active Memory: 1510 MB Inactive Memory: 995 MB Free Memory: 356 MB Real Mem Total (ps): 1726.855 MB

装了一天环境。终于弄好了。一点也不卡。8G 完全够用呀。

我终于理解那些强烈要求我入的人了!!!!

先闪,埋头挣钱去了。

@metal 换内存还要重整环境?

You need to Sign in before reply, if you don't have an account, please Sign up first.