2013-01-21 57 views
0

我的应用程序将尝试将文件数据从一个文件复制到另一个文件,所以我启动1000个任务将执行此操作,然后进程虚拟内存将增加。我的问题是在1000个任务完成之后,然后仍然运行一个任务,然后为什么虚拟内存会增加?Continus进程虚拟内存增加

我用top命令来检查进程的内存使用情况,甚至使用libumem也检查了任何内存泄漏。

请帮我理解为什么虚拟内存会增加。

添加更多数据。 当我多次执行相同的操作时,每次虚拟内存不会增加,但有时会增加内存。我无法理解这种增长的真正原因。即使我也检查了内存泄漏,但没有内存泄漏。并且该操作包括corba调用。

回答

0

每个“任务”,不管是什么,当然都需要资源来运行。这些资源包括内存,包括系统结构和您使用的数据。

+0

嗨,我不明白你的观点,如果你用一个例子来解释,它会更好。 – Naveen

+0

当所有的旧任务完成后,当我开始另一项任务时,os可以重新使用虚拟内存,但为什么虚拟内存又增加了? – Naveen

+0

@ user1934378在计算机上运行程序时,需要内存。如果你运行两个程序,它会使用更多的内存。这里是一样的,这听起来像是你启动了1000个线程(“程序”),每个线程都需要内存。 –