Memory management Gnuplot内存不足

Memory management Gnuplot内存不足,memory-management,gnuplot,Memory Management,Gnuplot,我正在使用Gnuplot绘制图形。 问题是,当它工作时,由于内存使用率高,它不能正常工作,或者在几分钟内被杀死 我的笔记本电脑内存是4GB。如果文件大小在1GB到1.5GB之间,则为。 实际上,我是C语言和gnuplotting的初学者。我无法理解的是,为什么这部“看起来简单”的作品会占用这么多的记忆。这只是t和x之间的匹配点 我将在下面写下文件的一部分。我写在终端上的代码是 plot "fl1.dat" u 1:2 linetype 1. 1.00000e+00 1.88822e-01 2.

我正在使用Gnuplot绘制图形。 问题是,当它工作时,由于内存使用率高,它不能正常工作,或者在几分钟内被杀死

我的笔记本电脑内存是4GB。如果文件大小在1GB到1.5GB之间,则为。 实际上,我是C语言和gnuplotting的初学者。我无法理解的是,为什么这部“看起来简单”的作品会占用这么多的记忆。这只是t和x之间的匹配点

我将在下面写下文件的一部分。我写在终端上的代码是

plot "fl1.dat" u 1:2 linetype 1.
1.00000e+00 1.88822e-01

2.00000e+00 3.55019e-01

30.00000e+00-1.74283e+00

40.00000e+00-2.67627e+00

我唯一能做的就是增加内存,或者在实验室里使用电脑


谢谢。

绘制数据文件是为了查看某些数量的整体或全局行为,而不是仅从数据文件中查看其值的局部行为。在你的例子中,我认为你不需要绘制文件中的每一个点,因为文件很大,绘制所有的点似乎没有意义。因此,我建议如下:

pl 'fl1.dat' u 1:2 every 10

这将只绘制每10个点,但如果有两个或多个点的间距非常小,那么仍然可以很好地显示绘图的全局行为。请记住,这不会连接各个点。如果您仍然想要一条连续的线,我建议创建另一个数据文件,其中每10个文件一个,然后像往常一样用线来绘制

另一件需要注意的事情是,选项的选择会对内存消耗产生巨大的影响:交互式窗口或矢量格式将消耗更多的内存(我想这是因为这些格式跟踪每个数据点,尽管正如和平所强调的,您可能不需要所有这些点)。因此,减少内存消耗的快速方法可能是将输出终端设置为大小适中的png,例如:

set terminal png size 1000,1000
set output "mygraph.png"

你有多少个数据点?32位系统或32位gnuplot?系统为64位。我对gnuplot不是很确定。我怎么检查?然后,数据点是4e7。当启动gnuplot时,它会告诉您构建系统。绘制如此大的文件时,32位构建也会出现内存不足错误。64位构建绘制数据,但根据使用的输出终端,开始交换do磁盘。顺便问一下:你希望从4000万个数据点看到什么?我的gnuplot是64个构建的。我重新检查过了。事实上,我一点感觉都没有。我真不明白是什么让我失去了那么多回忆和时间。对我来说,这似乎是非常简单的作品。