ulimitは、Linux/UNIXシステムでユーザーやプロセスが使用できるリソース(メモリ、CPU時間、ファイルディスクリプタ数など)の上限を設定・確認するシェルの内蔵コマンド

ログインノードで現在掛けられている制限は

[illya@openpbs ~]$ cat /etc/redhat-release
Rocky Linux release 9.7 (Blue Onyx)
 
[illya@openpbs ~]$ ulimit -a
real-time non-blocking time  (microseconds, -R) unlimited
core file size              (blocks, -c) unlimited
data seg size               (kbytes, -d) unlimited
scheduling priority                 (-e) 0
file size                   (blocks, -f) unlimited
pending signals                     (-i) 31585
max locked memory           (kbytes, -l) 8192
max memory size             (kbytes, -m) unlimited
open files                          (-n) 1024
pipe size                (512 bytes, -p) 8
POSIX message queues         (bytes, -q) 819200
real-time priority                  (-r) 0
stack size                  (kbytes, -s) 8192
cpu time                   (seconds, -t) unlimited
max user processes                  (-u) 31585
virtual memory              (kbytes, -v) unlimited
file locks                          (-x) unlimited
[illya@openpbs ~]$

となっている。

これが qsub で計算ノードに入ると変わって

[illya@openpbs ~]$ qsub -l select=1 -I
qsub: waiting for job 1.openpbs to start
qsub: job 1.openpbs ready
 
[illya@r9-1 ~]$ ulimit -a
real-time non-blocking time  (microseconds, -R) unlimited
core file size              (blocks, -c) unlimited
data seg size               (kbytes, -d) unlimited
scheduling priority                 (-e) 0
file size                   (blocks, -f) unlimited
pending signals                     (-i) 63785
max locked memory           (kbytes, -l) unlimited
max memory size             (kbytes, -m) unlimited
open files                          (-n) 16384
pipe size                (512 bytes, -p) 8
POSIX message queues         (bytes, -q) 819200
real-time priority                  (-r) 0
stack size                  (kbytes, -s) unlimited
cpu time                   (seconds, -t) unlimited
max user processes                  (-u) 63785
virtual memory              (kbytes, -v) unlimited
file locks                          (-x) unlimited
[illya@r9-1 ~]$

と変わる. 変更したものだけを下記に示す. 一応バッチファイルを用意してqsubで流してもinteractive jobと同じ値です.

項目ログインノード計算ノード(openPBS経由)
pending signals3158563785
max locked memory8192unlimited
open files102416384
stack size8192unlimited
max user processes3158563785

cryoSPARCでは 「ulimit -n」 の「16384」では足りないみたい

実際エラーログがでている。
OSError: [Errno 24] Too many open files: '/proc/3582594/stat' Exception in thread Thread-28 (work):
その後workerが落ちて、masterからの応答にも返事ができなくて「no heartbeat」としてジョブ自体も落ちる.

ではこの計算ノードに入った時の「ulimit -n」を「16384」より大きくするには?

修正箇所は計算ノードの「/opt/pbs/lib/init.d/limits.pbs_mom」

MEMLOCKLIM=`ulimit -l`
NOFILESLIM=`ulimit -n`
STACKLIM=`ulimit -s`
ulimit -l unlimited
ulimit -n 16384      --> 65536 へ
ulimit -s unlimited

この変更後に pbs を再起動すれば反映されます

計算ノード毎に行う必要があるみたい

最新の60件
2026-04-14 2026-04-13 2026-04-12 2026-04-08 2026-04-07 2026-04-06 2026-04-05 2026-04-04 2026-04-02 2026-03-26 2026-03-23 2026-03-21 2026-03-19 2026-03-15 2026-03-14 2026-03-13 2026-03-07 2026-03-06 2026-03-04 2026-03-02 2026-02-26 2026-02-24 2026-02-21 2026-02-18 2026-02-17 2026-02-16 2026-02-11 2026-02-09 2026-02-07 2026-02-06 2026-02-03 2026-02-02 2026-01-31 2026-01-26 2026-01-24 2026-01-18 2026-01-17 2026-01-12

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-03-14 (土) 12:14:38