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