减少python程序的内存占用

Fra*_*Fra 7 python numpy pandas

我正在使用numpy和pandas在python中开发一个数据分析工作器.我会部署很多这样的工作人员,所以我想保持它的轻量级.

我试过检查这段代码:

import logging
import resource
logging.basicConfig(level=logging.DEBUG)

def printmemory(msg):
    currentmemory = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
    logging.debug(msg+': total memory:%r Mb' % (int(currentmemory)/1000000.))

printmemory('begin')

#from numpy import array, nan, mean, std, sqrt, square
import numpy  as np
printmemory('numpy')

import pandas  as pd
printmemory('numpy')
Run Code Online (Sandbox Code Playgroud)

我发现只需将它们加载到内存中就会让我的工作人员变得非常沉重.有没有办法减少numpy和pandas的内存占用?

否则,有关更好解决方案的任何建议吗?

小智 2

很遗憾地告诉你,没有办法只将 python 模块的一部分加载到内存中。如果适用于您的情况,您可以使用多线程 - 线程可以共享相同的模块内存。