編集不可のページ History 添付ファイル

 

TUT HPC Cluster Wiki: "ClusterSystemTips"の差分

15と33のリビジョン間の差分 (その間の編集: 18回)
2017-04-17 10:28:35時点のリビジョン15
サイズ: 7276
編集者: s143369
コメント:
2025-06-09 12:32:26時点のリビジョン33
サイズ: 13121
編集者: yi041
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
[Japanese|[[en/ClusterSystemTips|English]]]
行 4: 行 6:
行 7: 行 8:
<<TableOfContents(maxdepth=3)>>
行 8: 行 11:

研究ユーザの情報交換用メーリングリストの過去ログは,
http://lists.imc.tut.ac.jp/pipermail/research-users/
で見れます.
研究ユーザの情報交換用メーリングリストの過去ログは, http://lists.imc.tut.ac.jp/pipermail/research-users/ で見れます.
行 14: 行 14:
行 18: 行 17:
-bash-4.1$ /usr/bin/time --version $ /usr/bin/time --version
行 21: 行 20:
-bash-4.1$ /usr/bin/time -v whoami
my016
        Comma
nd being timed: "whoami"
        User time (seconds): 0.00
        System time (seconds): 0.00
        Percent of CPU this job got: 0%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
$ /usr/bin/time -v perl -e '"x" x 400 x 1024 x 1024'
        Comm
and being timed: "perl -e "x" x 400 x 1024 x 1024"
        User time (seconds): 0.08
        System time (seconds): 0.15
        Percent of CPU this job got: 98%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.24
行 32: 行 30:
        Maximum resident set size (kbytes): 3088         Maximum resident set size (kbytes): 411772
行 35: 行 33:
        Minor (reclaiming a frame) page faults: 243
        Voluntary context switches: 3
        Minor (reclaiming a frame) page faults: 47885
        Voluntary context switches: 15
行 46: 行 44:
}}}

メモリの使用量は Maximum resident set size で知ることができますが, v1.7 には実際の4倍で表示されるという既知のバグ(実使用量は表示された値の4分の1)があります([[http://qiita.com/guicho271828/items/2ad3df13e915ecbb9cac|GNU Time にある壮大なバグ]]).

$ /usr/bin/time -f %M perl -e '"x" x 400 x 1024 x 1024'
411900
}}}
メモリの使用量は Maximum resident set size で知ることができます.また, -f %M を指定することでメモリの使用量のみを出力することもできます.
行 52: 行 52:
== 投入しているジョブの一括削除 ==

一般のユーザには qdel コマンドのオプション all が許可されておらず,また,オプション -t が正常に作動しないため,投入しているジョブの一括削除には,以下のようなスクリプトを利用します.

{{{#!highlight sh
#!/bin/bash

if [ $# -ne 1 -a $# -ne 2 ]; then
    echo "Usage: bash $0 [ 'all' | firstId lastId | lastId ]"
    exit
fi

# 第一引数が数値か否か
if expr "$1" : '[0-9]*' > /dev/null ; then
    ids=`seq $1 $2`
else
    ids=`qstat | cut -d . -f 1 | tail -n +3 | column`
fi

echo qdel $ids
qdel $ids
}}}

第一引数に all を指定することにより,投入しているジョブ(実行中か否かは問いません)の全てを削除します.また,第一引数及び第二引数を利用することにより,削除するジョブIDの範囲を指定することもできます.実行スクリプトを qdel.sh としたとき,以下のように実行します.

{{{
-bash-4.1$ bash qdel.sh all

-bash-4.1$ bash qdel.sh 100 200
}}}

== 任意のコマンドをジョブ投入するスクリプト ==

qsub コマンドの -v オプションを利用すると,実行スクリプトに任意の環境変数を渡すことができます.この機能を利用し,演算ノードに任意のコマンドを実行できるようにしたものが以下のスクリプトです.なお,標準エラー出力は標準出力とともに出力し(-j oe),実行時間及び実行ノードを記録するためのコマンド(date, hostname)も含まれています.

{{{#!highlight sh
#!/bin/bash
#PBS -l nodes=1:ppn=1
#PBS -q wLrchq
#PBS -j oe

cd $PBS_O_WORKDIR

date
hostname
echo "$JOB_CMD"
eval "$JOB_CMD"
date
}}}

実行スクリプトを qsub.sh としたとき,以下のように JOB_CMD に任意のコマンドを指定してジョブを投入します.

{{{
-bash-4.1$ qsub -v JOB_CMD="/usr/bin/time -v perl i_love_cats.pl" qsub.sh

-bash-4.1$ qsub -v JOB_CMD="perl catching_cats.pl | perl counting_cats.pl" qsub.sh
}}}

== キューにあるすべてのユーザのジョブ一覧 ==

{{{/usr/local/maui/bin/showq}}}コマンドを使うと,キューにある他のユーザも含めたジョブ一覧を確認することができます.

行 116: 行 53:
行 126: 行 62:
行 128: 行 63:
行 141: 行 75:
行 144: 行 77:
== ジョブの割り当て順序 ==
=== 広域連携教育研究用クラスタ ===
ジョブスケジューラは wsnd30, wsnd29, ..., wsnd00 のようにホスト番号の大きい演算ノードから順にジョブを割り当てる.

{{{#!wiki comment
=== 次世代シミュレーション技術者教育用クラスタ ===
ジョブスケジューラは csnd02, csnd03, ..., csnd27, csnd00, csnd01 のように基本的にホスト番号の小さい演算ノードから順にジョブを割り当てる. csnd00, csnd01 は GPGPU が搭載されたノードであるため,最後に割り当てられる.
}}}
== ラッパーツールの設定・利用 ==

3系の [[http://www.cs.tut.ac.jp/~yoshida/|吉田]] が作成した,クラスタを対話式に近い形で利用するためのツールの設定方法と利用方法.

=== 設定方法 ===

ホームディレクトリ直下の bin にツールへのシンボリックリンクを作る.
{{{
$ mkdir ~/bin
$ ln -s /work/my016/tool/qcmd.sh ~/bin/qcmd
$ ln -s /work/my016/tool/qwatch.pl ~/bin/qwatch
}}}

~/.bash_profile に以下の3行を追記する(ホームディレクトリ直下の bin に PATH を設定).
{{{
if [ -d "$HOME/bin" ] ; then
  export PATH="$HOME/bin:$PATH"
fi
}}}

~/.bashrc に以下の3行を追記する.
{{{
alias qdelall='bash /work/my016/tool/qdel.sh all'
alias qdelqueue='bash /work/my016/tool/qdel.sh queue'
alias qdelrun='bash /work/my016/tool/qdel.sh run'
}}}

再度,ログインする.

=== ジョブ投入コマンド(qcmd) ===

qcmd は任意のコマンドをクラスタのノード上で実行するためのツールです.

{{{
$ qcmd
Usage: [Q=QueueName] [S=select] [V=vhost] [C=ncpus] [G=ngpus] [M=Req'd Memory (gb)] [W=Req'd Time (hour)] [J=JobName] [AO=afterok:JobID] [DOCKER_IMAGE|SINGULARITY_IMAGE=image] qcmd [-I|command|-- executable]
}}}

 * Q: ジョブを投入するキュー名(default: S, C, G, M, Wの値に応じて最適なもの)
 * S: 必要ノード数(default: 1)
 * V: 実行するノード(default: 未指定)
 * C: 1ノードあたりの必要CPU数(default: 1)
 * G: 1ノードあたりの必要GPU数(default: 0)
 * M: 1ノードあたりの必要メモリ量(default: 6,単位: GB)
 * W: ジョブの制限時間(default: 24,単位: hour)
 * J: ジョブ名(default: qcmd)※qstatなどで表示される名前

実行例
{{{
$ qcmd ps aux
$ qcmd /usr/bin/time -v perl i_love_cats.pl
$ M=20 qcmd /usr/bin/time -v perl i_love_fat_cats.pl
$ qcmd "perl catching_cats.pl | perl counting_cats.pl"
}}}

 * 通常は qcmd の後ろに実行したいコマンドを指定すれば,(Vによるノードの指定がなければ)任意のノードで実行されます.その実行結果(標準出力の内容)は,カレントディレクトリの [JobName].o[JobID] というファイルに出力されます.
 * オプションは qcmd の手前に記述します.
 * パイプ(|)やリダイレクト(>)を利用する場合には,コマンド全体をダブルクォート(")で括ります.
 * コンテナが指定されない場合,「SINGULARITY_IMAGE=imc.tut.ac.jp/centos7:2019.09」という窓口サーバ相当コンテナが自動選択されます.
 * コマンドの代わりに -I を指定すると,インタラクティブ実行になります.この場合の W のデフォルト値は 12 です.
 * qcmd -- ps aux のように -- を付けてコマンドを指定した場合, qsub -- executable のモードで実行されます.
 * qsub を呼び出す際に -V を指定しているため,全ての環境変数が引き継がれます.ただし,-- executableによる実行の場合,環境変数PATHが引き継がれない場合があります.

~/.bash_profile に以下の3行を追記すると,「qcmd -I」のインタラクティブ実行を,実行時のディレクトリに移動した状態で起動できます.
{{{
if [ -n "$PBS_O_WORKDIR" -a "$PBS_ENVIRONMENT" = "PBS_INTERACTIVE" ]; then
  cd "$PBS_O_WORKDIR"
fi
}}}


=== クラスタ確認コマンド(qwatch) ===

qwatch はクラスタの稼働状況を確認するためのツールです.

{{{
$ qwatch -h
Usage:
    perl qwatch.pl [Options]

Options:
    -h, --help
        標準出力に使用方法のメッセージを出力して正常終了する。

    -n, --node
        ノードの情報を表示する。--fields-nodeの指定は無視される。

    -u, --user
        ユーザの情報を表示する。--fields-userの指定は無視される。

    -j, --job
        ジョブの情報を表示する。--fields-jobの指定は無視される。

    -m, --mine
        ジョブの情報を表示する際,自身のジョブの情報に限定する。

    --fields-node
        出力するノードのフィールドをカンマで区切る。

    --fields-user
        出力するユーザのフィールドをカンマで区切る。

    --fields-job
        出力するジョブのフィールドをカンマで区切る。
}}}

実行例
{{{
$ qwatch
$ qwatch -jm
}}}

あなたのジョブが実行されているノードは,UsersやNodesを確認することで分かります.

あなたが指定したncpusの値を100倍したものとCPU(%)の値との間に,著しい乖離がないかを確認してください(特にncpusを2以上にしている場合).もし,ncpus=28を指定しているにもかかわらず(TSKが20になります),CPU使用率「CPU(%)」が75であれば,非常に非効率な実行になっている可能性が高いです(1つのCPUも使い切っていない).

=== ジョブ削除コマンド(qdelall, qdelqueue, qdelrun) ===

~/.bashrc で設定したエイリアスにより,以下の3コマンドが利用可能になります.

 * qdelall
  * 投入したジョブを全て取り消す
 * qdelqueue
  * 投入したジョブのうち,実行待ちジョブ(キュー)のみを取り消す
 * qdelrun
  * 投入したジョブのうり,実行中のジョブのみを取り消す

=== ANSYS が実行できない場合 ===

■端末を2つ開き,端末1と端末2にて同じxdev(例:xdev09.edu.tut.ac.jp)に接続する

{{{
端末1:$ ssh -X xdev09.edu.tut.ac.jp -l IMCアカウント
端末2:$ ssh -X xdev09.edu.tut.ac.jp -l IMCアカウント
}}}
■ターミナル1にて別の任意のxdev(例:xdev08.edu.tut.ac.jp)に接続する

{{{
端末1:$ ssh -X xdev08
}}}
■端末1にてコンテナを起動する

{{{
[es006@xdev08 ~]$ qsub -q wEduq -I -X -l select=1:ncpus=2:mem=8g:ngpus=0:vnode=xsnd01 -v DOCKER_IMAGE=prg-env:2019.10.03
qsub: waiting for job 853714.xregistry0 to start
qsub: job 853714.xregistry0 ready

Access Port:
        <proto>://133.15.52.213:6048/ -> container port 22

[es006@xsnd01-853714-xregistry0 es006]$ hostname
xsnd01-853714-xregistry0
[es006@xsnd01-853714-xregistry0 es006]$ env |grep DISPLAY
DISPLAY=localhost:50.0
}}}
■最後のCookie値を確認

{{{
[es006@xsnd01-853714-xregistry0 es006]$ xauth list |grep :50
xsnd07.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 d87479acccfef58985781b575f3d4eb4
xsnd04.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 34c0617d410bafafa162a350aa55db0a
xsnd00.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 ee073eccf8726d2e97896ed6363ebe11
xsnd03.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 ee073eccf8726d2e97896ed6363ebe11
xsnd02.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 13cee90ba6b5e5b375a25bd40cf2ea34
xsnd01.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 01c509a89b41a533f80d7f86a9711f3d ←★これ
}}}
■端末2でxauth add を行う

{{{
[es006@xdev09 ~]$ xauth add xsnd01-853714-xregistry0/unix:50 MIT-MAGIC-COOKIE-1 01c509a89b41a533f80d7f86a9711f3d
}}}
■端末1で追加されたことを確認

{{{
[es006@xsnd01-853714-xregistry0 es006]$ xauth list |grep :50
xsnd07.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 d87479acccfef58985781b575f3d4eb4
xsnd04.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 34c0617d410bafafa162a350aa55db0a
xsnd00.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 ee073eccf8726d2e97896ed6363ebe11
xsnd03.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 ee073eccf8726d2e97896ed6363ebe11
xsnd02.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 13cee90ba6b5e5b375a25bd40cf2ea34
xsnd01.edu.tut.ac.jp/unix:50 MIT-MAGIC-COOKIE-1 01c509a89b41a533f80d7f86a9711f3d
xsnd01-853714-xregistry0/unix:50 MIT-MAGIC-COOKIE-1 01c509a89b41a533f80d7f86a9711f3d ←★これ
}}}
■端末1でANSYS起動 ※時間がかかります

{{{
[es006@xsnd01-853714-xregistry0 es006]$ module load ansys19.r2
[es006@xsnd01-853714-xregistry0 es006]$ /common/ansys_hfss-19.r2/AnsysEM19.4/Linux64/ansysedt
ANSYS Electromagnetics 19.4 Configuration
=========================================
Hostname: xsnd01-853714-xregistry0
User: es006

> Running first-time configuration...
  - Verifying all software dependencies are available:
Done

  - Retrieving user settings... Done
  - Applying user settings... Done
  - Configuring OCX files... Done
  - Retrieving machine settings... Done
  - Applying machine settings... Done
  - Configuring binaries... Done
First-time configuration completed successfully.
}}}

[Japanese|English]

クラスタシステム利用の Tips

クラスタシステム利用にあたって気づいた便利なノウハウなどの記入をお願いします.ログインすることで編集できるようになります.

研究ユーザ情報交換用メーリングリストの過去ログ

研究ユーザの情報交換用メーリングリストの過去ログは, http://lists.imc.tut.ac.jp/pipermail/research-users/ で見れます.

使用リソース(メモリ使用量など)の計測

プロセスが使用したリソース(メモリ使用量など)は GNU 版 time コマンド(/usr/bin/time)で計測できます.オプション -v を利用することで,以下のようにプロセスが使用したリソースの詳細が表示されます(Man page of TIME).

$ /usr/bin/time --version
GNU time 1.7

$ /usr/bin/time -v perl -e '"x" x 400 x 1024 x 1024'
        Command being timed: "perl -e "x" x 400 x 1024 x 1024"
        User time (seconds): 0.08
        System time (seconds): 0.15
        Percent of CPU this job got: 98%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.24
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 411772
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 0
        Minor (reclaiming a frame) page faults: 47885
        Voluntary context switches: 15
        Involuntary context switches: 1
        Swaps: 0
        File system inputs: 0
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

$ /usr/bin/time -f %M perl -e '"x" x 400 x 1024 x 1024'
411900

メモリの使用量は Maximum resident set size で知ることができます.また, -f %M を指定することでメモリの使用量のみを出力することもできます.

GNU 版 time コマンドはクラスタの演算ノードでも利用できますが,結果が標準エラー出力であることに留意する必要があります.

ジョブの実行状態を繰り返し表示

投入したジョブがどのような状況かを表示する場合には, watch コマンドを併用すると便利です.以下のように実行すると,5秒間隔で繰り返し実行され,常に最新の状態を把握することができます.また,オプション -d を指定すると,前回との差分がハイライトされます.なお,繰り返し実行するコマンドにエイリアスは指定できません.

-bash-4.1$ watch -n 5 qstat -a

-bash-4.1$ watch -n 5 qstat -Q

-bash-4.1$ watch -n 5 -d qstat -Q

ulimit -t (cpu time) による制限

開発ノードには ulimit による cpu time の制限が存在します.この制限値は time コマンドで表示される値とは異なる値(隠れた値)に対して適用されるようです.原因のよくわからない「強制終了」が発生した場合,この制限が原因である可能性があります.例えば,大量のデータを rsync で同期すると以下のようなエラーが発生します.

-bash-4.1$ rsync --progress -avh /tmp/source /destination/
sending incremental file list

...

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: connection unexpectedly closed (96 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

rsync が消費する cpu time は --bwlimit の指定に関係なく,概ねデータ転送量で決まるようです.リモート同期の場合は ssh による経路暗号化処理が入るため,ローカル同期よりも cpu time を2倍程度消費する傾向にあります.

ラッパーツールの設定・利用

3系の 吉田 が作成した,クラスタを対話式に近い形で利用するためのツールの設定方法と利用方法.

設定方法

ホームディレクトリ直下の bin にツールへのシンボリックリンクを作る.

$ mkdir ~/bin
$ ln -s /work/my016/tool/qcmd.sh ~/bin/qcmd
$ ln -s /work/my016/tool/qwatch.pl ~/bin/qwatch

~/.bash_profile に以下の3行を追記する(ホームディレクトリ直下の bin に PATH を設定).

if [ -d "$HOME/bin" ] ; then
  export PATH="$HOME/bin:$PATH"
fi

~/.bashrc に以下の3行を追記する.

alias qdelall='bash /work/my016/tool/qdel.sh all'
alias qdelqueue='bash /work/my016/tool/qdel.sh queue'
alias qdelrun='bash /work/my016/tool/qdel.sh run'

再度,ログインする.

ジョブ投入コマンド(qcmd)

qcmd は任意のコマンドをクラスタのノード上で実行するためのツールです.

$ qcmd
Usage: [Q=QueueName] [S=select] [V=vhost] [C=ncpus] [G=ngpus] [M=Req'd Memory (gb)] [W=Req'd Time (hour)] [J=JobName] [AO=afterok:JobID] [DOCKER_IMAGE|SINGULARITY_IMAGE=image] qcmd [-I|command|-- executable]
  • Q: ジョブを投入するキュー名(default: S, C, G, M, Wの値に応じて最適なもの)
  • S: 必要ノード数(default: 1)
  • V: 実行するノード(default: 未指定)
  • C: 1ノードあたりの必要CPU数(default: 1)
  • G: 1ノードあたりの必要GPU数(default: 0)
  • M: 1ノードあたりの必要メモリ量(default: 6,単位: GB)
  • W: ジョブの制限時間(default: 24,単位: hour)
  • J: ジョブ名(default: qcmd)※qstatなどで表示される名前

実行例

$ qcmd ps aux
$ qcmd /usr/bin/time -v perl i_love_cats.pl
$ M=20 qcmd /usr/bin/time -v perl i_love_fat_cats.pl
$ qcmd "perl catching_cats.pl | perl counting_cats.pl"
  • 通常は qcmd の後ろに実行したいコマンドを指定すれば,(Vによるノードの指定がなければ)任意のノードで実行されます.その実行結果(標準出力の内容)は,カレントディレクトリの [JobName].o[JobID] というファイルに出力されます.

  • オプションは qcmd の手前に記述します.
  • パイプ(|)やリダイレクト(>)を利用する場合には,コマンド全体をダブルクォート(")で括ります.

  • コンテナが指定されない場合,「SINGULARITY_IMAGE=imc.tut.ac.jp/centos7:2019.09」という窓口サーバ相当コンテナが自動選択されます.
  • コマンドの代わりに -I を指定すると,インタラクティブ実行になります.この場合の W のデフォルト値は 12 です.
  • qcmd -- ps aux のように -- を付けてコマンドを指定した場合, qsub -- executable のモードで実行されます.
  • qsub を呼び出す際に -V を指定しているため,全ての環境変数が引き継がれます.ただし,-- executableによる実行の場合,環境変数PATHが引き継がれない場合があります.

~/.bash_profile に以下の3行を追記すると,「qcmd -I」のインタラクティブ実行を,実行時のディレクトリに移動した状態で起動できます.

if [ -n "$PBS_O_WORKDIR" -a "$PBS_ENVIRONMENT" = "PBS_INTERACTIVE" ]; then
  cd "$PBS_O_WORKDIR"
fi

クラスタ確認コマンド(qwatch)

qwatch はクラスタの稼働状況を確認するためのツールです.

$ qwatch -h
Usage:
    perl qwatch.pl [Options]

Options:
    -h, --help
        標準出力に使用方法のメッセージを出力して正常終了する。

    -n, --node
        ノードの情報を表示する。--fields-nodeの指定は無視される。

    -u, --user
        ユーザの情報を表示する。--fields-userの指定は無視される。

    -j, --job
        ジョブの情報を表示する。--fields-jobの指定は無視される。

    -m, --mine
        ジョブの情報を表示する際,自身のジョブの情報に限定する。

    --fields-node
        出力するノードのフィールドをカンマで区切る。

    --fields-user
        出力するユーザのフィールドをカンマで区切る。

    --fields-job
        出力するジョブのフィールドをカンマで区切る。

実行例

$ qwatch
$ qwatch -jm

あなたのジョブが実行されているノードは,UsersやNodesを確認することで分かります.

あなたが指定したncpusの値を100倍したものとCPU(%)の値との間に,著しい乖離がないかを確認してください(特にncpusを2以上にしている場合).もし,ncpus=28を指定しているにもかかわらず(TSKが20になります),CPU使用率「CPU(%)」が75であれば,非常に非効率な実行になっている可能性が高いです(1つのCPUも使い切っていない).

ジョブ削除コマンド(qdelall, qdelqueue, qdelrun)

~/.bashrc で設定したエイリアスにより,以下の3コマンドが利用可能になります.

  • qdelall
    • 投入したジョブを全て取り消す
  • qdelqueue
    • 投入したジョブのうち,実行待ちジョブ(キュー)のみを取り消す
  • qdelrun
    • 投入したジョブのうり,実行中のジョブのみを取り消す

ANSYS が実行できない場合

■端末を2つ開き,端末1と端末2にて同じxdev(例:xdev09.edu.tut.ac.jp)に接続する

端末1:$ ssh -X xdev09.edu.tut.ac.jp -l IMCアカウント
端末2:$ ssh -X xdev09.edu.tut.ac.jp -l IMCアカウント

■ターミナル1にて別の任意のxdev(例:xdev08.edu.tut.ac.jp)に接続する

端末1:$ ssh -X xdev08

■端末1にてコンテナを起動する

[es006@xdev08 ~]$ qsub -q wEduq -I -X -l select=1:ncpus=2:mem=8g:ngpus=0:vnode=xsnd01 -v DOCKER_IMAGE=prg-env:2019.10.03
qsub: waiting for job 853714.xregistry0 to start
qsub: job 853714.xregistry0 ready

Access Port:
        <proto>://133.15.52.213:6048/ -> container port 22

[es006@xsnd01-853714-xregistry0 es006]$ hostname
xsnd01-853714-xregistry0
[es006@xsnd01-853714-xregistry0 es006]$ env |grep DISPLAY
DISPLAY=localhost:50.0

■最後のCookie値を確認

[es006@xsnd01-853714-xregistry0 es006]$ xauth list |grep :50
xsnd07.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  d87479acccfef58985781b575f3d4eb4
xsnd04.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  34c0617d410bafafa162a350aa55db0a
xsnd00.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  ee073eccf8726d2e97896ed6363ebe11
xsnd03.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  ee073eccf8726d2e97896ed6363ebe11
xsnd02.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  13cee90ba6b5e5b375a25bd40cf2ea34
xsnd01.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  01c509a89b41a533f80d7f86a9711f3d ←★これ

■端末2でxauth add を行う

[es006@xdev09 ~]$ xauth add xsnd01-853714-xregistry0/unix:50  MIT-MAGIC-COOKIE-1  01c509a89b41a533f80d7f86a9711f3d

■端末1で追加されたことを確認

[es006@xsnd01-853714-xregistry0 es006]$ xauth list |grep :50
xsnd07.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  d87479acccfef58985781b575f3d4eb4
xsnd04.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  34c0617d410bafafa162a350aa55db0a
xsnd00.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  ee073eccf8726d2e97896ed6363ebe11
xsnd03.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  ee073eccf8726d2e97896ed6363ebe11
xsnd02.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  13cee90ba6b5e5b375a25bd40cf2ea34
xsnd01.edu.tut.ac.jp/unix:50  MIT-MAGIC-COOKIE-1  01c509a89b41a533f80d7f86a9711f3d
xsnd01-853714-xregistry0/unix:50  MIT-MAGIC-COOKIE-1  01c509a89b41a533f80d7f86a9711f3d ←★これ

■端末1でANSYS起動 ※時間がかかります

[es006@xsnd01-853714-xregistry0 es006]$ module load ansys19.r2
[es006@xsnd01-853714-xregistry0 es006]$ /common/ansys_hfss-19.r2/AnsysEM19.4/Linux64/ansysedt
ANSYS Electromagnetics 19.4 Configuration
=========================================
Hostname: xsnd01-853714-xregistry0
User:     es006

> Running first-time configuration...
  - Verifying all software dependencies are available:
Done

  - Retrieving user settings... Done
  - Applying user settings... Done
  - Configuring OCX files... Done
  - Retrieving machine settings... Done
  - Applying machine settings... Done
  - Configuring binaries... Done
First-time configuration completed successfully.