JSON磁盘/内存大小比



我以这样一种方式编写了我的json结构,即文件(经过一个月的测量)在存储在磁盘上时仍然只有大约100 mb。然而,文件现在大约是20mb,但我看到我的脚本需要的内存大约是200/300 mb。显然,脚本和编译器需要内存,但它是真的,将json txt加载到内存作为实际json增加内存大约8倍的txt文件的大小(使用process.memoryUsage()测量)?我需要数据不断地留在内存中,因为其他函数在用户请求时需要数据。我只把它保存到一个文件中作为备份。然而,在这个速度下,我的服务器将无法处理脚本。

有谁能证实这确实是事实吗?如果是这样,你认为我该如何减少内存负荷?

Json文件大小表示为当前使用的实际字节数。

RAM会有所不同。取决于所使用的语言和变量类型。根据文档,该语言在分配RAM时将使用值类型size。

"许多"

{: 1}

在文件中使用1字节,但在内存中分配时使用8字节(在Java中)

为了简化,您可以估计RAM使用量将是文件大小乘以最大类型。所以,是的,文件大小乘以8是一个很好的估计。

Edit:

另外,请记住变量名(字符串)将占用文件大小,而ram指针将占用更多的文件大小

编辑2:

And if so, how would you suggest I could reduce memory load?

我们需要更多关于你们系统或需求的信息。但大致来说,信息隔离越多越好。

我有一个有3200个传感器的系统,预计总共有7000个。对于我的系统,我的每个"文件输出"都有100个注册表,每个注册表最多有10个字段。这意味着通常是一个~30kb的文件,每个文件使用多达300kb的RAM,然后我可以让一个分布式服务读取一个文件,处理该文件,并在需要的地方重新输出它。

如果可以,那么每次使用具有少量数据的多个文件,一旦处理完一个文件,移动到下一个

最新更新