【问题标题】:Continus Process virtual memory increase连续进程虚拟内存增加
【发布时间】:2013-01-21 11:24:45
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: memory process virtual


    【解决方案1】:

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

    【讨论】:

    • 嗨,我不明白你的意思,如果你用一个例子解释一下会更好。
    • 当所有旧任务都完成后,操作系统可以在我开始另一个任务时重用虚拟内存,但为什么虚拟内存又增加了?
    • @user1934378 当您在计算机上运行程序时,它需要内存。如果您运行两个程序,它会使用更多内存。这里也是一样,听起来你正在启动 1000 个线程(“程序”),每个线程都需要内存。
    • @user1934378 要记住的另一件事是虚拟内存是虚拟的。它不必与实际的物理内存相对应。
    • 是的,我同意你的观点,但是在所有线程退出之后,为什么虚拟内存使用量不会减少?
    猜你喜欢
    • 2014-03-28
    • 2013-12-13
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 2020-05-21
    • 2011-09-09
    • 2012-10-29
    相关资源
    最近更新 更多