Q100376: Pythonを使用して Nuke が使用するスレッド数を制限する

まとめ

この記事では、Pythonのinit.pyファイルを使ってNukeが使用するスレッド数を制限する方法について説明します。これは、 Nukeスレッド数を常にマシンで利用可能なスレッド数よりも少ない数に制限したい場合に便利です。

詳細情報

デフォルトでは、 Nuke使用するスレッド数を制限しないため、利用可能な CPU スレッドをすべて使用します。そのため、 Nuke大量の CPU リソースを使用する可能性があり、一部のマシンでは問題が発生する可能性があります。

Nuke使用中にパフォーマンスの問題が発生する場合は、 Nukeの実行スレッド数を減らすと改善される場合があります。これは、コマンドラインフラグを使用してNuke起動するか、init.py ファイルで Python カスタマイズを設定することで実現できます。

コマンドラインフラグ

Nuke使用するスレッド数を制限するには、ターミナルまたはコマンドプロンプトから-mフラグを付けて起動します。これは問題のトラブルシューティングに便利ですが、常にスレッド数を制限したい場合は、ターミナルまたはコマンドプロンプトからNukeを起動するのは必ずしも便利ではありません。

コマンドライン フラグの使用方法については、 「Q100117: -m フラグを使用してNukeでスレッドを制限する」を参照してください。

注: -mフラグは、init.py ファイルにリストされている設定を上書きします。

init.py ファイルでの Python のカスタマイズ

あるいは、 Nukeの Python API を使用して、ユーザーディレクトリ内の .nuke ディレクトリにある init.py ファイルにコマンドを追加することで、 Nuke起動するスレッド数を制限することもできます。各プラットフォームにおける .nuke ディレクトリのデフォルトの場所は次のとおりです。

  • Windows: C:\Users\<ユーザー名>\.nuke
  • macOS: /Users/<ユーザー名/.nuke
  • Linux: /home/<ユーザー名>/.nuke

.nuke ディレクトリの場所に関する詳細情報は、 Q100048: デフォルトの .nuke ディレクトリの場所に関する記事でも参照できます。

.nuke ディレクトリや、 Nukeカスタマイズのために起動時にスキャンされるその他の場所の詳細については、 Nukeのオンライン ドキュメントの「ギズモ、NDK プラグイン、Python および Tcl スクリプトのロード」も参照してください。

Nukeのスレッド数制限を設定するには、テキストエディタでinit.pyファイルを開き、 nuke .env['threads']の値を設定します。例えば、常に8スレッドで起動するには、以下のコードを追加します。

 nuke .env['threads'] = 8 

次回Nukeを実行すると、指定した数のスレッドで起動します。

注: init.py ファイルがまだない場合は、作成する必要があります。詳細については、次の URL を参照してください: Q100490: init.py および menu.py 起動スクリプト ファイルとは何ですか?

注意:コマンドプロンプトまたはターミナルから-mフラグを使用してNukeを起動すると、新しい値が上書きされます。

さらに詳しく

起動スクリプトの詳細については、 NukeユーザーガイドのNukeの設定セクションを参照してください。 およびNukeの Python 開発者ガイドに記載されています。

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください