Performance

如何防止單個程序破壞我的桌面性能?

  • April 30, 2020

我必須使用Zoom進行影片會議(Linux 客戶端看起來像一個基於 Electron 的應用程序)。

每當我進行影片通話時,桌面的整體性能都會顯著下降。與桌面環境互動、切換標籤、使用網頁、輸入 Google 文件……都感覺非常緩慢且無響應。

我敢肯定,糟糕的客戶端實現應該歸咎於此,但不幸的是,我對此無能為力。我覺得有趣的是系統資源似乎並沒有完全耗盡。處理器(Core i7-8665U)的使用率約為 50-80%,並且有大量可用 RAM。所以直覺地說,應該有足夠的性能可用於其他任務。但事實並非如此。

為什麼會發生這種情況?例如,即使我人為地使 CPU 以 100% 執行(通過幾個無限的 for-cycles),桌面環境仍然保持響應。

我能做些什麼嗎?我可以以某種方式限制 Zoom,以便所有其他程序可以獲取它們平穩執行所需的任何資源嗎?我試圖玩niceorcpulimit但我唯一實現的是一個斷斷續續的影片通話,而沒有提高我的系統的響應能力。

作為記錄,我正在使用 Plasma 5.16 執行 Kubuntu 19.10。

對於這個涉及影片會議的特殊案例,結果令人驚訝:輸入延遲和無響應是由桌面效果引起的!

如果我關閉桌面效果(KDE / Kwin 有一個預設的快捷方式,Alt++ ShiftF12,桌面體驗會立即再次變得流暢。

您可以使用nice(1)ionice(1)的組合在命令行上啟動該程序(因此在終端中,使用您的互動式 shell ) 。

您還可以將 Zoom 程序呼叫包裝在 shell 腳本或 C 程序中,執行一些setrlimit(2)(例如RLIMIT_RTTIME,、、RLIMIT_NPROCRLIMIT_NICERLIMIT_AS

然而,影片電話會議非常消耗資源。沒有軟體解決方案可以克服對計算資源的需求。您可能想要降低影片解析度和頻寬。

所以直覺地說,應該有足夠的性能可用於其他任務。

也許您的 Zoom 是單執行緒的!(有關更多資訊,請參見pthreads(7)),在這種情況下,多核處理器無濟於事。

考慮通過最近的 Firefox 或 Chrome 瀏覽器使用Jitsi Meet 。它在法國被用於FramaTalk(一個非營利性協會,其伺服器在 2020 年 3 月因 Covid19 過熱),使您能夠降低影片解析度或頻寬。

引用自:https://unix.stackexchange.com/questions/575351