获取Yarn应用程序的内存,CPU和磁盘使用情况

时间:2016-01-14 16:30:27

标签: memory mapreduce cpu-usage yarn

我想问一下,在我运行Yarn应用程序后,如何获得该应用程序的总内存和CPU使用率。

我曾经使用资源管理器UI来获取所有信息。 但除了从用户界面获取这些信息之外,还有其他任何信息 我可以用来获取信息的命令。

2 个答案:

答案 0 :(得分:3)

使用yarn application -status命令,您可以获取应用程序的Aggregate Resource Allocation

例如当我输入yarn application -status application_1452267331813_0009(对于我已完成的一个应用程序)时,返回的行之一是:

Aggregate Resource Allocation : 46641 MB-seconds, 37 vcore-seconds

这提供了以秒为单位的聚合内存和CPU分配。您可以查看以下答案:Aggregate Resource Allocation for a job in YARN,以了解此输出的含义。

除此之外,截至目前,还没有通过CLI公开其他内存或CPU相关指标。

答案 1 :(得分:1)

命令yarn top提供应用程序级别的资源利用率和运行时间。

请参见此线程,以了解如何将输出传递到文件https://stackoverflow.com/a/53782200/12693167

-帮助信息:

用途:纱顶

-cols终端上的列数

-delay刷新延迟(以秒为单位),默认为3秒

-帮助打印用法;在工具运行时寻求帮助,请按'h'+ Enter

-queues用逗号分隔的队列列表以限制应用程序

-行终端上的行数

-types用逗号分隔的类型列表,用于限制应用程序,区分大小写(尽管显示为小写)

-users用逗号分隔的用户列表以限制应用程序

“ yarn top”是一个工具,可以帮助群集管理员更好地了解群集使用情况。 有关实现的一些注意事项:

  1. 获取所有应用程序的信息对于RM来说是一笔昂贵的电话。 为防止性能下降,结果会缓存5秒钟, 与延迟值无关。有关NodeManager和队列的信息 利用率统计信息以指定的延迟间隔获取。一旦我们有一个 更好地了解性能影响,这可能会改变。

  2. 由于该工具是用Java实现的,因此必须按Enter键才能按 被处理。