AIX 上的 Java 故障诊断:AIX 核心转储
2008-09-06 08:18:10 来源:WEB开发网在启动 Java 应用程序之前,通过运行 ulimit -a 命令来验证更改。
以 root 用户身份运行以下命令来启用系统的完全核心转储:chdev -l sys0 -a fullcore=true
此更改不需要重新启动系统。如果熟悉 SMIT 实用程序,您可以运行 smitty chgsys 命令,然后将 Enable full CORE dumps 的值设置为 true,从而更改该设置。
AIX 5.2 或更高版本提供的 syscorepath 实用程序可用于指定单个系统范围的目录,其中将保存任何进程的所有核心文件。系统上的所有用户都应拥有该目录的读写权限。如果某个用户在该目录中没有写权限,则不会创建核心文件。在这个系统范围的目录中生成的核心文件将具有基于进程 ID 和时间的唯一名称,例如 core.pid.MMddhhmmss,其中 pid 是进程 ID、MM 是月份、dd 是该月的日期、hh 是 24 小时格式的小时、mm 是分钟、ss 是秒。但是我们并不推荐使用此方法。该命令的语法为:syscorepath -p alternate_directory
使用以下命令来验证核心文件的目录、文件所有权和权限:aclget directory_or_file
此命令验证运行应用程序的用户有权对目标目录执行写操作。如果有任何疑问,可作为运行应用程序的用户登录并运行以下命令:touch directory/core
使用 chmod 或 chown 命令来分别修改所有权或权限,或者运行 smitty user 来修改用户帐户的特征。对用户帐户的修改需要作为该用户重新登录。
确保有足够的磁盘空间来保存核心文件。核心文件最大可以与内存中的进程大小一样大。ps 命令输出中的 RSS(进程大小)字段可用于提供核心文件的近似大小。例如:ps avwwg java_pid
如果需要额外空间,可通过删除不需要或较旧的文件来释放空间,或者增加目标文件系统的大小。
更多精彩
赞助商链接