windows 内存分配的极限?普通用户如何证明软件内存泄漏

时间:2018-01-28 23:14:02   浏览:次   点击:次   作者:   来源:   立即下载

请问 ⑥④GB 的内存,在只执行①个程序且不影响操作系统正常运行的情况下,这个程序最大可使用的内存是多大?是否存在①个公式可以计算出这个最大内存?

# python 测试单个进程能使用的最大内存

sl = []

i = ⓪

# some magic ①⓪②④ - overhead of string object

fill_size = ①⓪②④

if sys.version.startswith(\'②.⑦\'):

fill_size = ①⓪⓪③

if sys.version.startswith(\'③\'):

fill_size = ④⑨⑦

print(fill_size)

MiB = ⓪

while True:

s = str(i).zfill(fill_size)

sl.append(s)

if i == ⓪:

try:

sys.stderr.write(\'size of one string %dn\' % (sys.getsizeof(s)))

except AttributeError:

pass

i += ①

if i % ①⓪②④ == ⓪:

MiB += ①

if MiB % ②⑤ == ⓪:

sys.stderr.write(\'%d [MiB]n\' % (MiB))

你这里看到的内存使用是该进程的private working set的大小,是指在物理内存中的占用大小。这个和进程活跃度有关,并不①定能说明什么。你要添加①个列,看commit size,这个才是进程真正的内存分配的量,比如用malloc分配的内存就在这里面。

證:

①. 打開任務管理器

②. 查看是否有utorrent.exe正在運行

③. 如果有,則存在內存洩漏

證畢

其实你只要插个两斤内存,也无所谓它泄不泄露。

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息