JP1/AJS2資料一覧

ajsdbcondを実行すると「iscond: Not enough space」というエラーが出る

2005/2/8更新

対応バージョン: 6

事象

# /opt/jp1ajs2/bin/ajsdbcond -F sccs009 -x  (*) sccs009はサービス名
iscond: Not enough space
KAIU002-E I/O error on file /usr/jp1/sccs009/jp1ajs2/database/schedule /AJSROOT2/AJSBODYSCS1.DAT
KAIU105-E Cannot create key file on file compression, level of creation: 001

原因1

ajsdbcondは実行時にテンポラリとして/tmpあるいは/usr/tmpを使用するがこの領域が足りない。

原因2

ajsdbcondのバグで、実行時に確保したメモリを開放せずに処理が進んでしまうためメモリが足りなくなっている。以下の2つの方法で回避可能

JP1のバージョンアップ(JP1/BASE 06-00-/H以降で対処済)、あるいはパッチ適用(06-00-J0にて対処済)
ajsdbcond実行前にデータサイズのlimit値を上げておく

例) B-Shell環境の場合

limit値確認

$ /usr/bin/ulimit -a
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         131072 ← 現状のデータサイズのlimit値
stack(kbytes)        8192
memory(kbytes)       2037296
coredump(blocks)     unlimited
nofiles(descriptors) 4096
vmemory(kbytes)      4194304

limit値(データサイズ)変更

$ ulimit -d 512000
$ /usr/bin/ulimit -a
time(seconds)        unlimited
file(blocks)         unlimited
data(kbytes)         512000 ← 131Mから512Mに増加
stack(kbytes)        8192
memory(kbytes)       2037296
coredump(blocks)     unlimited
nofiles(descriptors) 4096
vmemory(kbytes)      4194304