対象バージョンレベル
Linux版:5.2、V10.0L10以降
対処
原因
Linux版では、ユーザがログインするときに実施されるPAM認証と呼ばれる処理により、/etc/security/limits.confに設定した値が反映されるようになっています。
OSの起動直後は、OSのデフォルト値が設定された状態であり、OSの起動に伴って起動されるSystemwalker Operation Managerのデーモンにも、OSのデフォルト値が引き継がれます。この状態においては、Systemwalker Operation Managerのジョブに、/etc/security/limits.confの値が反映されません。
なお、本状態において .profile や .login などのログインシェルのプロファイル内にシェルの内部コマンドである ulimit が指定されているユーザが、ジョブの実行を行った場合、ジョブの実行結果に以下のメッセージが出力されることがあります。
/etc/profile: line xxx: ulimit: open files: cannot modify limit: 許可されていない操作です |
注)xxxは、/etc/profile の行番号を示します。
対処方法
以下いずれかの対処を実施してください。
ジョブとして実行するユーザアプリケーションにおいて、/etc/security/limits.confの値を有効とするためには、以下の方法でジョブを実行してください。
プロジェクトの所有者または[登録/監視-ジョブ]ウィンドウ-[詳細情報]シートの[実行ユーザ名]欄に“root”を指定してください。
[登録/監視-ジョブ]ウィンドウ-[基本情報]シートの[コマンド]欄に以下のような内容のシェルスクリプトを登録してください。
#!/bin/sh |
注)username:ユーザアプリケーションを実行するユーザを指定してください。
scriptfile:ユーザアプリケーションを指定してください。
すべてのジョブの実行ユーザが管理者(root)の場合に、/etc/security/limits.confの値を有効とするためには、OS起動後にLinuxサーバにログインし、Systemwalker Operation Managerのデーモンを再起動してください。