【问题标题】:How to prevent Matlab from falling asleep如何防止matlab打瞌睡
【发布时间】:2014-02-13 04:14:44
【问题描述】:

我正在使用 Matlab R2010b 作为一堆外部工具的驱动程序。基本上,Matlab 会进行一些数据转换,将内容写入磁盘,使用 system 调用外部脚本等等。

我从来没有遇到过在 Matlab 中需要几天的批处理计算问题,但显然我现在做错了。不时地,不定期地,管道完全堵塞。什么都没有发生,没有调用外部脚本,爱的劳动丢失了。在 Matlab 中按下 ctrl+c 会让事情再次发生。因此,我认为问题出在 Matlab 上。

管道中没有暂停,我也没有使用任何睡眠排序变体。阻塞发生在代码中完全随机的位置,并且似乎在完美运行至少一小时后开始发生。由于 Matlab 代码基本上是一个巨大的循环,这对我来说完全是个谜(逻辑假设,如果循环体工作一次,它应该继续工作)。

它似乎与电源管理没有任何关系(就像我说的,我过去成功地完成了许多长时间的计算)。这就是为什么我认为它与 Matlab + 脚本的组合有关。

有没有人经历过类似的事情(并且希望能够解决它)?

【问题讨论】:

  • 好吧,阅读您的描述,我不会为此责怪 Matlab。这是系统中Matlab进程的一些问题(它正在等待一些资源或类似的东西)。系统中的事件有什么异常吗?您是否测试过系统病毒、测试内存、测试磁盘?你能把整个系统放在另一台机器上吗?
  • @hesar 我找不到任何异常事件。我有足够的可用内存/硬盘空间,当管道停止时,所有内核上的 CPU 使用率都会下降到空闲水平(例如,没有竞争进程)。也没有发现病毒。我认为内存和磁盘都很好,因为我使用 Matlab 以外的其他东西作为驱动程序的类似过程可以正常工作(Python)。
  • 某处是否存在 java 泄漏? IE。当您增加 Java 堆内存时,问题是否会消失/需要更长时间才能出现?
  • @Jonas 好主意!我会试试看会发生什么。
  • 这是什么操作系统?计算机是否在网络上?还有什么在运行?如果它再次发生,您应该检查 Matlab 的内存和 CPU 使用情况(大概这些不应该在您的脚本运行时发生太大变化)。当然,当涉及到现实世界中真实硬件上的真实软件时,“逻辑假设循环体一旦工作就应该继续工作”远非如此。

标签: matlab


【解决方案1】:

您可以让您的 Matlab 忙于处理较大作业之间的较小作业。这可能会揭示有关您的系统的一些信息。从大量较小的作业开始,然后是少量较大的作业,获得某种瓶颈阈值...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 2022-11-28
    • 1970-01-01
    • 2017-09-16
    • 2019-03-30
    • 2014-10-04
    相关资源
    最近更新 更多