我的应用程序启动了许多线程来接收和发送数据,出现内存不足错误,我决定增加堆,以便应用程序在出现内存不足问题之前完成该过程。
a = [{'week': '23', 'total_entry': 1}, {'week': '23', 'total_entry': 4}, {'week': '24', 'total_entry': 2}]
from collections import defaultdict
j = defaultdict(int)
for i in a:
j[i['week']] += i['total_entry']
print(j)
当我检查内存使用情况时,发现没有按预期使用堆
java -Xmx5120M -jar peer100.jar config
}catch ( OutOfMemoryError e) {
System.out.println("out of memory");
MemoryUsage heapUsage = memoryBean.getHeapMemoryUsage();
long MEGABYTE = 1024*1024;
long maxMemory = heapUsage.getMax() / MEGABYTE;
long usedMemory = heapUsage.getUsed() / MEGABYTE;
System.out.println(" : Memory Use :" + usedMemory + "M/" + maxMemory + "M");
System.exit(0);
}
有什么解决方案可以处理堆的整体大小吗?