def generate_Dump_File(type_name, server_name):
#print 'Server Name:'+ server_name
server = '/Server:'+ server_name
# Set the Node ID
serverID = AdminConfig.getid(server)
#print 'Server ID:' + serverID
if serverID == "" :
print "Server Name you have entered does not exist"
else :
jvm = AdminControl.queryNames('type='+type_name+',process='+server_name+',*')
print "####################################"
print "Generating Heap Dump..................n"
AdminControl.invoke(jvm, 'generateHeapDump')
print "Generating Java Core Dump..................n"
AdminControl.invoke(jvm, 'dumpThreads')
print "Generating System Core Dump..................n"
AdminControl.invoke(jvm, 'generateSystemDump')
generate_Dump_File(type_name, server_name)
这是我在WAS中执行的代码/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/
我正在执行此脚本的上述路径但是我需要每 120 秒执行一次这些脚本,在脚本上方我从用户那里获得输入。在 cron 选项卡中是不可能的。.
在对服务器 ID 进行一次性查找后,可以在脚本中循环。
import time
while true:
time.sleep(120)
... existing code...
我添加了下面的代码,每 120 秒执行一次 jython 脚本,以在 IBM Websphere 中生成转储
def print_time( threadName, delay):
while 1:
time.sleep(delay)
print "%s: %s" % ( threadName, time.ctime(time.time()) )
execute code here
try:
thread.start_new_thread( print_time, ("Thread", 120, ) )
except:
print "Error: unable to start thread"
while 1:
pass
上面的代码对我来说很好用。.