2016-12-16 69 views
0

我有一個mesos /馬拉松系統,它在大多數情況下運作良好。有超過20個進程正在運行,其中大多數只使用CPU的一部分。但是,有時(特別是在開發過程中),一個進程將啓動並開始使用盡可能多的CPU。我可以在我的系統監視器上看到有一個掛鉤的CPU,但我無法確定馬拉松過程是由什麼造成的。我如何找到一個馬拉松跑步過程

是否有顯示器應用程序顯示馬拉松作業的CPU使用率?隨着時間的推移顯示它的東西。這也有助於理解縮放和CPU需求。跟蹤內存使用情況會很好,但是對於CPU來說是次要的。

+0

的可能的複製[如何衡量Mesos每個容器的CPU利用率?](http://stackoverflow.com/questions/40346667/how-to-測量最CPU利用率-的-每個容器合mesos) – janisz

回答

2

看起來您沒有在代理(從屬)節點上配置任何隔離機制。 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?以獲取更多詳細信息)。

關於監測有很多可能性,請選擇一個適合您的要求的選項。您可以組合許多解決的,有些是開源的其他企業級解決方案(排名不分先後):