使用 top instance 命令查看運行中 MaxCompute 做業

咱們都知道,在 MaxCompute Console 裏,可使用下面的命令來列出運行完成的 instance 列表。sql

show p|proc|processlist [from <yyyy-MM-dd>] [to <yyyy-MM-dd>] [-p <project>] [-limit <number> | <number>] [-all]
ls|list instances [from <yyyy-MM-dd>] [to <yyyy-MM-dd>] [-p <project>] [-limit <number> | <number>] [-all]


但不少時候,咱們但願能夠找出當前**正在運行的 instance** 。MaxCompute Console 新增了 top instance 命令來實現這個功能。(注意: MaxCompute Console 版本要 >= 0.28.0)code

 

一個最簡單的例子。blog

Snip20180302_24.png

 

從上圖能夠看到,當前 test_new_console_gcc 項目裏有一個正在運行的 SQL 做業。
列出的做業信息包括:Instance ID、Owner、做業類型、做業開始時間、當前執行進度百分比、做業狀態和詳細進度、做業優先級、當前所佔資源和做業總共使用的資源狀況、做業排隊的狀況。ip

 

下面咱們經過 help top; 命令來查看下這個命令的使用說明。ssl

 

Usage: top instance [options];
       -p <project>                  specify the project
       -status <running|suspended>   specify the instance status
       -limit <number>               specify the maximum number of queueing instance to show, default 50
       -d [<delay>]                  auto refresh every <delay> seconds, default 3
       -all                          list all instances, not only yours


其中:
-p 參數用於指定 project,默認是當前project;
-status 參數用來對 instance status 作過濾,默認不作過濾;
-limit 參數指定顯示的最大條數,默認爲 50;
-d 參數用於打開自動刷新顯示模式,並能夠指定自動刷新的間隔,默認是 3秒, 可使用 ctrl-c退出該模式;
-all 參數表示列出 project 裏全部正運行中 instance,包括其餘用戶的做業。ci

 

不少時候,咱們的一個複雜 sql 須要跑好久,不可能一直守在電腦面前盯着。當咱們回過頭想再追蹤這個做業時,就能夠先使用 top instance 命令找到運行中的 instance,而後再運行 wait <instance_id> 命令來從新跟蹤這個做業了。資源

 

不少時候,咱們發現做業跑的很慢,是否是資源被佔滿了呢?個人做業排在第幾位呢?當前有哪些做業在跑而且佔了多少資源?這時,能夠經過 top intance -all 命令來找到罪魁禍首 Instance,聯繫其 ProjectOwner 進行調整。 方法:Kill Instanceit

 

命令格式以下:io

kill ; --instance_id:實例的惟一標識符。必須是狀態爲Running的實例的ID,不然拋異常
相關文章
相關標籤/搜索