ログインノードの環境設定

標準のログインシェルはbashに設定しています。 基本的なPATHの設定等は自動的に読み込まれるようになっていますが、個人用の起動ファイルを作成するには、.bashrc (bashの場合)等を用意してください。

ホームの.bashrc に最初から記述されている以下の内容は、bash環境の設定に必要ですので、消さないでください。

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

ログインシェルの変更は、利用者ポータルから行います。

  1. 利用者ポータルにログインします。
  2. 左メニューのログインシェル変更を選択してください。
  3. プルダウンメニューから変更したいログインシェルを選択し、送信を押します。

特定のシステムだけで行いたい処理がある場合は、以下の例のようにhostnameコマンドの結果に応じた条件文を記述することで実現可能です。

.bashrc – bashの場合

case `hostname` in
    camphor*)
        #システムAの場合の処理
    ;;
    laurel*)
        #システムB、C、クラウドの場合の処理
    ;;
    gardenia*)
        #システムGの場合の処理
    ;;
esac

.tcshrc – tcshの場合

switch(`hostname`)
    case camphor*:
        #システムAの場合の処理
        breaksw
    case laurel*:
        #システムB、C、クラウドの場合の処理
        breaksw
    case gardenia*:
        #システムGの場合の処理
        breaksw
endsw

modulesは、各システムでコンパイラ・ライブラリ・アプリケーションを利用する際に必要な環境設定を一括で行うことができるソフトウェアです。詳しい利用方法は Modules をご覧ください。

ログインノードごとに、ログイン時に自動でロードされるモジュール環境が異なります。 それぞれ次の表のバッチ処理の環境と、コンパイラの環境がロードされます。

年度が替わる際やシステム構成が変わる際に、ロードする環境やバージョンの見直しを行います。

ログインノード システム環境 バッチ処理環境 コンパイル環境
camphor.kudpc.kyoto-u.acjp SysA slurm intel, intelmpi, PrgEnvIntel
laurel.kudpc.kyoto-u.acjp SysB slurm intel, intelmpi, PrgEnvIntel
cinnamon.kudpc.kyoto-u.ac.jp SysC slurm intel, intelmpi, PrgEnvIntel
gardenia.kudpc.kyoto-u.ac.jp SysG slurm nvhpc, openmpi, PrgEnvNvidia

ログイン後の環境から、 クラウドシステムの環境に切り替えたい場合は次のコマンドで切り替えることができます。

$ module switch SysCL

Slurmのエラー通知など、システムからの通知メールはシステムA、B、C、Gのローカルメールアドレス宛てに送信されます。このメールは mutt コマンドでも確認できますが、いち早く閲覧できるようホームディレクトリに .forward ファイルを作成し、普段利用しているメールアドレスに転送されることをお勧めしています。

## foo@example.com にメールを転送するよう設定
$ echo "foo@example.com" > ~/.forward  

コマンドの出力や、コンパイラ翻訳時のメッセージを日本語化するには、環境変数LANGに ja_JP.UTF-8 を設定してください。また、ご利用のSSHクライアント(PuTTYなど)の文字コードも UTF-8 に設定してください。

## 環境変数LANGを設定(bashの場合)
$ export LANG=ja_JP.UTF-8

## 環境変数LANGを設定(tcshの場合)
$ setenv LANG  ja_JP.UTF-8

## manコマンドの表示が日本語になる
$ man man

man(1)                                                                  man(1)

名前
       man - オンラインマニュアルページを整形し表示する。
       manpath - ユーザー個々のマニュアルページの検索パスを決める。

書式
       man  [-adfhktwW]  [-m  system]  [-p string] [-C config_file] [-M path] [-P
       pager] [-S section_list]  name ...

ログインノードは多数のユーザで共用するため、CPU、メモリの利用に制限を設けています。 CPU時間については、後述するコマンドで拡張が可能です。必要に応じて実施してください。

項目 初期値 最大値
CPU時間(CPU Time) / プロセス 4時間 24時間
CPUコア数 / ユーザ 4コア 同左
メモリサイズ / ユーザ 16GB 同左

bashを利用している場合、ulimitコマンドを使用します。

現在の設定を確認

$ ulimit -a
...
cpu time               (seconds, -t) 14400
...

最大値まで拡張

$ ulimit -t 86400    # CPU TIMEを最大値まで拡張
$ ulimit -a          # 確認
...
cpu time               (seconds, -t) 86400
...

tcshを利用している場合、limitコマンド、unlimitコマンドを使用して設定の確認と最大値へ拡張ができます。

現在の設定を確認

$ limit
cputime      4:00:00
...

最大値まで拡張

$ unlimit  # 拡張を実施
$ limit    # 確認
cputime      24:00:00
...

定期的な処理を自動で実行させたい場合などは、cronを使用します。

複数台で構成されているログインノードのうち、システムAではcamphor31、システムBではlaurel31、システムCではcinnamon31、システムGではgardenia11のみ設定が可能です。

## cron設定が可能なcamphor31にログイン
$ ssh b59999@camphor31.kudpc.kyoto-u.ac.jp

## cronの設定内容を確認する
$ crontab -l

## cronの設定(エディタが開く)
$ crontab -e