【问题标题】:How do I find a marathon runaway process如何找到马拉松失控过程
【发布时间】:2016-12-22 18:43:38
【问题描述】:

我有一个 mesos / marathon 系统,它在大多数情况下运行良好。有超过 20 个进程在运行,其中大多数只使用 CPU 的一部分。但是,有时(尤其是在开发过程中),进程会启动并开始使用尽可能多的 CPU。我可以在我的系统监视器上看到有一个固定的 CPU,但我不知道是什么马拉松进程导致了它。

是否有监控应用程序显示马拉松作业的 CPU 使用情况?随着时间的推移显示它的东西。这也有助于理解扩展和 CPU 要求。跟踪内存使用情况会很好,但对 CPU 来说是次要的。

【问题讨论】:

标签: mesos marathon


【解决方案1】:

您的代理(从)节点上似乎没有配置任何隔离机制。 mesos-slave 带有一个 --isolation 标志,默认为 posix/cpu,posix/mem。这意味着进程级别的隔离(几乎没有隔离)。使用cgroups/cpu,cgroups/mem 隔离将确保如果超过给定的内存限制,给定的任务将被内核杀死。内存是一个可以轻松实施的硬性约束。

限制 CPU 更复杂。如果您的机器为 Mesos 提供 8 个 CPU 内核,并且您的每个任务都设置为需要 cpu=2.0,那么您最多可以在那里运行 4 个任务。这很容易,但在特定时刻,您的 4 个任务中的任何一个都可能能够利用所有空闲内核。如果您的某些作业行为不端,它可能会影响在同一台机器上运行的其他作业。如需限制 CPU 使用率,请参阅 Completely Fair Scheduler(或相关问题 How to understand CPU allocation in Mesos? 了解更多详情)。

关于监控有很多可能性,请选择适合您要求的选项。您可以组合许多解决方案,其中一些是开源的其他企业级解决方案(以随机顺序):

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多