hajichan.net technical version
トップページ >> サーバ管理(Solaris) >> coreファイルの管理

サーバ管理

coreファイルの管理

coreadmコマンドを使用してcoreファイルの設定を色々変更することが出来ます。設定した内容は、設定ファイル/etc/coreadm.confに反映されます。

coreadm設定の種類

coreadmコマンドで設定する内容には以下のようなものがあります。

【coreadm設定種類】
coreファイルの種類 説明
global システム全体(設定すればリブートしても消えない)
glogal-setid システム全体のsetuidプログラムのcore
process ユーザ単位
proc-setid ユーザ単位のsetuidプログラムのcore
log syslogにも記載

coreadmコマンドオプション

coreadmコマンドで指定する主要なオプションには以下のようなものがあります。

【coreadmコマンドオプション】
オプション 説明
-d <config> 設定を無効。configは、global,global-setid,process,proc-setid,logのいずれか
-e <config> 設定を有効。configは、global,global-setid,process,proc-setid,logのいずれか
-g <pattern> グローバル設定のファイルパターンを設定
-p <pattern> ユーザ単位設定のファイルパターンを設定
-i <pattern> initプロセスのcoreのファイルパターンを設定

coreファイル命名規則

coreファイル名を命名する際に使用できる主要なパラメータには以下のようなものがあります。

【coreファイル命名規則】
変数 展開される値
%p PID
%u UID
%g GID
%f プログラム名
%n システム名
%m マシン名
%t タイムスタンプ

設定例

以上を組み合わせて、設定してみます。いくつか設定例を記載します。

initプロセスcoreファイル設定。

# coreadm -i /var/core/init.%f.%p

グローバルcoreファイル設定。

# coreadm -e global -g /var/core/core.%f.%p   // 有効
# coreadm   // 確認
---
global core file pattern: /var/core/core.%f.%p
global core dumps: enabled

# coreadm -d global   // 無効

ユーザ単位coreファイル設定。

# coreadm -e process   // 有効
# coreadm   // 確認
---
per-process core dumps: enabled

% coreadm -p $HOME/core/core.%f.%p $$   // 各ユーザ設定

# coreadm -d process   // 無効

setuid構成。

# coreadm -e global-setid -g /var/core/core.%f.%d

coreファイルに関するものをsyslogへ出力する設定。

# coreadm -e log   // 有効
---
Sep 14 11:01:16 hoge genunix: [ID 603404 kern.notice] NOTICE: core_log: xxx

コラム

coreadmコマンドで設定してもcoreファイルが取得できない場合が有ります。その場合、リソース設定でcoreファイルを取得しない設定になってる可能性が有りますので確認してみて下さい。もし設定されている場合は、それを解除して下さい。

% limit
coredumpsize    0

% limit coredumpsiz unlimited
% limit
cputime         unlimited
filesize        unlimited
datasize        unlimited
stacksize       8192 kbytes
coredumpsize    unlimited   // 無制限
descriptors     256
memorysize      unlimited
ページのトップへ戻る