- 浏览: 421372 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
liyuanhoa_:
...
struts2.0中struts.xml配置文件详解 -
chenmingde:
...
Velocity应用(一) -
weizhikai_ai:
第二十六,当一个线程进入一个对象的一个synchronized ...
Java常见面试题(含答案) -
Aurora_lr:
...
Spring宠物商店学习笔记(一) - -
zs911zs:
all copy from http://www.iteye ...
Mule入门文档
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0701_libing/
文档选项
打印本页
将此页作为电子邮件发送
级别: 中级
何 利兵 (Libing.He@ca.com), ICA中国技术中心(CTC)的软件测试工程师
2007 年 5 月 24 日
本文主要介绍了 WebSphere Application Server提供的一些帮助管理员以及开发者进行故障诊断的资源和工具。
概述
故障诊断是查找并除去问题的起因的过程。一旦您发现WebSphere运行环境有问题,故障诊断过程就开始。WebSphere的基本故障诊断策略包括:
1. 记录症状
根据您的应用程序、服务器或是工具中出现的问题的类型,您可能接收到表明出现问题的消息。通过记录每条消息的详细信息,您就会对定位问题的所在了解更多。
2. 重新创建问题
如果您一直有可重复的测试用例,则您可以很方便地确定哪些解决方案是必需的。
3. 除去可能的起因
通过排除那些不是导致问题的组件以缩小问题的范围,您可以使问题简单化,并且避免浪费时间。
4. 使用诊断工具
WebSphere Application Server提供了一些帮助管理员以及开发者进行故障诊断的工具和资源,合理的利用这些工具和资源,当WebSphere Application Server出现故障的时候,可以帮助我们准确的定位问题的所在。
回页首
1.故障诊断的资源
1.1 确定WebSphere产品安装信息
WebSphere Application Server的版本以及相关软件(例如:WebServer,Plug-in,JDK)的版本信息是重要的。所有的组件要求在正确的版本以便它们之间能够很好的协调工作。下面的主题告诉您怎样确定您的环境中各组件的版本信息。
1.1.1 确定WAS产品信息
1)通过执行versionInfo命令
执行WebSphere Application Server安装目录的bin目录下的versionInfo命令,由输出信息可以查看到WAS的产品信息。
Windows平台执行versionInfo.exe
Unix和Linux平台执行versionInfo.sh
列表1. 在Linux系统下执行versionInfo命令的一个例子以及输出信息.
# cd <was_home>/bin
# ./versionInfo.sh
WVER0010I: Copyright ? IBM Corporation 2002; All rights reserved.
WVER0011I: WebSphere Application Server Release 6.0
WVER0012I: VersionInfo Reporter Version 1.15, Dated 9/20/03
IBM WebSphere Application Server Product Installation Status Report
Report at date and time 2005-06-21T13:07:05+08:00
Installation
---------------------------------------------------------------------
Product Directory /opt/IBM/WebSphere/AppServer
Version Directory /opt/IBM/WebSphere/AppServer/properties/version
DTD Directory /opt/IBM/WebSphere/AppServer/properties/version/dtd
Log Directory /opt/IBM/WebSphere/AppServer/logs/update
Backup Directory /opt/IBM/WebSphere/AppServer/properties/backup
TMP Directory /tmp
Installation Platform
Name IBM WebSphere Application Server
Version 6.0-
Technology List
ND installed
Installed Product
Name IBM WebSphere Application Server - ND
Version 6.0.0.1
ID ND
Build Level o0445.08
Build Date 11/10/04
End Installation Status Report
2)通过WebSphere Application Server安装目录下的产品属性文件查找 查看<was_home>/properties/version/WAS.product 文件,此文件包含WebSphere Application Server产品相关信息.
列表2. WAS.product文件的一个示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE product PUBLIC "productId" "product.dtd">
<product name="IBM Websphere Application Server - ND">
<id>ND<id>
<version>6.0.0.1</version>
<build-info date"11/10/04" level="o0445.08"/>
</product>
3)通过SystemOut.log文件查找
查看任意概要文件(profile)下的SystemOut.log文件,此文件包含WebSphere Application Server产品相关信息.
列表3. SystemOut.log文件的一个示例如下:
************ Start Display Current Environment ************
WebSphere Platform 6.0 [ND 6.0.0.1 o0445.08] running with process name
Wasdev25Node01Cell\wasdev25Node01\server1 and process id 12514
Host Operating System is Linux, version is 2.4.21-278-default
Java version = J2Re 1.4.2 IBM build cxia32142sr1w-200041028 (JIT enabled:jitc)
Java Compiler = jitc, Java Vm name = Classic VM
was.install.root = /opt/IBM/WebSphere/AppServer
user.install.root = /opt/IBM/WebSphere/AppServer/profiles/AppSrv02
Java Home = /opt/IBM/WebSphere/AppServer/java/bin/../jre
************ End Display Current Environment ************
4)通过管理控制台查找
如果WebSphere Application Server已经启动且在运行中,您可以通过管理控制台来查看WebSphere Application Server的产品信息处,这也是最方便的一种查看WebSphere Application Server产品信息的方式了。
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中选择 服务器 -> 应用程序服务器
3)点击一个服务器,例如 Server1
4)选择 运行时 标签
5)从 其它属性 列表下,点击 产品信息
图1 通过管理控制台查找产品信息
1.1.2 确定JDK的版本信息
1)通过SystemOut.log文件查找
查看任意慨要文件(profile)下的SystemOut.log文件,此文件包含WebSphere Application Server产品相关信息,包括JDK的版本信息。
<profile_home>/logs/server1/SystemOut.log
2)通过从命令行运行 java -fullversion
<was_home>/java/bin/java -fullversion
列表4: 从命令行运行确定jdk版本信息
wasdev25:/opt/IBM/WebSphere/AppServer/java/bin # ./java -fullversion
java full version "J2RE 1.4.2 IBM build cxia32142sr1w-20041028"
1.1.3 确定Web服务器的版本信息
1)检查Windows平台上的IBM HTTP Server的版本信息,运行apache.exe -v
列表5: 检查Windows平台上的IBM HTTP Server的版本信息
apache.exe -v
C:\Program Files\IBM HTTP Server\bin>apache -v
Server version: IBM_HTTP_Server/6.0 Apache/2.0.47
Server built: Nov 4 2004 10:11:21
2)检查Unxi和Linux平台上的IBM HTTP Server的版本信息,运行httpd -v
列表6: 检查Unix/Linux平台上的IBM HTTP Server的版本信息
httpd -v
Server version: IBM_HTTP_Server/6.0 Apache/2.0.47
Server built: Nov 4 2004 10:11:21
1.2 管理控制台消息(Administrative console messages)
管理控制台提供了一些重要的关于WAS运行时事件以及配置问题的信息。在管理控制台中的故障诊断中显示了运行状态的消息,您可以查看配置问题的消息以及运行时消息。
图2. 显示一个运行时事件的错误信息页,包含一些在运行时的错误列表:
如果您需要查看一个消息的详细内容,在消息列中点击相应的消息文本即可,下图显示的是点击第一个消息内容后的样子。
图3. 显示的是点击第一个消息内容后的样子:
根据这些配置问题或者运行时的消息,您可以了解Application Server的运行状态,以及根据相应的错误消息的提示信息进行相应的配置。
1.3 使用日志文件
WebSphere Application Server 可以写系统消息到几个通用日志。这些日志包括 JVM 日志、进程日志和 IBM 服务日志。
1.3.1 JVM日志
JVM 日志是通过重定向 JVM 的 System.out 和 System.err 流到独立的日志文件而创建的。WebSphere Application Server 写格式化的消息到 System.out 流。另外,应用程序和其它代码可以写入这些流,这通过使用流定义的 print() 和 println() 方法实现。
通常,System.out 日志用于监控应用程序服务器的运行是否正常。System.out 日志可用于问题确定。System.err 日志包含异常堆栈跟踪信息,这在执行问题分析时很有用。
因为每个应用程序服务器都代表 JVM,所以每个应用程序服务器和它的所有应用程序都有一组 JVM 日志,缺省情况下该日志位于 installation_root/profiles/profile_name/logs/server_name 目录。在 WebSphere Application Server Network Deployment 配置的情况下,也为 Deployment Manager 和每个节点管理器创建 JVM 日志,因为它们也代表 JVM。
1.3.2 配置JVM日志
可以利用管理控制台来查看以及修改JVM SystemOut.log 和 SystemErr.log
1)访问管理控制台页面 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 JVM日志
5)在 配置 标签下,显示了JVM日志的相关属性
图4. 显示JVM日志的相关属性
1.3.3 进程日志
WebSphere Application Server 进程包含两个可访问进程中运行的本机代码的输出流。这些流是 stdout 和 stderr 流。本机代码(包括 JVM)可以将数据写到这些进程流。另外,JVM 提供的 System.out 和 System.err 流也可以配置为将它们的数据写入这些流。
缺省情况下,在应用程序服务器启动时重定向 stdout 和 stderr 流到日志文件,其包含由本机模块(.dll、.exe、UNIX 库和其他模块)写入 stdout 和 stderr 流的文本。缺省情况下,这些文件存储为 installation_root/logs/applicationServerName/native_stderr.log 和 native_stdout.log。
1.3.4 配置进程日志
可以利用管理控制台来查看以及修改JVM SystemOut.log 和 SystemErr.log
1)访问管理控制台页面 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 进程日志
5)在 配置 标签下,显示了进程日志的相关属性
图5 显示进程日志的相关属性
1.3.5 服务日志(Service log)
服务日志是用二进制格式写的特殊日志。您无法使用文本编辑器直接查看日志。您不可以直接编辑服务日志,因为这样做会破坏日志。要将服务日志从一台机器移动到另一台机器,您必须使用支持二进制文件传送的机制(如 FTP)。
您可以两种方式查看服务日志:
1)建议使用日志分析器工具来查看服务日志。此工具提供互操作式查看和分析能力,此能力在识别问题方面很有用。
2)如果您无法使用日志分析器工具,您可使用 Showlog 工具将服务日志的内容转换成接下来您可写到文件或转储到命令外壳程序窗口的文本格式。
要运行 showlog 脚本:
在服务日志驻留的机器上打开 shell 窗口。
更改目录到 installation_root/bin,其中 install_directory 是安装了 WebSphere Application Server 产品的标准路径。
运行 showlog 脚本:
在 Windows 系统上,此脚本名为 showlog.bat。
在 UNIX 和 z/OS 系统上,此脚本名为showlog.sh 要将服务或活动日志(activity.log)内容导向标准输出,就使用 showlog activity.log 命令。
要转储服务或活动日志到文本文件以便使用文本编辑器查看,就使用 showlog activity.log textFileName 命令
1.3.6 配置服务日志
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 服务日志
5)在 配置 标签下,显示了服务日志的相关属性
图6 显示服务日志的相关属性
1.4 使用跟踪
使用跟踪获取关于执行 WebSphere Application Server 组件的详细信息,这些组件包括应用程序服务器、客户机和环境中的其它进程。跟踪文件显示 WebSphere Application Server 基本类调用的方法的时间和顺序,并且您可使用这些文件来查明故障。
通常由 IBM 技术支持人员要求收集跟踪。如果您不熟悉 WebSphere Application Server 的内部结构,则跟踪输出可能对您没有意义。
默认情况下,所有WebSphere Application Server组件的traces是关闭的,您需要手工的激活它。一定要记住的是,当您完成了信息的收集后,需要关闭traces,因为打开traces会降低WebSphere Application Server的性能。
服务器进程的诊断跟踪配置设置确定服务器进程的初始跟踪状态。服务器启动时读配置设置并使用它们配置跟踪服务。在服务器进程运行时也可以更改许多跟踪服务属性或设置。
1.4.1 服务器启动时启用跟踪
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 诊断跟踪
5)在 配置 标签下,显示了traces的相关属性
图7 显示traces的相关属性
6)启用跟踪复选框启用跟踪,清除此复选框禁用跟踪。
7)选择将跟踪输出定向到文件还是定向到内存中循环缓冲区
8)如果为跟踪输出选择内存中循环缓冲区,则设置缓冲区的大小(以千条目为单位)。 这是在任何给定的时间缓冲区中将保留的最大条目数。
9)如果为跟踪输出选择文件,则将最大大小(以兆字节为单位)设置为应该允许文件增长的大小。
当文件达到此大小时,将关闭现有文件、对它重命名并重新打开具有原始名称的新文件。文件的新名称将基于带有添加给其的时间戳记限定符的原始名称。另外,指定要保留的历史文件数。
9)选择已生成的跟踪期望的格式。
10)保存更改的配置。
11)要输入跟踪字符串以将跟踪规范设置为需要的状态:
a. 在控制台导航树中单击故障诊断 > 记录和跟踪。
b. 选择服务器名。
c. 单击更改日志级别详细信息。
d. 如果已启用所有组件,则可能要关闭它,然后启用特定组件。
e.单击组件或组名。
f.在跟踪字符串框中输入跟踪字符串。
g.选择应用,然后选择确定。
12)允许节点有足够时间同步,然后启动服务器。
通过使用下列过程,可修改确定为正在运行的服务器活动跟踪哪些组件的跟踪服务状态。
1.4.2 在运行的服务器上启用跟踪
1)访问管理控制台 http://localhost:9060/ibm/console
2) 在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3) 选择运行时选项卡。
4) 如果您要将您的更改写回到服务器配置,则选择保存跟踪复选框。
5) 通过将跟踪规范更改为期望状态,更改现有跟踪状态。
6) 如果从现有跟踪状态的更改为期望的,则配置跟踪输出。
7)单击应用。
1.5 检测 J2EE 应用程序中的挂起线程
J2EE 应用程序中的一个常见错误是挂起线程。挂起线程可能由于简单软件缺陷(例如,无限循环)或更复杂的原因(例如,资源死锁)导致。当线程运行未绑定的代码路径时(例如,当代码在无限循环中运行时),系统资源(例如,CPU 时间)可能由此挂起事务消耗。另一方面,因为处于死锁方案,所以即使所有资源都空闲,系统也可能变得不应答。除非最终用户或监控工具报告该问题,否则系统可能无限期地保持在此退化状态中。
缺省情况下,WebSphere Application Server 的挂起检测选项打开。如果早一些对失败的服务器进行检测,那么您可以配置挂起检测策略以适应您的应用程序和环境,从而可以报告潜在挂起。检测到挂起线程 时,WebSphere Application Server 将通知您,以使您可以对问题进行故障诊断。
使用挂起检测策略,您可以指定对于完成工作单元来说过长的时间。线程监控器检查系统中的所有受管线程(例如,Web 容器线程和对象请求代理程序(ORB)线程)。非受管线程(由应用程序创建的线程)不受监控。
当 WebSphere Application Server 检测到线程活动时间比线程监控器阈值定义的时间长时,应用程序服务器将采取以下操作:
在 WebSphere Application Server System.Out 日志文件中记录警告,标识挂起线程的名称及其已活动的时间。以下消息将写入日志: WSVR0605W: 线程 threadname 已活动 hangtime,可能挂起。服务器中总共有 totalthreads 个线程可能挂起。其中:threadname 是 JVM 线程转储中出现的名称,hangtime 给出线程已活动时间的近似值,而 totalthreads 给出系统线程的总估计。
发出 Java 管理扩展(JMX)通知。此通知启用第三方工具以获取事件并采取适当的操作,例如触发服务器的 JVM 线程转储,或者发出电子页面或电子邮件。以下 JMX 通知事件是在 com.ibm.websphere.management.NotificationConstants 类中定义的:
TYPE_THREAD_MONITOR_THREAD_HUNG 此事件由(潜在)挂起线程的检测触发。
TYPE_THREAD_MONITOR_THREAD_CLEAR
如果先前报告为挂起的线程完成其工作,则此事件触发。请参阅错误警报。
触发器在性能监视基础结构(PMI)数据计数器中更改。这些 PMI 数据计数器由各种工具(例如,Tivoli Performance Viewer)使用以提供性能分析。
1.5.1 挂起时间阈值的自动调节
如果线程监控器确定发出了过多错误警报(由挂起和清除消息对数确定),那么它可以自动调节阈值。此调节发生时,以下消息将写入 System.out 日志:
WSVR0607W: 错误报告了过多线程挂起。挂起阈值现在设置为 thresholdtime。其中:thresholdtime 是线程被认为挂起前它可以活动的时间(以秒为单位)。您可以阻止 WebSphere Application Server 自动调节挂起时间阈值。
1.5.2 调整运行中服务器的挂起检测策略
您可使用 wsadmin 脚本接口调整线程监控设置。这些更改会立即生效,但不会保存在服务器配置中,服务器重新启动时会丢失。以下脚本提供了一个示例,说明如何使用 wsadmin 工具调整线程监控的属性:
# Read in the interval, threshold, false alarm from the command line
set interval [lindex $argv 0]
set threshold [lindex $argv 1]
set adjustment [lindex $argv 2]
# Get the object name of the server you want to change the values on
set server [$AdminControl completeObjectName "type=Server,*"]
# Read in the interval and print to the console
set i [$AdminControl getAttribute $server threadMonitorInterval]
# Read in the threshold and print to the console
set t [$AdminControl getAttribute $server threadMonitorThreshold
# Read in the false alarm adjustment threshold and print to the console
set a [$AdminControl getAttribute $server threadMonitorAdjustmentThreshold]
# Set the new values using the command line parameters
$AdminControl setAttribute $server threadMonitorInterval ${interval}
$AdminControl setAttribute $server threadMonitorThreshold ${threshold}
$AdminControl setAttribute $server threadMonitorAdjustmentThreshold ${threshold}
回页首
2.诊断故障的工具
2.1日志分析器
Log Analyzer是一个图形化的工具,用来帮助用户查看、分析日志的。日志分析器采用一个或多个服务日志或跟踪日志,合并所有数据,并显示这些条目。根据它的症状数据库,该工具分析和解释日志条目中的事件或错误情况来帮助您诊断问题。日志分析器有一个特殊的功能部件,使得它可以从 IBM Web 站点下载最新的症状数据库。要下载症状数据库的最新更新,使用日志分析器界面中的文件 -> 更新数据库 -> WebSphere Application Server 症状数据库选项(对于 WebSphere Application Server),或 WebSphere Application Server Network Deployment 症状数据库选项(对于 WebSphere Application Server Network Deployment)。
应用程序服务器从各种 WebSphere Application Server 组件的活动创建服务或活动日志文件。日志分析器用于查看服务或活动日志文件。日志分析器可以将服务或活动日志文件合并成一个日志文件。服务或活动日志文件(activity.log)是二进制文件,它位于 install_root 的 logs 目录中。不能用文本编辑器查看服务或活动日志。日志分析器工具允许您查看该文件。Log Analyzer通过比较日志文件中的错误记录与数据库中已有的记录,然后显示出所有相匹配的记录。
图8. Log Analyzer结构图
2.1.1 运行 Log Analyzer
1)更改目录至<was_home>/bin
2)运行 waslogbr 脚本文件。 此文件命名为:
waslogbr.bat(在 Windows 系统上)。
waslogbr(在 UNIX 系统上)。
此脚本必须从 install_dir/bin 目录运行。
3)当Log Analyzer 图形界面起来后,选择 文件 -> 打开
4) 浏览至包含服务或活动日志文件的目录
5) 选择服务或活动日志文件并单击打开,您应该能看到打开的activity.log。
图9 用Log Analyzer打开的activity.log
6)选择UnitOfWorkView文件夹下的一个条目,关于此条目的详细信息就会出现在右上角的面板上。
图10 关于一个条目的详细信息
7)要分析记录,右键单击左边树中的记录,从右键单击菜单选择 UnitOfWorkView,然后选择分析。
现在,任何在它们的旁边有绿色复选标记的记录都与症状数据库中的记录匹配。当您选择一个有复选标记的记录时,您将在右下窗格中看到问题的说明。
图11 关于问题的详细说明
2.1.2 更新symptom database
新版本的symptom database包含更多的通用的事件和一些错误信息,可以通过Analyzer Log下载最新的symptom database。
1)对于 WebSphere Application Server or Express, 选择 File -> Update Database -> WebSphere Application Server Symptom Database.
2) 对于 WebSphere Application Server Network 选择 File -> Update Database -> Application Server Network Deployment
图12 通过Analyzer Log下载最新的symptom database
2.2 使用收集器工具
收集器工具收集 WebSphere Application Server 安装信息,并将它打包后放在 Java 归档(JAR)文件中,您可将该文件发送给 IBM 客户支持人员以辅助确定和分析您的问题。JAR 文件的信息包括日志、属性文件、配置文件、操作系统和 Java 数据以及存在的每个必备软件及其级别。
有两种方式可以运行收集器工具。可执行收集器工具,以收集摘要数据,或通过系统收集相关文件和命令结果。 收集器工具产生确定和解决问题需要的信息的 Java 归档(JAR)文件。收集器摘要选项产生首次向 IBM 支持人员报告问题时有用的版本和其他信息的有问题的集合。
使用收集器工具有两个阶段。第一阶段是在您的 WebSphere Application Server 产品上运行收集器工具,并产生一个 Java 归档(JAR)文件。IBM 支持人员团队执行第二阶段,即分析收集器产生的 Java 归档(JAR)文件。
运行收集器以完成创建 JAR 文件(不管可能发现的任何错误)。错误可能包括缺少的文件或命令。收集器工具尽可能将大量数据收集在 JAR 文件中。
2.2.1 运行收集器工具Collector
1)以 root 或(Windows 平台中的 Administrator)身份登录系统。
2)验证 Java 1.2.2 或更高版本在路径中是可用的。 收集器程序需要运行 Java 代码。它还收集关于它在其中运行的 IBM Developer Kit, Java Technology Edition 的数据。如果在系统上有多个 Developer Kit,验证 WebSphere Application Server 产品使用的是收集器程序的路径中的那个。如果 WebSphere Application Server 使用的 Developer Kit 不可用,则将另一个 Developer Kit 放入收集器程序的路径会使您收集除有关 Developer Kit 的信息之外的所有数据。
3)验证是否所有必需的信息存在收集器程序使用的路径中,并且您不在 WebSphere Application Server 产品安装根目录中运行程序。
a. 如果此系统是 Linux 或基于 UNIX 的平台,验证路径包含:
/bin
/sbin
/usr/bin
/usr/sbin
b. 如果此系统是 Windows 平台,在路径中包含 regedit。
4)在您想启动收集器程序的位置创建工作目录。
5)使工作目录成为当前目录。 收集器程序将它的输出 JAR 文件写到当前目录。程序还在当前目录中创建和删除许多临时文件。创建工作目录来运行收集器程序避免命名冲突并使清除更简便。您不能在 WebSphere Application Server 安装目录下的目录中运行收集器工具。
6)通过从命令行输入命令 collector 来运行收集器程序。
不带附加参数地使用 collector 命令将集中显示节点数据和节点中每个服务器的数据的一个副本,并且将它们存储在单个 JAR 输出文件中。要从节点中的特定服务器收集数据,请使用命令 collector.bat/sh -servername servername,其中 servername 是服务器的名称。
注: 您需要正确地设置路径。对于 Linux 和基于 UNIX 的平台,install_root/bin 必须在路径中,以找到 collector.sh 命令。对于 Windows 平台,install_root\bin 必须在路径中,以找到 collector.bat 命令。
WebSphere Application Server 安装根目录在安装时确定。 它在 setupCmdLine.sh 文件(或在 Windows 平台上为 setupCmdLine.bat 文件)中标识。您可以输入收集器命令的全限定路径。例如,在 Windows 平台上的缺省安装中输入此命令:
c:\WebSphere\AppServer\bin\collector.bat
2.2.2 结果
收集器程序在当前目录中创建日志文件 Collector.log 和输出 JAR 文件。
JAR 文件的名称基于 Application Server 产品的主机名和软件包,其格式为:hostname-cellname-nodename-profile。
Collector.log 日志文件是 hostname-cellname-nodename-profile 文件中收集的某个文件。
2.2.3 下一步做什么
将 hostname-cellname-nodename-profile 文件发送给 IBM 支持人员进行分析。
2.2.4 分析收集器工具输出
在您的 WebSphere Application Server 产品上使用收集器工具的第一步是运行工具以将 Java 归档(JAR)文件作为输出。使用收集器工具中的第二步是分析其输出。执行此分析的首选方法是将 JAR 文件发送至 IBM Support 进行分析。
然而,如果执行您自己的分析,可以使用此主题了解 JAR 文件的内容。
您可以查看 JAR 文件中包含的文件而无需解压缩来自 JAR 文件的文件。然而,你还是可以很方便地解压缩所有文件并分别查看每个文件的内容。要解压缩文件,使用下列某个命令:
jar -xvf WASenv.jar
unzip WASenv.jar
Wasenv.jar 是收集器创建的 JAR 文件名。
JAR 文件包含:
收集器执行日志文件,Collector.log
存储的 WebSphere Application Server 文件的副本和它们的全路径
操作系统信息位于名称为 OS 的目录中
Java 信息位于名称为 JAVA 的目录中
WebSphere Application Server 信息位于名称为 WAS 的目录中
收集器 shell 脚本(或批处理文件)执行信息位于名称为 debug 的目录中
MQ 信息位于名称为 MQ 的目录中(如果您安装了 WebSphere MQ 或嵌入式消息传递功能部件)
JAR 文件清单
2.2.5 使用Collect工具的一些提示和建议:
解压缩(unzip)JAR 文件到空目录以方便地访问集中的文件和简化清除。
请检查 collector.log 文件以获取错误信息:
有些错误可能是正常或意料中的。例如,当收集器尝试集中对于特定安装不存在的文件或目录时,它记录关于缺少文件的错误信息。
非零返回码意味着收集器工具尝试运行的命令不存在。在某些情况下,这是意料中的。如果重复发生此类错误,也许的确是一个问题。
在 Linux 和基于 UNIX 的系统上,文件 OS/commands 具有所有使用过的命令的位置。如果您缺少命令输出,检查此文件查看是否找到命令。
在 Linux 和基于 UNIX 的系统上,收集器运行一些 shell 脚本。shell 脚本输出保存在 OS 目录的文件中,而相应的调试信息保存在 debug 目录中。如果缺少 shell 脚本的输出,则检查 debug 目录中的相应文件。
在存在多个安装实例的情况下,当您发出 collector 命令时,该工具根据 PATH 语句运行。例如,如果您在同一台机器上安装了 Base WebSphere Application Server 和 Deployment Manager 产品,在 PATH 变量中首先出现的 bin 目录是提供给收集器工具的那个目录。要解决此问题,当调用收集器工具时使用标准文件路径,如 Windows 平台的示例是:c:\WebSphere\AppServer\bin\collector.bat
在 Windows 系统上,OS 目录包含名为 installed.out 的文件。此文件包含"添加/删除程序"列表中找到的程序列表。与此相同的信息包含在 Desktop\My Computer\Control Panel\Add/Remove Programs\Install/Uninstall 文件中。
2.2.6 收集器摘要
从 V5.0.2 开始,WebSphere Application Server 产品包括了对收集程序工具的增强,称为收集程序摘要选项。
收集程序摘要选项可帮助您与 IBM 支持人员中的 WebSphere Application Server 技术人员进行沟通。运行带有 -Summary 选项的收集程序工具产生一个有问题的文本文件和运行不带有 -Summary 参数的该工具产生 Java 归档(JAR)文件中一些信息的控制台版本。在计划寻求 IBM 支持人员的帮助前,您可以使用收集程序摘要选项检索基本配置和必备软件级信息。
收集程序摘要选项产生 WebSphere Application Server 产品和操作系统的版本信息,以及其它的信息。它将信息存储在 Collector_Summary.txt 文件中,并将其写到控制台。您可以使用这些信息回答 IBM 技术支持人员的初始问题,或直接将 Collector_Summary.txt 文件发送至 IBM 技术支持人员。
运行 collector 命令创建 JAR 文件(如果 IBM Support 需要更多信息以解决您的问题)。
要运行收集器摘要选项,在 WebSphere Application Server 产品安装根目录以外的临时目录启动,并输入下列命令之一。
Linux 和基于 UNIX 的平台:
install_root/bin/collector.sh -Summary
Windows 平台:
install_root\bin\collector.bat -Summary
2.3 首个故障数据捕捉First Failure Data Capture (FFDC)
首个故障数据捕捉工具保存由处理故障生成的信息,并将控制权返回受影响的引擎。捕捉到的数据保存在日志文件中,以供分析问题时使用。
首个故障数据捕捉工具主要是由 IBM 技术支持人员使用。它作为 IBM WebSphere Application Server 的一部分运行,并且您无法启动或停止它。建议您不要尝试配置首个故障数据捕捉工具。如果您遇到了一些需要您与 IBM技术支持人员联系的情况,您的 IBM 服务代表将辅助您阅读和分析首个故障数据捕捉日志。
首个故障数据捕捉工具不影响 IBM WebSphere Application Server 的性能。在<was_home>/properties目录下,有三个文件属性文件用来控制FFDC的过滤功能:
ffdcStart.properties,用在当Server正在启动的时候
ffdcRun.properties, 用在当Server启动起来的时候
ffdcStop.properties, 用在当Server正在停止的时候
捕捉到的数据将会被自动的保存在<profile_home>/logs/ffdc目录下,以便我们分析问题的时候所用,也可以被Collector工具所收集。
2.4 转储名称空间中的内容
命名是将对资源(如连接池、enterprise bean 和消息侦听器等)的访问权发布和提供给客户机进程。如果当您访问在其它方面仿佛是健康的资源时发生问题,则可能涉及命名服务。要查找 WebSphere Application Server 命名服务的问题,请遵循以下的步骤:
1)浏览您正在尝试访问的资源的服务器的 JVM 日志。以 NMSV 开始的消息与命名服务相关。
2)在您尝试访问的资源的服务器上,从服务日志打开日志分析器,并使用它浏览错误和警告消息。
3)在 WebSphere Application Server 运行时,运行 dumpNameSpace 命令(对于 Windows 系统)或 dumpNameSpace.sh 命令(对于 UNIX 系统),并输送、重定向或"增加"输出,以便可容易地查看它。此命令导致显示 WebSphere Application Server 名称空间中的对象,包含目录路径和对象名。
dumpNameSpace 命令不转储分布式名称空间中的所有对象。它仅转储运行此命令的进程的本地名称空间中的对象。
您可以使用 dumpNameSpace 工具转储通过名称服务器访问的名称空间的内容。dumpNameSpace 工具是基于 Java 命名与目录接口(JNDI)。
您在运行 dumpNameSpace 工具时,命名服务必须是活动的。dumpNameSpace 工具无法将名称空间本地地转储到服务器进程,例如,具有 java: URL 方案和 local: URL 方案的那些名称空间。local: 名称空间包含对具有本地接口的 Enterprise bean 的引用。
您可以从命令行或使用它的程序界面运行该工具。
要从命令行运行该工具,在 WebSphere/AppServer/bin 目录上输入以下命令:
对于UNIX平台,运行 dumpNameSpace.sh
对于Windows平台,运行 dumpNameSpace
如果您在启用安全性的情况下运行 dumpNameSpace 工具,则会显示登录提示。如果取消登录提示,dumpNameSpace 工具将用"UNAUTHENTICATED"凭证继续运行。因此,缺省情况下,使用"UNAUTHENTICATED"凭证与使用"Everyone"访问授权策略是相同的。您可以通过将 /properties/sas.client.props 文件中的 com.ibm.CSI.performClientAuthenticationRequired 属性值更改为 true 修改此缺省设置。如果您将此属性更改为 true,则重新运行 dumpNameSpace 工具并取消登录提示;授权失败并且命令不会继续运行。
可以利用 dumpNameSpace -? 命令来查看dumpNameSpace工具的使用
2.4.1 示例:调用名称空间转储工具
这通常对于查看名称空间的转储以理解命名操作失败的原因有帮助。您可以从命令行或程序调用名称空间转储工具。下面是每个选项的示例。
从命令行调用名称空间转储工具
通过输入下列任一命令,从命令行调用名称空间转储工具:
dumpNameSpace -host myhost.mycompany.com -port 901
或:
dumpNameSpace -url corbaloc:iiop:myhost.mycompany.com:901
有若干可供选择的命令行选项。要获取选项的帮助,输入下列任一命令:
DumpNameSpace -help
或:
dumpNameSpace ?
2.4.2 从 Java 程序调用名称空间转储工具
您可以从具有 com.ibm.websphere.naming.DumpNameSpace API 的程序转储名称空间。参阅 WebSphere Application Server API 文档,以获取有关 DumpNameSpace 程序接口的详细信息。
下面的示例说明如何从 Java 程序调用名称空间转储工具:
{
...
import javax.naming.Context;
import javax.naming.InitialContext;
import com.ibm.websphere.naming.DumpNameSpace;
...
java.io.PrintStream filePrintStream = ...
Context ctx = new InitialContext();
// Starting context for dump
ctx = (Context) ctx.lookup("cell/nodes/node1/servers/server1");
DumpNameSpace dumpUtil =
new DumpNameSpace(filePrintStream, DumpNameSpace.SHORT);
dumpUtil.generateDump(ctx);
...
}
2.4.3名称空间转储样本输出
名称空间转储输出与以下示例相似,该示例的格式为 SHORT 转储格式:
Getting the initial context
Getting the starting context
==============================================================================
Name Space Dump
Provider URL: corbaloc:iiop:localhost:9810
Context factory: com.ibm.websphere.naming.WsnInitialContextFactory
Requested root context: cell
Starting context: (top)=outpostNetwork
Formatting rules: jndi
Time of dump: Mon Sep 16 18:35:03 CDT 2002
==============================================================================
==============================================================================
Beginning of Name Space Dump
==============================================================================
1 (top)
2 (top)/domain javax.naming.Context
2 Linked to context: outpostNetwork
3 (top)/cells javax.naming.Context
4 (top)/clusters javax.naming.Context
5 (top)/clusters/Cluster1 javax.naming.Context
6 (top)/cellname java.lang.String
7 (top)/cell javax.naming.Context
7 Linked to context: outpostNetwork
8 (top)/deploymentManager javax.naming.Context
8 Linked to URL: corbaloc::outpost:9809/NameServiceServerRoot
9 (top)/nodes javax.naming.Context
10 (top)/nodes/will2 javax.naming.Context
11 (top)/nodes/will2/persistent javax.naming.Context
12 (top)/nodes/will2/persistent/SomeObject SomeClass
13 (top)/nodes/will2/nodename java.lang.String
14 (top)/nodes/will2/domain javax.naming.Context
14 Linked to context: outpostNetwork
15 (top)/nodes/will2/cell javax.naming.Context
15 Linked to context: outpostNetwork
16 (top)/nodes/will2/servers javax.naming.Context
17 (top)/nodes/will2/servers/server1 javax.naming.Context
18 (top)/nodes/will2/servers/will2 javax.naming.Context
19 (top)/nodes/will2/servers/member2 javax.naming.Context
20 (top)/nodes/will2/node javax.naming.Context
20 Linked to context: outpostNetwork/nodes/will2
21 (top)/nodes/will2/nodeAgent javax.naming.Context
22 (top)/nodes/outpost javax.naming.Context
23 (top)/nodes/outpost/node javax.naming.Context
23 Linked to context: outpostNetwork/nodes/outpost
24 (top)/nodes/outpost/nodeAgent javax.naming.Context
24 Linked to URL: corbaloc::outpost:2809/NameServiceServerRoot
25 (top)/nodes/outpost/persistent javax.naming.Context
26 (top)/nodes/outpost/nodename java.lang.String
27 (top)/nodes/outpost/domain javax.naming.Context
27 Linked to context: outpostNetwork
28 (top)/nodes/outpost/servers javax.naming.Context
29 (top)/nodes/outpost/servers/server1 javax.naming.Context
30 (top)/nodes/outpost/servers/server1/url javax.naming.Context
31 (top)/nodes/outpost/servers/server1/url/CatalogDAOSQLURL
31 java.net.URL
32 (top)/nodes/outpost/servers/server1/mail javax.naming.Context
33 (top)/nodes/outpost/servers/server1/mail/PlantsByWebSphere
33 javax.mail.Session
34 (top)/nodes/outpost/servers/server1/TransactionFactory
34 com.ibm.ejs.jts.jts.ControlSet$LocalFactory
35 (top)/nodes/outpost/servers/server1/servername java.lang.String
36 (top)/nodes/outpost/servers/server1/WSsamples javax.naming.Context
37 (top)/nodes/outpost/servers/server1/WSsamples/TechSampDatasource
37 TechSamp
38 (top)/nodes/outpost/servers/server1/thisNode javax.naming.Context
38 Linked to context: outpostNetwork/nodes/outpost
39 (top)/nodes/outpost/servers/server1/cell javax.naming.Context
39 Linked to context: outpostNetwork
40 (top)/nodes/outpost/servers/server1/eis javax.naming.Context
41 (top)/nodes/outpost/servers/server1/eis/DefaultDatasource_CMP
41 Default_CF
42 (top)/nodes/outpost/servers/server1/eis/WSsamples javax.naming.Context
43 (top)/nodes/outpost/servers/server1/eis/WSsamples/TechSampDatasource_CMP
43 TechSamp_CF
44 (top)/nodes/outpost/servers/server1/eis/jdbc javax.naming.Context
45 (top)/nodes/outpost/servers/server1/eis/jdbc/PlantsByWebSphereDataSource_CMP
45 PLANTSDB_CF
46 (top)/nodes/outpost/servers/server1/eis/jdbc/petstore
46 javax.naming.Context
47 (top)/nodes/outpost/servers/server1/eis/jdbc/petstore/PetStoreDB_CMP
47 PetStore_CF
48 (top)/nodes/outpost/servers/server1/eis/jdbc/CatalogDB_CMP
48 Catalog_CF
49 (top)/nodes/outpost/servers/server1/jta javax.naming.Context
50 (top)/nodes/outpost/servers/server1/jta/usertransaction
50 java.lang.Object
51 (top)/nodes/outpost/servers/server1/DefaultDatasource
51 Default Datasource
52 (top)/nodes/outpost/servers/server1/jdbc javax.naming.Context
53 (top)/nodes/outpost/servers/server1/jdbc/CatalogDB CatalogDB
54 (top)/nodes/outpost/servers/server1/jdbc/petstore javax.naming.Context
55 (top)/nodes/outpost/servers/server1/jdbc/petstore/PetStoreDB
55 PetStoreDB
56 (top)/nodes/outpost/servers/server1/jdbc/PlantsByWebSphereDataSource
56 PLANTSDB
57 (top)/nodes/outpost/servers/outpost javax.naming.Context
57 Linked to URL: corbaloc::outpost:2809/NameServiceServerRoot
58 (top)/nodes/outpost/servers/member1 javax.naming.Context
59 (top)/nodes/outpost/cell javax.naming.Context
59 Linked to context: outpostNetwork
60 (top)/nodes/outpostManager javax.naming.Context
61 (top)/nodes/outpostManager/domain javax.naming.Context
61 Linked to context: outpostNetwork
62 (top)/nodes/outpostManager/cell javax.naming.Context
62 Linked to context: outpostNetwork
63 (top)/nodes/outpostManager/servers javax.naming.Context
64 (top)/nodes/outpostManager/servers/dmgr javax.naming.Context
64 Linked to URL: corbaloc::outpost:9809/NameServiceServerRoot
65 (top)/nodes/outpostManager/node javax.naming.Context
65 Linked to context: outpostNetwork/nodes/outpostManager
66 (top)/nodes/outpostManager/nodename java.lang.String
67 (top)/persistent javax.naming.Context
68 (top)/persistent/cell javax.naming.Context
68 Linked to context: outpostNetwork
69 (top)/legacyRoot javax.naming.Context
69 Linked to context: outpostNetwork/persistent
70 (top)/persistent/AnotherObject AnotherClass
==============================================================================
End of Name Space Dump
==============================================================================
2.5 IBM Support Assistant
IBM Support Assistant 是一个工具,它可帮助您使用 WebSphere Application Server 管理控制台中的各种 IBM Support 资源。 IBM Support Assistant 提供三个组件来帮助您解决软件方面的问题:
搜索组件,它帮助您访问多个位置的相关支持信息
支持链接组件,它提供访问各种 IBM Web 资源(如 IBM 产品站点、IBM 支持站点和到 IBM 新闻组的链接)的便利位置。
服务组件,它帮助您向 IBM 提交包括键控系统数据的增强服务请求。
要下载 IBM Support Assistant:
1. 登录到管理控制台并从顶部菜单选择支持。这会打开产品支持页面,从该页面您可以下载 IBM Support Assistant,还可访问各种 IBM Web 资源(如 IBM 产品站点、IBM 支持站点和到 IBM 新闻组的链接)。
2. 选择"单击此处以下载 IBM Support Assistant"下载此工具并按照自述文件中的指示信息安装此工具。
一旦在管理控制台中安装 IBM Support Assistant,您就可以通过从管理控制台中的顶部菜单选择"支持"来启动它。将在新浏览器窗口中显示 IBM Support Assistant 的搜索组件。
要了解关于如何使用 IBM Support Assistant 的更多信息,单击 IBM Support Assistant 窗口中的 User Guide 选项卡。
注: 管理控制台中的"支持"链接是上下文件相关的链接。当未安装 IBM Support Assistant 时,"支持"链接显示 到 IBM Support Assistant 下载页面和 WebSphere Application Server 产品的各种 IBM Web 资源的链接。一旦安装 IBM Support Assistant,"支持"链接就可以启动 IBM Support Assistant 主页面。
回页首
3. 故障诊断的其它相关资源
除了上面介绍的故障诊断的资源和工具外,还有几个基于 Web 的资源可用于研究和解决与 WebSphere Application Server 相关的问题。
3.1 WebSphere Application Server 支持页面
提供关于 WebSphere Application Server 问题的工具和共享知识的正式站点。在它提供的功能部件之间是:
搜索字段 - 用于搜索整个支持站点以获得与特定异常、错误消息或其他问题相关的文档和修正。直接联系 IBM Support 前使用此搜索功能。
提示和技巧、技术和解决方案链接带领您到由 WebSphere Application Server 技术支持人员制订的特定问题和解决方案。
链接所有修订、修订包、更新包和工具提供免费的 WebSphere Application Server 维护升级和问题确定工具。 o 修订是软件补丁,它处理特定的 WebSphere Application Server 缺陷。从所有修订、修订包、更新包和工具页面中的列表选择一个特定缺陷,您就会看到修订所针对的问题的描述。 o 修订包是多个修订的累积,一起经过测试并且发行以作为对 WebSphere Application Server 的维护升级。更新包是也包含新功能的修订包。如果您从此页面选择修订包,则会把您带到描述目标平台、WebSphere Application Server 先决条件级别和其他相关信息的页面 。选择该页面上的列出缺陷链接以显示修订包包括的修订列表。如果您要安装作为修订包一部分的修订,则通常最好升级到完整的修订包而不只是安装个别的修订。 o 工具是免费的程序,帮助您分析您的 WebSphere Application Server 安装的配置、行为和性能。
3.2 访问 WebSphere Application Server 支持页面资源
WebSphere Application Server 支持页面上的某些资源用钥匙图标标记。要访问这些资源,必须提供用户标识 和密码,或者,如果尚没有识别,则进行注册。注册时,会向您要求合同号,它是作为 WebSphere Application Server 购买的部件而提供的。
3.3 developerWorks WebSphere 专区
developerWorks WebSphere 专区是 IBM 支持的站点,用于使开发者能够了解有关 IBM 软件产品及如何使用它们。 它们包含资源,如文章、教程和到新闻组与用户组的链接。您可以访问 WebSphere 开发者园地。
3.4 IBM Support 页面
IBM Support 拥有的文档可节省您收集解决此问题所需信息的时间。在打开 PMR 前,请参阅 IBM Support 页 面。
回页首
总结
WebSphere Application Server 包括设计来帮助您隔离问题源的许多故障诊断工具。这篇文章提供了如何对 WebSphere Application Server 问题进行故障诊断的相关工具和一些资源的介绍.
关于作者
何利兵,CA中国技术中心(CTC)的软件测试工程师,DB2认证专家,我所感兴趣的技术领域包括WebSphere,数据库管理系统,软件测试技术, 存储备份领域。您可以通过 Libing.He@ca.com 和我联系。
文档选项
打印本页
将此页作为电子邮件发送
级别: 中级
何 利兵 (Libing.He@ca.com), ICA中国技术中心(CTC)的软件测试工程师
2007 年 5 月 24 日
本文主要介绍了 WebSphere Application Server提供的一些帮助管理员以及开发者进行故障诊断的资源和工具。
概述
故障诊断是查找并除去问题的起因的过程。一旦您发现WebSphere运行环境有问题,故障诊断过程就开始。WebSphere的基本故障诊断策略包括:
1. 记录症状
根据您的应用程序、服务器或是工具中出现的问题的类型,您可能接收到表明出现问题的消息。通过记录每条消息的详细信息,您就会对定位问题的所在了解更多。
2. 重新创建问题
如果您一直有可重复的测试用例,则您可以很方便地确定哪些解决方案是必需的。
3. 除去可能的起因
通过排除那些不是导致问题的组件以缩小问题的范围,您可以使问题简单化,并且避免浪费时间。
4. 使用诊断工具
WebSphere Application Server提供了一些帮助管理员以及开发者进行故障诊断的工具和资源,合理的利用这些工具和资源,当WebSphere Application Server出现故障的时候,可以帮助我们准确的定位问题的所在。
回页首
1.故障诊断的资源
1.1 确定WebSphere产品安装信息
WebSphere Application Server的版本以及相关软件(例如:WebServer,Plug-in,JDK)的版本信息是重要的。所有的组件要求在正确的版本以便它们之间能够很好的协调工作。下面的主题告诉您怎样确定您的环境中各组件的版本信息。
1.1.1 确定WAS产品信息
1)通过执行versionInfo命令
执行WebSphere Application Server安装目录的bin目录下的versionInfo命令,由输出信息可以查看到WAS的产品信息。
Windows平台执行versionInfo.exe
Unix和Linux平台执行versionInfo.sh
列表1. 在Linux系统下执行versionInfo命令的一个例子以及输出信息.
# cd <was_home>/bin
# ./versionInfo.sh
WVER0010I: Copyright ? IBM Corporation 2002; All rights reserved.
WVER0011I: WebSphere Application Server Release 6.0
WVER0012I: VersionInfo Reporter Version 1.15, Dated 9/20/03
IBM WebSphere Application Server Product Installation Status Report
Report at date and time 2005-06-21T13:07:05+08:00
Installation
---------------------------------------------------------------------
Product Directory /opt/IBM/WebSphere/AppServer
Version Directory /opt/IBM/WebSphere/AppServer/properties/version
DTD Directory /opt/IBM/WebSphere/AppServer/properties/version/dtd
Log Directory /opt/IBM/WebSphere/AppServer/logs/update
Backup Directory /opt/IBM/WebSphere/AppServer/properties/backup
TMP Directory /tmp
Installation Platform
Name IBM WebSphere Application Server
Version 6.0-
Technology List
ND installed
Installed Product
Name IBM WebSphere Application Server - ND
Version 6.0.0.1
ID ND
Build Level o0445.08
Build Date 11/10/04
End Installation Status Report
2)通过WebSphere Application Server安装目录下的产品属性文件查找 查看<was_home>/properties/version/WAS.product 文件,此文件包含WebSphere Application Server产品相关信息.
列表2. WAS.product文件的一个示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE product PUBLIC "productId" "product.dtd">
<product name="IBM Websphere Application Server - ND">
<id>ND<id>
<version>6.0.0.1</version>
<build-info date"11/10/04" level="o0445.08"/>
</product>
3)通过SystemOut.log文件查找
查看任意概要文件(profile)下的SystemOut.log文件,此文件包含WebSphere Application Server产品相关信息.
列表3. SystemOut.log文件的一个示例如下:
************ Start Display Current Environment ************
WebSphere Platform 6.0 [ND 6.0.0.1 o0445.08] running with process name
Wasdev25Node01Cell\wasdev25Node01\server1 and process id 12514
Host Operating System is Linux, version is 2.4.21-278-default
Java version = J2Re 1.4.2 IBM build cxia32142sr1w-200041028 (JIT enabled:jitc)
Java Compiler = jitc, Java Vm name = Classic VM
was.install.root = /opt/IBM/WebSphere/AppServer
user.install.root = /opt/IBM/WebSphere/AppServer/profiles/AppSrv02
Java Home = /opt/IBM/WebSphere/AppServer/java/bin/../jre
************ End Display Current Environment ************
4)通过管理控制台查找
如果WebSphere Application Server已经启动且在运行中,您可以通过管理控制台来查看WebSphere Application Server的产品信息处,这也是最方便的一种查看WebSphere Application Server产品信息的方式了。
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中选择 服务器 -> 应用程序服务器
3)点击一个服务器,例如 Server1
4)选择 运行时 标签
5)从 其它属性 列表下,点击 产品信息
图1 通过管理控制台查找产品信息
1.1.2 确定JDK的版本信息
1)通过SystemOut.log文件查找
查看任意慨要文件(profile)下的SystemOut.log文件,此文件包含WebSphere Application Server产品相关信息,包括JDK的版本信息。
<profile_home>/logs/server1/SystemOut.log
2)通过从命令行运行 java -fullversion
<was_home>/java/bin/java -fullversion
列表4: 从命令行运行确定jdk版本信息
wasdev25:/opt/IBM/WebSphere/AppServer/java/bin # ./java -fullversion
java full version "J2RE 1.4.2 IBM build cxia32142sr1w-20041028"
1.1.3 确定Web服务器的版本信息
1)检查Windows平台上的IBM HTTP Server的版本信息,运行apache.exe -v
列表5: 检查Windows平台上的IBM HTTP Server的版本信息
apache.exe -v
C:\Program Files\IBM HTTP Server\bin>apache -v
Server version: IBM_HTTP_Server/6.0 Apache/2.0.47
Server built: Nov 4 2004 10:11:21
2)检查Unxi和Linux平台上的IBM HTTP Server的版本信息,运行httpd -v
列表6: 检查Unix/Linux平台上的IBM HTTP Server的版本信息
httpd -v
Server version: IBM_HTTP_Server/6.0 Apache/2.0.47
Server built: Nov 4 2004 10:11:21
1.2 管理控制台消息(Administrative console messages)
管理控制台提供了一些重要的关于WAS运行时事件以及配置问题的信息。在管理控制台中的故障诊断中显示了运行状态的消息,您可以查看配置问题的消息以及运行时消息。
图2. 显示一个运行时事件的错误信息页,包含一些在运行时的错误列表:
如果您需要查看一个消息的详细内容,在消息列中点击相应的消息文本即可,下图显示的是点击第一个消息内容后的样子。
图3. 显示的是点击第一个消息内容后的样子:
根据这些配置问题或者运行时的消息,您可以了解Application Server的运行状态,以及根据相应的错误消息的提示信息进行相应的配置。
1.3 使用日志文件
WebSphere Application Server 可以写系统消息到几个通用日志。这些日志包括 JVM 日志、进程日志和 IBM 服务日志。
1.3.1 JVM日志
JVM 日志是通过重定向 JVM 的 System.out 和 System.err 流到独立的日志文件而创建的。WebSphere Application Server 写格式化的消息到 System.out 流。另外,应用程序和其它代码可以写入这些流,这通过使用流定义的 print() 和 println() 方法实现。
通常,System.out 日志用于监控应用程序服务器的运行是否正常。System.out 日志可用于问题确定。System.err 日志包含异常堆栈跟踪信息,这在执行问题分析时很有用。
因为每个应用程序服务器都代表 JVM,所以每个应用程序服务器和它的所有应用程序都有一组 JVM 日志,缺省情况下该日志位于 installation_root/profiles/profile_name/logs/server_name 目录。在 WebSphere Application Server Network Deployment 配置的情况下,也为 Deployment Manager 和每个节点管理器创建 JVM 日志,因为它们也代表 JVM。
1.3.2 配置JVM日志
可以利用管理控制台来查看以及修改JVM SystemOut.log 和 SystemErr.log
1)访问管理控制台页面 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 JVM日志
5)在 配置 标签下,显示了JVM日志的相关属性
图4. 显示JVM日志的相关属性
1.3.3 进程日志
WebSphere Application Server 进程包含两个可访问进程中运行的本机代码的输出流。这些流是 stdout 和 stderr 流。本机代码(包括 JVM)可以将数据写到这些进程流。另外,JVM 提供的 System.out 和 System.err 流也可以配置为将它们的数据写入这些流。
缺省情况下,在应用程序服务器启动时重定向 stdout 和 stderr 流到日志文件,其包含由本机模块(.dll、.exe、UNIX 库和其他模块)写入 stdout 和 stderr 流的文本。缺省情况下,这些文件存储为 installation_root/logs/applicationServerName/native_stderr.log 和 native_stdout.log。
1.3.4 配置进程日志
可以利用管理控制台来查看以及修改JVM SystemOut.log 和 SystemErr.log
1)访问管理控制台页面 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 进程日志
5)在 配置 标签下,显示了进程日志的相关属性
图5 显示进程日志的相关属性
1.3.5 服务日志(Service log)
服务日志是用二进制格式写的特殊日志。您无法使用文本编辑器直接查看日志。您不可以直接编辑服务日志,因为这样做会破坏日志。要将服务日志从一台机器移动到另一台机器,您必须使用支持二进制文件传送的机制(如 FTP)。
您可以两种方式查看服务日志:
1)建议使用日志分析器工具来查看服务日志。此工具提供互操作式查看和分析能力,此能力在识别问题方面很有用。
2)如果您无法使用日志分析器工具,您可使用 Showlog 工具将服务日志的内容转换成接下来您可写到文件或转储到命令外壳程序窗口的文本格式。
要运行 showlog 脚本:
在服务日志驻留的机器上打开 shell 窗口。
更改目录到 installation_root/bin,其中 install_directory 是安装了 WebSphere Application Server 产品的标准路径。
运行 showlog 脚本:
在 Windows 系统上,此脚本名为 showlog.bat。
在 UNIX 和 z/OS 系统上,此脚本名为showlog.sh 要将服务或活动日志(activity.log)内容导向标准输出,就使用 showlog activity.log 命令。
要转储服务或活动日志到文本文件以便使用文本编辑器查看,就使用 showlog activity.log textFileName 命令
1.3.6 配置服务日志
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 服务日志
5)在 配置 标签下,显示了服务日志的相关属性
图6 显示服务日志的相关属性
1.4 使用跟踪
使用跟踪获取关于执行 WebSphere Application Server 组件的详细信息,这些组件包括应用程序服务器、客户机和环境中的其它进程。跟踪文件显示 WebSphere Application Server 基本类调用的方法的时间和顺序,并且您可使用这些文件来查明故障。
通常由 IBM 技术支持人员要求收集跟踪。如果您不熟悉 WebSphere Application Server 的内部结构,则跟踪输出可能对您没有意义。
默认情况下,所有WebSphere Application Server组件的traces是关闭的,您需要手工的激活它。一定要记住的是,当您完成了信息的收集后,需要关闭traces,因为打开traces会降低WebSphere Application Server的性能。
服务器进程的诊断跟踪配置设置确定服务器进程的初始跟踪状态。服务器启动时读配置设置并使用它们配置跟踪服务。在服务器进程运行时也可以更改许多跟踪服务属性或设置。
1.4.1 服务器启动时启用跟踪
1)访问管理控制台 http://localhost:9060/ibm/console
2)在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3)点击一个server名字来选择一个server
4)选择 诊断跟踪
5)在 配置 标签下,显示了traces的相关属性
图7 显示traces的相关属性
6)启用跟踪复选框启用跟踪,清除此复选框禁用跟踪。
7)选择将跟踪输出定向到文件还是定向到内存中循环缓冲区
8)如果为跟踪输出选择内存中循环缓冲区,则设置缓冲区的大小(以千条目为单位)。 这是在任何给定的时间缓冲区中将保留的最大条目数。
9)如果为跟踪输出选择文件,则将最大大小(以兆字节为单位)设置为应该允许文件增长的大小。
当文件达到此大小时,将关闭现有文件、对它重命名并重新打开具有原始名称的新文件。文件的新名称将基于带有添加给其的时间戳记限定符的原始名称。另外,指定要保留的历史文件数。
9)选择已生成的跟踪期望的格式。
10)保存更改的配置。
11)要输入跟踪字符串以将跟踪规范设置为需要的状态:
a. 在控制台导航树中单击故障诊断 > 记录和跟踪。
b. 选择服务器名。
c. 单击更改日志级别详细信息。
d. 如果已启用所有组件,则可能要关闭它,然后启用特定组件。
e.单击组件或组名。
f.在跟踪字符串框中输入跟踪字符串。
g.选择应用,然后选择确定。
12)允许节点有足够时间同步,然后启动服务器。
通过使用下列过程,可修改确定为正在运行的服务器活动跟踪哪些组件的跟踪服务状态。
1.4.2 在运行的服务器上启用跟踪
1)访问管理控制台 http://localhost:9060/ibm/console
2) 在左边的导航菜单中点击故障诊断 -> 日志和跟踪
3) 选择运行时选项卡。
4) 如果您要将您的更改写回到服务器配置,则选择保存跟踪复选框。
5) 通过将跟踪规范更改为期望状态,更改现有跟踪状态。
6) 如果从现有跟踪状态的更改为期望的,则配置跟踪输出。
7)单击应用。
1.5 检测 J2EE 应用程序中的挂起线程
J2EE 应用程序中的一个常见错误是挂起线程。挂起线程可能由于简单软件缺陷(例如,无限循环)或更复杂的原因(例如,资源死锁)导致。当线程运行未绑定的代码路径时(例如,当代码在无限循环中运行时),系统资源(例如,CPU 时间)可能由此挂起事务消耗。另一方面,因为处于死锁方案,所以即使所有资源都空闲,系统也可能变得不应答。除非最终用户或监控工具报告该问题,否则系统可能无限期地保持在此退化状态中。
缺省情况下,WebSphere Application Server 的挂起检测选项打开。如果早一些对失败的服务器进行检测,那么您可以配置挂起检测策略以适应您的应用程序和环境,从而可以报告潜在挂起。检测到挂起线程 时,WebSphere Application Server 将通知您,以使您可以对问题进行故障诊断。
使用挂起检测策略,您可以指定对于完成工作单元来说过长的时间。线程监控器检查系统中的所有受管线程(例如,Web 容器线程和对象请求代理程序(ORB)线程)。非受管线程(由应用程序创建的线程)不受监控。
当 WebSphere Application Server 检测到线程活动时间比线程监控器阈值定义的时间长时,应用程序服务器将采取以下操作:
在 WebSphere Application Server System.Out 日志文件中记录警告,标识挂起线程的名称及其已活动的时间。以下消息将写入日志: WSVR0605W: 线程 threadname 已活动 hangtime,可能挂起。服务器中总共有 totalthreads 个线程可能挂起。其中:threadname 是 JVM 线程转储中出现的名称,hangtime 给出线程已活动时间的近似值,而 totalthreads 给出系统线程的总估计。
发出 Java 管理扩展(JMX)通知。此通知启用第三方工具以获取事件并采取适当的操作,例如触发服务器的 JVM 线程转储,或者发出电子页面或电子邮件。以下 JMX 通知事件是在 com.ibm.websphere.management.NotificationConstants 类中定义的:
TYPE_THREAD_MONITOR_THREAD_HUNG 此事件由(潜在)挂起线程的检测触发。
TYPE_THREAD_MONITOR_THREAD_CLEAR
如果先前报告为挂起的线程完成其工作,则此事件触发。请参阅错误警报。
触发器在性能监视基础结构(PMI)数据计数器中更改。这些 PMI 数据计数器由各种工具(例如,Tivoli Performance Viewer)使用以提供性能分析。
1.5.1 挂起时间阈值的自动调节
如果线程监控器确定发出了过多错误警报(由挂起和清除消息对数确定),那么它可以自动调节阈值。此调节发生时,以下消息将写入 System.out 日志:
WSVR0607W: 错误报告了过多线程挂起。挂起阈值现在设置为 thresholdtime。其中:thresholdtime 是线程被认为挂起前它可以活动的时间(以秒为单位)。您可以阻止 WebSphere Application Server 自动调节挂起时间阈值。
1.5.2 调整运行中服务器的挂起检测策略
您可使用 wsadmin 脚本接口调整线程监控设置。这些更改会立即生效,但不会保存在服务器配置中,服务器重新启动时会丢失。以下脚本提供了一个示例,说明如何使用 wsadmin 工具调整线程监控的属性:
# Read in the interval, threshold, false alarm from the command line
set interval [lindex $argv 0]
set threshold [lindex $argv 1]
set adjustment [lindex $argv 2]
# Get the object name of the server you want to change the values on
set server [$AdminControl completeObjectName "type=Server,*"]
# Read in the interval and print to the console
set i [$AdminControl getAttribute $server threadMonitorInterval]
# Read in the threshold and print to the console
set t [$AdminControl getAttribute $server threadMonitorThreshold
# Read in the false alarm adjustment threshold and print to the console
set a [$AdminControl getAttribute $server threadMonitorAdjustmentThreshold]
# Set the new values using the command line parameters
$AdminControl setAttribute $server threadMonitorInterval ${interval}
$AdminControl setAttribute $server threadMonitorThreshold ${threshold}
$AdminControl setAttribute $server threadMonitorAdjustmentThreshold ${threshold}
回页首
2.诊断故障的工具
2.1日志分析器
Log Analyzer是一个图形化的工具,用来帮助用户查看、分析日志的。日志分析器采用一个或多个服务日志或跟踪日志,合并所有数据,并显示这些条目。根据它的症状数据库,该工具分析和解释日志条目中的事件或错误情况来帮助您诊断问题。日志分析器有一个特殊的功能部件,使得它可以从 IBM Web 站点下载最新的症状数据库。要下载症状数据库的最新更新,使用日志分析器界面中的文件 -> 更新数据库 -> WebSphere Application Server 症状数据库选项(对于 WebSphere Application Server),或 WebSphere Application Server Network Deployment 症状数据库选项(对于 WebSphere Application Server Network Deployment)。
应用程序服务器从各种 WebSphere Application Server 组件的活动创建服务或活动日志文件。日志分析器用于查看服务或活动日志文件。日志分析器可以将服务或活动日志文件合并成一个日志文件。服务或活动日志文件(activity.log)是二进制文件,它位于 install_root 的 logs 目录中。不能用文本编辑器查看服务或活动日志。日志分析器工具允许您查看该文件。Log Analyzer通过比较日志文件中的错误记录与数据库中已有的记录,然后显示出所有相匹配的记录。
图8. Log Analyzer结构图
2.1.1 运行 Log Analyzer
1)更改目录至<was_home>/bin
2)运行 waslogbr 脚本文件。 此文件命名为:
waslogbr.bat(在 Windows 系统上)。
waslogbr(在 UNIX 系统上)。
此脚本必须从 install_dir/bin 目录运行。
3)当Log Analyzer 图形界面起来后,选择 文件 -> 打开
4) 浏览至包含服务或活动日志文件的目录
5) 选择服务或活动日志文件并单击打开,您应该能看到打开的activity.log。
图9 用Log Analyzer打开的activity.log
6)选择UnitOfWorkView文件夹下的一个条目,关于此条目的详细信息就会出现在右上角的面板上。
图10 关于一个条目的详细信息
7)要分析记录,右键单击左边树中的记录,从右键单击菜单选择 UnitOfWorkView,然后选择分析。
现在,任何在它们的旁边有绿色复选标记的记录都与症状数据库中的记录匹配。当您选择一个有复选标记的记录时,您将在右下窗格中看到问题的说明。
图11 关于问题的详细说明
2.1.2 更新symptom database
新版本的symptom database包含更多的通用的事件和一些错误信息,可以通过Analyzer Log下载最新的symptom database。
1)对于 WebSphere Application Server or Express, 选择 File -> Update Database -> WebSphere Application Server Symptom Database.
2) 对于 WebSphere Application Server Network 选择 File -> Update Database -> Application Server Network Deployment
图12 通过Analyzer Log下载最新的symptom database
2.2 使用收集器工具
收集器工具收集 WebSphere Application Server 安装信息,并将它打包后放在 Java 归档(JAR)文件中,您可将该文件发送给 IBM 客户支持人员以辅助确定和分析您的问题。JAR 文件的信息包括日志、属性文件、配置文件、操作系统和 Java 数据以及存在的每个必备软件及其级别。
有两种方式可以运行收集器工具。可执行收集器工具,以收集摘要数据,或通过系统收集相关文件和命令结果。 收集器工具产生确定和解决问题需要的信息的 Java 归档(JAR)文件。收集器摘要选项产生首次向 IBM 支持人员报告问题时有用的版本和其他信息的有问题的集合。
使用收集器工具有两个阶段。第一阶段是在您的 WebSphere Application Server 产品上运行收集器工具,并产生一个 Java 归档(JAR)文件。IBM 支持人员团队执行第二阶段,即分析收集器产生的 Java 归档(JAR)文件。
运行收集器以完成创建 JAR 文件(不管可能发现的任何错误)。错误可能包括缺少的文件或命令。收集器工具尽可能将大量数据收集在 JAR 文件中。
2.2.1 运行收集器工具Collector
1)以 root 或(Windows 平台中的 Administrator)身份登录系统。
2)验证 Java 1.2.2 或更高版本在路径中是可用的。 收集器程序需要运行 Java 代码。它还收集关于它在其中运行的 IBM Developer Kit, Java Technology Edition 的数据。如果在系统上有多个 Developer Kit,验证 WebSphere Application Server 产品使用的是收集器程序的路径中的那个。如果 WebSphere Application Server 使用的 Developer Kit 不可用,则将另一个 Developer Kit 放入收集器程序的路径会使您收集除有关 Developer Kit 的信息之外的所有数据。
3)验证是否所有必需的信息存在收集器程序使用的路径中,并且您不在 WebSphere Application Server 产品安装根目录中运行程序。
a. 如果此系统是 Linux 或基于 UNIX 的平台,验证路径包含:
/bin
/sbin
/usr/bin
/usr/sbin
b. 如果此系统是 Windows 平台,在路径中包含 regedit。
4)在您想启动收集器程序的位置创建工作目录。
5)使工作目录成为当前目录。 收集器程序将它的输出 JAR 文件写到当前目录。程序还在当前目录中创建和删除许多临时文件。创建工作目录来运行收集器程序避免命名冲突并使清除更简便。您不能在 WebSphere Application Server 安装目录下的目录中运行收集器工具。
6)通过从命令行输入命令 collector 来运行收集器程序。
不带附加参数地使用 collector 命令将集中显示节点数据和节点中每个服务器的数据的一个副本,并且将它们存储在单个 JAR 输出文件中。要从节点中的特定服务器收集数据,请使用命令 collector.bat/sh -servername servername,其中 servername 是服务器的名称。
注: 您需要正确地设置路径。对于 Linux 和基于 UNIX 的平台,install_root/bin 必须在路径中,以找到 collector.sh 命令。对于 Windows 平台,install_root\bin 必须在路径中,以找到 collector.bat 命令。
WebSphere Application Server 安装根目录在安装时确定。 它在 setupCmdLine.sh 文件(或在 Windows 平台上为 setupCmdLine.bat 文件)中标识。您可以输入收集器命令的全限定路径。例如,在 Windows 平台上的缺省安装中输入此命令:
c:\WebSphere\AppServer\bin\collector.bat
2.2.2 结果
收集器程序在当前目录中创建日志文件 Collector.log 和输出 JAR 文件。
JAR 文件的名称基于 Application Server 产品的主机名和软件包,其格式为:hostname-cellname-nodename-profile。
Collector.log 日志文件是 hostname-cellname-nodename-profile 文件中收集的某个文件。
2.2.3 下一步做什么
将 hostname-cellname-nodename-profile 文件发送给 IBM 支持人员进行分析。
2.2.4 分析收集器工具输出
在您的 WebSphere Application Server 产品上使用收集器工具的第一步是运行工具以将 Java 归档(JAR)文件作为输出。使用收集器工具中的第二步是分析其输出。执行此分析的首选方法是将 JAR 文件发送至 IBM Support 进行分析。
然而,如果执行您自己的分析,可以使用此主题了解 JAR 文件的内容。
您可以查看 JAR 文件中包含的文件而无需解压缩来自 JAR 文件的文件。然而,你还是可以很方便地解压缩所有文件并分别查看每个文件的内容。要解压缩文件,使用下列某个命令:
jar -xvf WASenv.jar
unzip WASenv.jar
Wasenv.jar 是收集器创建的 JAR 文件名。
JAR 文件包含:
收集器执行日志文件,Collector.log
存储的 WebSphere Application Server 文件的副本和它们的全路径
操作系统信息位于名称为 OS 的目录中
Java 信息位于名称为 JAVA 的目录中
WebSphere Application Server 信息位于名称为 WAS 的目录中
收集器 shell 脚本(或批处理文件)执行信息位于名称为 debug 的目录中
MQ 信息位于名称为 MQ 的目录中(如果您安装了 WebSphere MQ 或嵌入式消息传递功能部件)
JAR 文件清单
2.2.5 使用Collect工具的一些提示和建议:
解压缩(unzip)JAR 文件到空目录以方便地访问集中的文件和简化清除。
请检查 collector.log 文件以获取错误信息:
有些错误可能是正常或意料中的。例如,当收集器尝试集中对于特定安装不存在的文件或目录时,它记录关于缺少文件的错误信息。
非零返回码意味着收集器工具尝试运行的命令不存在。在某些情况下,这是意料中的。如果重复发生此类错误,也许的确是一个问题。
在 Linux 和基于 UNIX 的系统上,文件 OS/commands 具有所有使用过的命令的位置。如果您缺少命令输出,检查此文件查看是否找到命令。
在 Linux 和基于 UNIX 的系统上,收集器运行一些 shell 脚本。shell 脚本输出保存在 OS 目录的文件中,而相应的调试信息保存在 debug 目录中。如果缺少 shell 脚本的输出,则检查 debug 目录中的相应文件。
在存在多个安装实例的情况下,当您发出 collector 命令时,该工具根据 PATH 语句运行。例如,如果您在同一台机器上安装了 Base WebSphere Application Server 和 Deployment Manager 产品,在 PATH 变量中首先出现的 bin 目录是提供给收集器工具的那个目录。要解决此问题,当调用收集器工具时使用标准文件路径,如 Windows 平台的示例是:c:\WebSphere\AppServer\bin\collector.bat
在 Windows 系统上,OS 目录包含名为 installed.out 的文件。此文件包含"添加/删除程序"列表中找到的程序列表。与此相同的信息包含在 Desktop\My Computer\Control Panel\Add/Remove Programs\Install/Uninstall 文件中。
2.2.6 收集器摘要
从 V5.0.2 开始,WebSphere Application Server 产品包括了对收集程序工具的增强,称为收集程序摘要选项。
收集程序摘要选项可帮助您与 IBM 支持人员中的 WebSphere Application Server 技术人员进行沟通。运行带有 -Summary 选项的收集程序工具产生一个有问题的文本文件和运行不带有 -Summary 参数的该工具产生 Java 归档(JAR)文件中一些信息的控制台版本。在计划寻求 IBM 支持人员的帮助前,您可以使用收集程序摘要选项检索基本配置和必备软件级信息。
收集程序摘要选项产生 WebSphere Application Server 产品和操作系统的版本信息,以及其它的信息。它将信息存储在 Collector_Summary.txt 文件中,并将其写到控制台。您可以使用这些信息回答 IBM 技术支持人员的初始问题,或直接将 Collector_Summary.txt 文件发送至 IBM 技术支持人员。
运行 collector 命令创建 JAR 文件(如果 IBM Support 需要更多信息以解决您的问题)。
要运行收集器摘要选项,在 WebSphere Application Server 产品安装根目录以外的临时目录启动,并输入下列命令之一。
Linux 和基于 UNIX 的平台:
install_root/bin/collector.sh -Summary
Windows 平台:
install_root\bin\collector.bat -Summary
2.3 首个故障数据捕捉First Failure Data Capture (FFDC)
首个故障数据捕捉工具保存由处理故障生成的信息,并将控制权返回受影响的引擎。捕捉到的数据保存在日志文件中,以供分析问题时使用。
首个故障数据捕捉工具主要是由 IBM 技术支持人员使用。它作为 IBM WebSphere Application Server 的一部分运行,并且您无法启动或停止它。建议您不要尝试配置首个故障数据捕捉工具。如果您遇到了一些需要您与 IBM技术支持人员联系的情况,您的 IBM 服务代表将辅助您阅读和分析首个故障数据捕捉日志。
首个故障数据捕捉工具不影响 IBM WebSphere Application Server 的性能。在<was_home>/properties目录下,有三个文件属性文件用来控制FFDC的过滤功能:
ffdcStart.properties,用在当Server正在启动的时候
ffdcRun.properties, 用在当Server启动起来的时候
ffdcStop.properties, 用在当Server正在停止的时候
捕捉到的数据将会被自动的保存在<profile_home>/logs/ffdc目录下,以便我们分析问题的时候所用,也可以被Collector工具所收集。
2.4 转储名称空间中的内容
命名是将对资源(如连接池、enterprise bean 和消息侦听器等)的访问权发布和提供给客户机进程。如果当您访问在其它方面仿佛是健康的资源时发生问题,则可能涉及命名服务。要查找 WebSphere Application Server 命名服务的问题,请遵循以下的步骤:
1)浏览您正在尝试访问的资源的服务器的 JVM 日志。以 NMSV 开始的消息与命名服务相关。
2)在您尝试访问的资源的服务器上,从服务日志打开日志分析器,并使用它浏览错误和警告消息。
3)在 WebSphere Application Server 运行时,运行 dumpNameSpace 命令(对于 Windows 系统)或 dumpNameSpace.sh 命令(对于 UNIX 系统),并输送、重定向或"增加"输出,以便可容易地查看它。此命令导致显示 WebSphere Application Server 名称空间中的对象,包含目录路径和对象名。
dumpNameSpace 命令不转储分布式名称空间中的所有对象。它仅转储运行此命令的进程的本地名称空间中的对象。
您可以使用 dumpNameSpace 工具转储通过名称服务器访问的名称空间的内容。dumpNameSpace 工具是基于 Java 命名与目录接口(JNDI)。
您在运行 dumpNameSpace 工具时,命名服务必须是活动的。dumpNameSpace 工具无法将名称空间本地地转储到服务器进程,例如,具有 java: URL 方案和 local: URL 方案的那些名称空间。local: 名称空间包含对具有本地接口的 Enterprise bean 的引用。
您可以从命令行或使用它的程序界面运行该工具。
要从命令行运行该工具,在 WebSphere/AppServer/bin 目录上输入以下命令:
对于UNIX平台,运行 dumpNameSpace.sh
对于Windows平台,运行 dumpNameSpace
如果您在启用安全性的情况下运行 dumpNameSpace 工具,则会显示登录提示。如果取消登录提示,dumpNameSpace 工具将用"UNAUTHENTICATED"凭证继续运行。因此,缺省情况下,使用"UNAUTHENTICATED"凭证与使用"Everyone"访问授权策略是相同的。您可以通过将 /properties/sas.client.props 文件中的 com.ibm.CSI.performClientAuthenticationRequired 属性值更改为 true 修改此缺省设置。如果您将此属性更改为 true,则重新运行 dumpNameSpace 工具并取消登录提示;授权失败并且命令不会继续运行。
可以利用 dumpNameSpace -? 命令来查看dumpNameSpace工具的使用
2.4.1 示例:调用名称空间转储工具
这通常对于查看名称空间的转储以理解命名操作失败的原因有帮助。您可以从命令行或程序调用名称空间转储工具。下面是每个选项的示例。
从命令行调用名称空间转储工具
通过输入下列任一命令,从命令行调用名称空间转储工具:
dumpNameSpace -host myhost.mycompany.com -port 901
或:
dumpNameSpace -url corbaloc:iiop:myhost.mycompany.com:901
有若干可供选择的命令行选项。要获取选项的帮助,输入下列任一命令:
DumpNameSpace -help
或:
dumpNameSpace ?
2.4.2 从 Java 程序调用名称空间转储工具
您可以从具有 com.ibm.websphere.naming.DumpNameSpace API 的程序转储名称空间。参阅 WebSphere Application Server API 文档,以获取有关 DumpNameSpace 程序接口的详细信息。
下面的示例说明如何从 Java 程序调用名称空间转储工具:
{
...
import javax.naming.Context;
import javax.naming.InitialContext;
import com.ibm.websphere.naming.DumpNameSpace;
...
java.io.PrintStream filePrintStream = ...
Context ctx = new InitialContext();
// Starting context for dump
ctx = (Context) ctx.lookup("cell/nodes/node1/servers/server1");
DumpNameSpace dumpUtil =
new DumpNameSpace(filePrintStream, DumpNameSpace.SHORT);
dumpUtil.generateDump(ctx);
...
}
2.4.3名称空间转储样本输出
名称空间转储输出与以下示例相似,该示例的格式为 SHORT 转储格式:
Getting the initial context
Getting the starting context
==============================================================================
Name Space Dump
Provider URL: corbaloc:iiop:localhost:9810
Context factory: com.ibm.websphere.naming.WsnInitialContextFactory
Requested root context: cell
Starting context: (top)=outpostNetwork
Formatting rules: jndi
Time of dump: Mon Sep 16 18:35:03 CDT 2002
==============================================================================
==============================================================================
Beginning of Name Space Dump
==============================================================================
1 (top)
2 (top)/domain javax.naming.Context
2 Linked to context: outpostNetwork
3 (top)/cells javax.naming.Context
4 (top)/clusters javax.naming.Context
5 (top)/clusters/Cluster1 javax.naming.Context
6 (top)/cellname java.lang.String
7 (top)/cell javax.naming.Context
7 Linked to context: outpostNetwork
8 (top)/deploymentManager javax.naming.Context
8 Linked to URL: corbaloc::outpost:9809/NameServiceServerRoot
9 (top)/nodes javax.naming.Context
10 (top)/nodes/will2 javax.naming.Context
11 (top)/nodes/will2/persistent javax.naming.Context
12 (top)/nodes/will2/persistent/SomeObject SomeClass
13 (top)/nodes/will2/nodename java.lang.String
14 (top)/nodes/will2/domain javax.naming.Context
14 Linked to context: outpostNetwork
15 (top)/nodes/will2/cell javax.naming.Context
15 Linked to context: outpostNetwork
16 (top)/nodes/will2/servers javax.naming.Context
17 (top)/nodes/will2/servers/server1 javax.naming.Context
18 (top)/nodes/will2/servers/will2 javax.naming.Context
19 (top)/nodes/will2/servers/member2 javax.naming.Context
20 (top)/nodes/will2/node javax.naming.Context
20 Linked to context: outpostNetwork/nodes/will2
21 (top)/nodes/will2/nodeAgent javax.naming.Context
22 (top)/nodes/outpost javax.naming.Context
23 (top)/nodes/outpost/node javax.naming.Context
23 Linked to context: outpostNetwork/nodes/outpost
24 (top)/nodes/outpost/nodeAgent javax.naming.Context
24 Linked to URL: corbaloc::outpost:2809/NameServiceServerRoot
25 (top)/nodes/outpost/persistent javax.naming.Context
26 (top)/nodes/outpost/nodename java.lang.String
27 (top)/nodes/outpost/domain javax.naming.Context
27 Linked to context: outpostNetwork
28 (top)/nodes/outpost/servers javax.naming.Context
29 (top)/nodes/outpost/servers/server1 javax.naming.Context
30 (top)/nodes/outpost/servers/server1/url javax.naming.Context
31 (top)/nodes/outpost/servers/server1/url/CatalogDAOSQLURL
31 java.net.URL
32 (top)/nodes/outpost/servers/server1/mail javax.naming.Context
33 (top)/nodes/outpost/servers/server1/mail/PlantsByWebSphere
33 javax.mail.Session
34 (top)/nodes/outpost/servers/server1/TransactionFactory
34 com.ibm.ejs.jts.jts.ControlSet$LocalFactory
35 (top)/nodes/outpost/servers/server1/servername java.lang.String
36 (top)/nodes/outpost/servers/server1/WSsamples javax.naming.Context
37 (top)/nodes/outpost/servers/server1/WSsamples/TechSampDatasource
37 TechSamp
38 (top)/nodes/outpost/servers/server1/thisNode javax.naming.Context
38 Linked to context: outpostNetwork/nodes/outpost
39 (top)/nodes/outpost/servers/server1/cell javax.naming.Context
39 Linked to context: outpostNetwork
40 (top)/nodes/outpost/servers/server1/eis javax.naming.Context
41 (top)/nodes/outpost/servers/server1/eis/DefaultDatasource_CMP
41 Default_CF
42 (top)/nodes/outpost/servers/server1/eis/WSsamples javax.naming.Context
43 (top)/nodes/outpost/servers/server1/eis/WSsamples/TechSampDatasource_CMP
43 TechSamp_CF
44 (top)/nodes/outpost/servers/server1/eis/jdbc javax.naming.Context
45 (top)/nodes/outpost/servers/server1/eis/jdbc/PlantsByWebSphereDataSource_CMP
45 PLANTSDB_CF
46 (top)/nodes/outpost/servers/server1/eis/jdbc/petstore
46 javax.naming.Context
47 (top)/nodes/outpost/servers/server1/eis/jdbc/petstore/PetStoreDB_CMP
47 PetStore_CF
48 (top)/nodes/outpost/servers/server1/eis/jdbc/CatalogDB_CMP
48 Catalog_CF
49 (top)/nodes/outpost/servers/server1/jta javax.naming.Context
50 (top)/nodes/outpost/servers/server1/jta/usertransaction
50 java.lang.Object
51 (top)/nodes/outpost/servers/server1/DefaultDatasource
51 Default Datasource
52 (top)/nodes/outpost/servers/server1/jdbc javax.naming.Context
53 (top)/nodes/outpost/servers/server1/jdbc/CatalogDB CatalogDB
54 (top)/nodes/outpost/servers/server1/jdbc/petstore javax.naming.Context
55 (top)/nodes/outpost/servers/server1/jdbc/petstore/PetStoreDB
55 PetStoreDB
56 (top)/nodes/outpost/servers/server1/jdbc/PlantsByWebSphereDataSource
56 PLANTSDB
57 (top)/nodes/outpost/servers/outpost javax.naming.Context
57 Linked to URL: corbaloc::outpost:2809/NameServiceServerRoot
58 (top)/nodes/outpost/servers/member1 javax.naming.Context
59 (top)/nodes/outpost/cell javax.naming.Context
59 Linked to context: outpostNetwork
60 (top)/nodes/outpostManager javax.naming.Context
61 (top)/nodes/outpostManager/domain javax.naming.Context
61 Linked to context: outpostNetwork
62 (top)/nodes/outpostManager/cell javax.naming.Context
62 Linked to context: outpostNetwork
63 (top)/nodes/outpostManager/servers javax.naming.Context
64 (top)/nodes/outpostManager/servers/dmgr javax.naming.Context
64 Linked to URL: corbaloc::outpost:9809/NameServiceServerRoot
65 (top)/nodes/outpostManager/node javax.naming.Context
65 Linked to context: outpostNetwork/nodes/outpostManager
66 (top)/nodes/outpostManager/nodename java.lang.String
67 (top)/persistent javax.naming.Context
68 (top)/persistent/cell javax.naming.Context
68 Linked to context: outpostNetwork
69 (top)/legacyRoot javax.naming.Context
69 Linked to context: outpostNetwork/persistent
70 (top)/persistent/AnotherObject AnotherClass
==============================================================================
End of Name Space Dump
==============================================================================
2.5 IBM Support Assistant
IBM Support Assistant 是一个工具,它可帮助您使用 WebSphere Application Server 管理控制台中的各种 IBM Support 资源。 IBM Support Assistant 提供三个组件来帮助您解决软件方面的问题:
搜索组件,它帮助您访问多个位置的相关支持信息
支持链接组件,它提供访问各种 IBM Web 资源(如 IBM 产品站点、IBM 支持站点和到 IBM 新闻组的链接)的便利位置。
服务组件,它帮助您向 IBM 提交包括键控系统数据的增强服务请求。
要下载 IBM Support Assistant:
1. 登录到管理控制台并从顶部菜单选择支持。这会打开产品支持页面,从该页面您可以下载 IBM Support Assistant,还可访问各种 IBM Web 资源(如 IBM 产品站点、IBM 支持站点和到 IBM 新闻组的链接)。
2. 选择"单击此处以下载 IBM Support Assistant"下载此工具并按照自述文件中的指示信息安装此工具。
一旦在管理控制台中安装 IBM Support Assistant,您就可以通过从管理控制台中的顶部菜单选择"支持"来启动它。将在新浏览器窗口中显示 IBM Support Assistant 的搜索组件。
要了解关于如何使用 IBM Support Assistant 的更多信息,单击 IBM Support Assistant 窗口中的 User Guide 选项卡。
注: 管理控制台中的"支持"链接是上下文件相关的链接。当未安装 IBM Support Assistant 时,"支持"链接显示 到 IBM Support Assistant 下载页面和 WebSphere Application Server 产品的各种 IBM Web 资源的链接。一旦安装 IBM Support Assistant,"支持"链接就可以启动 IBM Support Assistant 主页面。
回页首
3. 故障诊断的其它相关资源
除了上面介绍的故障诊断的资源和工具外,还有几个基于 Web 的资源可用于研究和解决与 WebSphere Application Server 相关的问题。
3.1 WebSphere Application Server 支持页面
提供关于 WebSphere Application Server 问题的工具和共享知识的正式站点。在它提供的功能部件之间是:
搜索字段 - 用于搜索整个支持站点以获得与特定异常、错误消息或其他问题相关的文档和修正。直接联系 IBM Support 前使用此搜索功能。
提示和技巧、技术和解决方案链接带领您到由 WebSphere Application Server 技术支持人员制订的特定问题和解决方案。
链接所有修订、修订包、更新包和工具提供免费的 WebSphere Application Server 维护升级和问题确定工具。 o 修订是软件补丁,它处理特定的 WebSphere Application Server 缺陷。从所有修订、修订包、更新包和工具页面中的列表选择一个特定缺陷,您就会看到修订所针对的问题的描述。 o 修订包是多个修订的累积,一起经过测试并且发行以作为对 WebSphere Application Server 的维护升级。更新包是也包含新功能的修订包。如果您从此页面选择修订包,则会把您带到描述目标平台、WebSphere Application Server 先决条件级别和其他相关信息的页面 。选择该页面上的列出缺陷链接以显示修订包包括的修订列表。如果您要安装作为修订包一部分的修订,则通常最好升级到完整的修订包而不只是安装个别的修订。 o 工具是免费的程序,帮助您分析您的 WebSphere Application Server 安装的配置、行为和性能。
3.2 访问 WebSphere Application Server 支持页面资源
WebSphere Application Server 支持页面上的某些资源用钥匙图标标记。要访问这些资源,必须提供用户标识 和密码,或者,如果尚没有识别,则进行注册。注册时,会向您要求合同号,它是作为 WebSphere Application Server 购买的部件而提供的。
3.3 developerWorks WebSphere 专区
developerWorks WebSphere 专区是 IBM 支持的站点,用于使开发者能够了解有关 IBM 软件产品及如何使用它们。 它们包含资源,如文章、教程和到新闻组与用户组的链接。您可以访问 WebSphere 开发者园地。
3.4 IBM Support 页面
IBM Support 拥有的文档可节省您收集解决此问题所需信息的时间。在打开 PMR 前,请参阅 IBM Support 页 面。
回页首
总结
WebSphere Application Server 包括设计来帮助您隔离问题源的许多故障诊断工具。这篇文章提供了如何对 WebSphere Application Server 问题进行故障诊断的相关工具和一些资源的介绍.
关于作者
何利兵,CA中国技术中心(CTC)的软件测试工程师,DB2认证专家,我所感兴趣的技术领域包括WebSphere,数据库管理系统,软件测试技术, 存储备份领域。您可以通过 Libing.He@ca.com 和我联系。
发表评论
-
Tuxedo
2009-01-12 12:01 1616Tuxedo是一个客户机/服务 ... -
使用JMS实现MQ消息处理
2008-12-23 10:52 6752MQ针对Java语言提供了两种接口来实现消息的发送和接收,这两 ... -
WebLogic JMS特性
2008-12-19 09:49 2604[编辑本段]定义 JMS ... -
分析 Tomcat catalina.bat 脚本
2008-12-05 12:20 1210Catalina.bat是tomcat所有脚本中最重要的脚本, ... -
Tomcat5.5数据源的配置
2008-12-04 15:36 1483关于tomcat数据源的配置网上有很多相关的资料,由于之前一直 ... -
Tomcat Class Loader HOW-TO
2008-11-28 10:57 1196当Tomcat5启动以后,它创 ... -
tomcat加载类的顺序
2008-11-28 10:53 1368/bin:存放启动和关闭tomcat的脚本文件; /conf ... -
Debug 提示【Tomcat】
2008-11-28 10:27 128701.05 2008 emmet Tags: jar, to ...
相关推荐
内容概要:本文详细介绍了永磁同步电机(PMSM)的三矢量模型预测电流控制(TV-MPC)技术。首先阐述了传统的FOC控制方式及其局限性,接着深入探讨了TV-MPC的工作原理,包括PI控制、价值函数优化、电压矢量合成等关键技术环节。文中还展示了具体的MATLAB代码实现细节,如速度环PI控制器的设计、电压矢量作用时间的计算、备选电压矢量的选择以及价值函数的构建。此外,通过仿真实验验证了TV-MPC相比传统方法的优势,尤其是在面对参数变化和外部扰动时表现出更好的稳定性和鲁棒性。最后提醒使用者注意仿真模型的具体配置事项。 适合人群:对永磁同步电机控制系统感兴趣的电气工程专业学生、研究人员和技术开发者。 使用场景及目标:适用于希望深入了解现代电机控制理论的研究人员,特别是那些想要掌握最新模型预测控制技术的人群。目标是在学术研究或工业实践中提高电机控制系统的性能。 其他说明:附有详细的MATLAB代码示例和仿真模型,便于读者动手实践。同时提供了针对仿真过程中可能出现的问题的解决方案。
毕业设计-仿金蝶云ERP进销存V8网络多仓版源码-整站商业源码.zip
内容概要:本文介绍了利用PFC5.0(Particle Flow Code 5.0)进行预制裂隙含锚杆试样单轴压缩特性的研究。PFC5.0是一种广泛应用的离散元方法(DEM)软件,主要用于模拟岩土材料的动态响应和微观力学行为。文中详细讲解了如何在PFC5.0中建立含预制裂隙和锚杆的试样模型,包括裂隙和锚杆的具体设定、试样颗粒的配置,以及单轴压缩测试的实施步骤。通过对模拟结果的数据分析,可以深入了解预制裂隙和锚杆对试样力学行为的影响,从而为地质构造研究和地下工程设计提供重要依据。 适合人群:从事岩土工程、地质学及相关领域的研究人员和技术人员。 使用场景及目标:适用于需要评估地质结构稳定性和安全性的项目,旨在提高地下工程的设计合理性。 其他说明:本文不仅展示了具体的建模和实验流程,还强调了数据分析的重要性,帮助读者全面掌握PFC5.0的应用技巧。
identity 身份认证 购VIP最低享 7 折! triangle vip 30元优惠券将在 04:24:36 后过期 去使用 triangle 数据可视化是将复杂的数据集通过图表、图像等视觉元素进行呈现,以便于人们更容易地理解和解读数据。在“数据可视化期末课设~学生成绩可视化分析.zip”这个压缩包中,我们可以看到一系列与数据可视化相关的资源,包括Jupyter代码、HTML图片、答辩PPT以及Word文档,这些内容涵盖了数据可视化的基础到高级应用,适合于完成一个全面的期末课程设计项目。 Jupyter代码是使用Python编程语言进行数据处理和可视化的主要工具。在这个项目中,学生可能使用了pandas库来加载和清洗数据,可能涉及到的数据处理步骤包括去除重复值、处理缺失值以及数据类型转换等。接着,他们可能使用matplotlib或seaborn库来创建各种图表,如直方图、散点图、箱线图等,以展示学生成绩的分布、对比和趋势。此外,更高级的可视化库如plotly或bokeh可能也被用来实现交互式图表,增加用户对数据的理解深度。 保存的HTML图片是Jupyter Notebook的输出结果,它展示了代码运行后的可视化效果。这些图片可以直观地揭示学生成绩的统计特征,例如平均分、标准差、最高分和最低分等。通过颜色编码或者图例,我们可以识别出不同科目或者不同班级的表现,帮助分析教学质量和学生学习情况。 答辩PPT则可能包含项目的概述、目的、方法、结果和结论。在PPT中,学生可能会详细阐述他们选择特定可视化方法的理由,如何解读图表,以及从数据中得出的洞察。此外,PPT的制作也是展示其表达和沟通能力的重要部分,要求清晰、有逻辑地组织信息。 Word文档可能是项目报告,详细记录了整个过程,包括数据来源、预处理步骤、使用的可视化技术、分析结果以及可能遇到的问题和解决方案。报告中的数据分析部分会详细解释图表背后的含义,例如通过对比不同学科的分数分布,找出哪些科目可能存在困难,或者分析成绩与特定因素(如性别、年级等)的关系。 这个压缩包提供了完整的数据可视化项目实例,涉及了数据获取、处理、可视化和解释的一系列步骤,对于学习和掌握数据可视化技能非常有价值。通过这样的练习,学生不仅能够提高编程技巧,还能培养数据驱动思维和问题解决能力,为未来从事数据分析或相关领域的工作打下坚实的基础。
内容概要:本文详细介绍了利用COMSOL软件建立冻土路基水热力(温度、水分、应力)三场耦合模型的方法和技术要点。首先,通过自定义PDE接口将传热方程和水分迁移方程进行耦合,重点处理了冻土相变潜热这一关键因素。其次,针对实际工程应用,设置了动态边界条件以模拟真实的昼夜温差变化。此外,还讨论了材料参数的选择,特别是非线性导热系数的设定方法。为了提高求解效率和稳定性,文中提出了多种优化措施,如引入阻尼因子抑制数值振荡以及采用参数扫描寻找最佳初始值等。 适合人群:从事寒区工程研究的专业人士,尤其是需要掌握复杂物理场耦合建模技能的研究人员和技术人员。 使用场景及目标:适用于需要精确模拟冻土路基在不同环境条件下行为特征的研究项目,旨在为冻土地区基础设施建设提供理论支持和技术指导。 阅读建议:由于涉及大量数学公式和专业术语,建议读者具备一定的物理学基础知识和有限元分析经验。同时,可以结合具体案例深入理解各部分设置的意义及其背后的物理机制。
毕业设计-外卖餐饮系统 7.3.1-整站商业源码.zip
这是一个高分设计项目,评审得分为98分。该项目是基于JavaWeb的学生成绩管理系统,经过导师指导并被认可通过。它适合计算机相关专业的学生作为大作业或课程设计使用,也适用于需要实战练习的学习者。。内容来源于网络分享,如有侵权请联系我删除。
计算机系统配置文件1111
这个课件是我本人上过,并且完全自创的项目,项目非常有意思 需要老师自己找一个控制器进行wedo的搭建,通过倾斜传感器控制,这个课程比较简单,但这个课程主要重心会放在编程上面 学生们玩的很开心,但要注意的是,这个需要一些基础,老师可以自行修改 有待完成版和完成版,还有自制精美课件
毕业设计-万能门店小程序V7.4.7带全部10个插件-整站商业源码.zip
内容概要:本文详细介绍了如何在MATLAB中实现最小二乘递推算法,用于生成M序列并进行参数估计和误差分析。首先,文章解释了最小二乘估计递推算法的基本原理及其优势,如处理速度快和实时更新数据的能力。接着,展示了如何用MATLAB生成M序列的具体方法,包括初始化和递推生成过程。随后,讨论了如何使用lsqcurvefit函数对M序列数据进行参数辨识,并提供了详细的代码示例。最后,介绍了如何计算估计误差,以便评估参数估计的准确性。 适合人群:具有一定MATLAB编程基础和技术背景的研究人员、工程师以及学生。 使用场景及目标:适用于需要处理大量数据并进行参数估计和误差分析的场合,如信号处理、通信系统等领域。通过学习本文,读者可以掌握最小二乘递推算法的应用技巧,提高数据处理效率。 其他说明:文中提供的代码已经过测试,可以直接运行。此外,文章还探讨了该算法在未来可能的应用和发展方向。
钢琴7键程序代码2.zip
用Python将 PDF 中的表格提取为 Excel/CSV
内容概要:本文详细介绍了四旋翼无人机在Simulink环境下利用MPC(模型预测控制)进行轨迹跟踪的技术实现方法。首先构建了一个简化的非线性动力学模型,用于表示四旋翼的姿态和位置变化。接着配置了MPC控制器的关键参数,如预测时域、控制时域以及权重矩阵,确保姿态与位置控制之间的良好耦合。文中还展示了如何生成三维螺旋线作为参考轨迹,并讨论了常见的调试技巧和优化手段,比如在线调整MPC参数来提高轨迹突变情况下的跟踪性能。最后强调了通过3D轨迹对比图评估仿真效果的重要性。 适合人群:从事无人机研究、开发的相关技术人员,尤其是对飞行器控制理论有一定了解并希望深入掌握Simulink仿真工具的应用者。 使用场景及目标:适用于需要在实验室环境中对四旋翼无人机控制系统进行前期测试和验证的研究人员。主要目的是通过仿真环境提前发现问题,减少实际飞行试验的风险和成本。 其他说明:文中提供的代码片段和调试建议可以帮助读者更好地理解和应用MPC技术于四旋翼无人机的轨迹跟踪任务中。同时提醒读者注意参数选择对于系统稳定性的影响,在实践中不断优化模型以达到最佳控制效果。
内容概要:本文详细介绍了三电平逆变器SVPWM+PI控制与负载永磁同步电机(PMSM)的Matlab/Simulink仿真方法。首先,文章阐述了三电平逆变器及其在电机驱动和控制系统中的优势,随后分别建立了三电平逆变器、永磁同步电机和SVPWM与PI控制算法的模型。通过设置不同输入信号和负载条件,进行了仿真实验,重点分析了系统的动态响应、稳态性能、谐波性能和开关损耗等关键指标。最后得出结论,指出通过优化控制参数和系统结构,能够显著提升系统的性能,为实际应用提供了理论支持和技术指导。 适合人群:从事电力电子技术、电机控制领域的研究人员和工程师,特别是对三电平逆变器和永磁同步电机感兴趣的读者。 使用场景及目标:适用于希望深入了解三电平逆变器SVPWM+PI控制机制及其对永磁同步电机性能影响的专业人士。目标是掌握仿真工具的使用技巧,理解系统的工作原理,进而优化实际工程中的设计方案。 其他说明:文中提供的仿真案例基于Matlab/Simulink平台,要求使用2018a及以上版本。
内容概要:本文探讨了永磁同步电机(PMSM)在SVPWM(空间矢量脉宽调制)算法控制下的故障诊断与容错控制策略。首先介绍了SVPWM算法的基本原理及其优势,然后详细描述了如何在Simulink中构建SVPWM算法的仿真模型,包括电压空间矢量的生成、作用时间的计算和PWM信号的生成。接着讨论了故障诊断的重要性,提出了几种常见的故障诊断方法,如通过监测电流、电压的变化来判断故障的存在。最后,阐述了容错控制策略的应用,展示了不同容错控制策略对系统性能的影响,并通过仿真结果进行了详细的分析。 适合人群:从事电力电子、自动化控制领域的研究人员和技术人员,特别是对永磁同步电机控制感兴趣的读者。 使用场景及目标:适用于希望深入了解PMSM SVPWM控制机制的研究人员,以及需要解决实际工程中电机故障诊断和容错控制问题的工程师。 其他说明:本文通过Simulink仿真模型,直观展示了SVPWM算法的工作流程和故障处理方法,有助于提升对PMSM控制系统的设计和优化能力。
基于瞬时频率的 Duffing 振子相变判别新方法.zip
内容概要:本文为运放新手提供了一套完整的入门指南,涵盖从环境配置到后仿真的所有步骤。首先介绍了如何配置初始环境并添加工艺库,接着详细讲解了绘制电路原理图的方法及其相关工具的使用,如生成symbol和搭建testbench。随后,文章深入探讨了前仿真的具体操作,包括添加输出公式表达式和解读仿真波形。再者,针对版图设计部分,逐步教授了布局、连线及通过DRC/LVS规则检查的方法。最后,阐述了后仿真的流程,特别是寄生参数的提取与配置。文中还提供了详细的GPDK45nm工艺下二级弥勒补偿运放的实际案例作为示例。 适合人群:刚接触运放设计的新手工程师和技术爱好者。 使用场景及目标:帮助读者掌握运放设计的基本技能,能够独立完成从环境配置到最终仿真的全过程,特别适用于希望深入了解GPDK45nm工艺特性的用户。 其他说明:文章不仅包含了理论知识,还有大量实际操作指导,确保读者可以边学边练,快速上手。
实验目的: ①理解存储器的功能 ②掌握运用Proteus软件设计ROM和RAM的方法 ③掌握存储器地址空间映射的原理 ④完成指定字长的存储器电路及ROM和RAM的数据读写操作 实验设备: TD-CMA实验箱 Proteus仿真软件 实验内容(附实验原理图): (1)实验箱内容: 静态存储器由一片6116 (2K*8bit)构成,6116有三个控制线:CS片选线,OE读线、WE写线,当片选有效(CS=0)是,OE=0进行读操作,WE=0进行写操作;本实验中CS常接地。 存储器数据线连接至数据总线,数据总线上接有8个LED灯,用于显示D7......D0的内容;存储器的地址线接至地址总线,地址总线上接有8个LED灯,用于显示A7......A0的内容; 必读: 文件为两protues文件的压缩
毕业设计-PHP微信抽奖系统源码-整站商业源码.zip