GUIアプリケーションがあり、別のXサーバーでテストを実行して並列にテストしたいと思います。これを行うには、XephyrまたはXvncを使用してアプリケーションを起動し、スクリプトを実行してテストすると機能します。
私が経験している問題は、Xephyr / XvncでGUIアプリケーションを実行するとCPU消費が非常に高く、CPU制限のために複数のテストを並列に実行できないことです。
GUIアプリケーションを実行してhtopを使用してCPU使用率を確認すると、CPU%が10〜50%程度表示されます。 XepyrまたはXvncを使用して同じアプリケーションを実行すると、CPU%は約200〜250%(4つのCPUベース)で表示されます。
Xephyr / Xvnc自体はオーバーヘッドを多く追加しないようですが、Xephyr / Xvncサーバー内で実行されるGUIアプリケーションは通常よりも5倍のCPUを消費しているようです。理由/解決策はありますか?
答え1
いくつかの検索の最後に問題と解決策を見つけました。問題は、アプリケーションがXepyrが提供しないグラフィックアクセラレータを使用していることです。これがなければ、CPUは通常よりも多くのタスクを実行し始めます。
解決策は、virtualglをインストールし、vglrun
コマンドを使用して呼び出す前にXephyr内でアプリケーションを実行することです。